The audit chain
The Nebbos audit chain is a hash-chained, append-only record of every substrate operation. Every read, every write, and every tier decision is committed as an entry in the chain. External auditors verify the chain end-to-end from the exported bundle without vendor mediation.
Scope of the chain
The chain records every request, response, refusal, tier decision, authentication ceremony, and policy consultation executed by the substrate. No substrate interaction is exempt from chain recording; alternative code paths that would omit chain writes are not implemented.
The chain is append-only by construction. No update, delete, or re-sign path is exposed. Where a prior entry requires additional context, a subsequent entry references it.
Entry structure
| Field | Definition |
|---|---|
event_id | Monotonic per-deployment identifier corresponding to the entry’s position in the chain. |
prev_hash | Hash of the preceding entry. Modification of a prior entry orphans every subsequent entry. |
operator_id | The identity that initiated the operation, resolved through the workspace identity plane. Non-nullable. |
delegator_id | For operations above Guest tier, the human on whose authority the operation was executed. |
tier | Guest, Host, or Architect. Recorded regardless of operation outcome. |
tool | The MCP tool name or REST endpoint path invoked. |
input_hash | SHA-256 hash over the canonicalized input payload. |
output_hash | SHA-256 hash over the canonicalized response payload. |
outcome | allowed, refused, or error. A refusal is a distinct recorded outcome. |
policy_id | The substrate policy consulted for the decision. For refusals, the specific rule that produced the refusal. |
ts | Nanosecond timestamp from the substrate clock. |
next_hash | Hash of the current entry; becomes prev_hash on the subsequent entry. |
Verification path
Three MCP tools provide chain access:
audit_event_list— paged read of chain entries.audit_event_get— retrieves a single entry with hash context.audit_event_hash_chain_verify— walks a specified chain segment and returns a signed verification receipt.
Compliance officers verify chain integrity via audit_event_hash_chain_verify. The returned receipt permits independent verification without requiring the officer to hold the complete log or to trust the API. Verification is a substrate-issued cryptographic signature over the walked segment.
Refer to the MCP reference for tier requirements on the three tools.
Immutability guarantees
The chain does not expose deletion, rewrite, re-signing, or skip paths. These operations are architecturally absent — no endpoint, administration console, or engineering channel implements them. Chain contents from the moment of write are the durable record.
The audit chain is the mechanism that makes Nebbos platform operations verifiable to regulators without vendor participation. See Portability & export for the export path that transfers the chain to the operator on their own timeline.