Provenance Chains
Hematite attaches Ed25519 signatures to every state change — session create, task route, content publish — forming an unbroken chain from origin to current state. Tamper-evident by design.
The Provenance Model
Every event in Hematite is recorded as a signed entry in the provenance ledger:
{
"event_id": "evt_abc123",
"timestamp": "2026-11-03T19:00:00Z",
"actor": "agent-general-01",
"action": "session.create",
"target": "sess_a1b2c3d4e5f6",
"signature": "ed25519:7a8b9c...",
"previous_hash": "sha256:def456..."
}
The previous_hash field links each entry to its predecessor, creating a cryptographic chain. Any modification to a past event invalidates all subsequent signatures.
Domain-Specific Provenance
Each AIMCIS domain defines additional provenance fields relevant to its assurance criteria:
| IDNT | Agent DID, self-certified claims, registry verification status |
| PRVN | Full Ed25519 chain, origin attribution, transformation log |
| CNSN | Consent tokens, redaction markers, usage rights propagation |
| TRNS | Commitment hashes, non-repudiation signatures, value transfer records |
| ... and 8 more domains | Domain-specific provenance fields defined in AIMCIS profiles |
Verifying a Chain
To verify the integrity of any session's provenance chain:
# Retrieve the full chain for a session
curl https://myorg.hematite.io/api/v1/sessions/sess_abc/provenance \
-H "Authorization: Bearer $TOKEN"
# Verify signatures in the chain
hematite verify provenance --chain provenance.json
The verification tool checks each Ed25519 signature against the actor's registered DID and confirms the hash chain is unbroken.
Cross-Agent Hop Propagation
When a task is handed off between agents, the provenance chain extends automatically:
// Agent A processes prompt, hands off to Agent B
{
"event_id": "evt_handoff_01",
"action": "task.handoff",
"from_agent": "agent-general-01",
"to_agent": "agent-crtv-specialist",
"context_snapshot": "...",
"signature": "ed25519:..."
}
The receiving agent inherits the full chain and appends its own actions, maintaining continuity.
Key principle: Trust is not claimed. It is signed, traced, and enforced at every link.