← All Event Families

foundation.protocols.data.*

Consent-gated data sharing for Ostrom-governed commons. Data never leaves a room without an explicit consent event. Consent is revocable at any time.

4
Events
3
Timeline
1
State

Consent Lifecycle

The core design principle: data never leaves a room without explicit, revocable consent.

Data Owner sets consent scope foundation.protocols.data.consent (state event) Consent Bot verifies all rooms before any extraction Non-consented data EXCLUDED automatically from AI training and analysis Data Owner may withdraw at any time foundation.protocols.data.withdrawal Withdrawal cascades: removed from training sets, vector stores, and active sessions

Events

Timeline Event

foundation.protocols.data.contribution

Records a dataset contribution to a data commons room. The contribution event links the dataset to its owner and declares the initial consent scope.

FieldTypeDescription
dataset_idstringUnique identifier for the dataset
ownerstringMatrix user ID of the data owner
consentstringInitial consent scope shorthand
Values: analysis, ai, analysis+ai, restricted
descriptionstringHuman-readable description of the dataset
schema_refstringReference to data schema (optional)
size_bytesintegerDataset size in bytes (optional)
mxc_uristringMatrix content URI if uploaded as attachment (optional)

Example

{
  "type": "foundation.protocols.data.contribution",
  "content": {
    "dataset_id": "D2",
    "owner": "@orgA:averdine.net",
    "consent": "analysis+ai",
    "description": "Organic coffee farm production data Q1 2026",
    "schema_ref": "schemas/farm_production_v2",
    "size_bytes": 245760
  }
}
Timeline Event

foundation.protocols.data.withdrawal

Records a data withdrawal or redaction request. Withdrawal cascades to all downstream consumers: training sets, vector stores, active sessions, and cached results.

FieldTypeDescription
dataset_idstringDataset being withdrawn
reasonstringReason for withdrawal
Values: policy_change, consent_revoked, data_error, gdpr_request, organizational
effectivestringISO 8601 date when withdrawal takes effect
cascadebooleanWhether to cascade removal to derived datasets (default: true)

Example

{
  "type": "foundation.protocols.data.withdrawal",
  "content": {
    "dataset_id": "D4",
    "reason": "policy_change",
    "effective": "2026-04-01",
    "cascade": true
  }
}
Timeline Event

foundation.protocols.data.quality

Quality assessment score for a contributed dataset. Data curators (power level 50+) can submit quality scores that inform AI training priorities and data catalogue ranking.

FieldTypeDescription
dataset_idstringDataset being assessed
scorenumberQuality score from 0.0 to 1.0
assessorstringMatrix user ID of the assessor
dimensionsobjectPer-dimension scores (optional)
commentstringAssessor notes (optional)

Example

{
  "type": "foundation.protocols.data.quality",
  "content": {
    "dataset_id": "D2",
    "score": 0.87,
    "assessor": "@curator:averdine.net",
    "dimensions": {
      "completeness": 0.92,
      "accuracy": 0.85,
      "timeliness": 0.84
    },
    "comment": "Good coverage, some GPS coordinates missing for 3 plots"
  }
}

Governance Roles

Data commons rooms use Matrix power levels to enforce Ostrom-governed roles.

RolePower LevelResponsibilities
Commons Admin100Full control; charter changes; emergency actions
Council Member90Governance proposals; vote on amendments
Sector Steward75Manage sector space; approve rooms; set policies
AI Operator75Training requests; model publication; PAI Gateway config
Data Curator50Quality scoring; metadata; schema enforcement
Data Contributor50Contribute data; set consent scopes
Member10View data; participate; vote
Observer0Read-only access

Related Event Families

FamilyRelationship
ai.* ai.data_boundary state event enforces which data types may be sent to AI. ai.policy references consent requirements.
eudr.* EUDR chain-of-custody events operate on data-commons rooms. Plot and harvest data requires data.consent before cross-border sharing.