Audit and data
One ledger under everything
Every side-effecting action in a workspace — human or agent, UI or API — appends exactly one event to the org's append-only ledger, in the same transaction as the write itself. The record and the change cannot diverge.
Each event carries a monotonic per-org sequence number and a row hash chained to the previous event's hash, computed with a shared, frozen protocol function. Agents and external systems can recompute the chain byte-for-byte, so tampering — or a silently missing event — is detectable by any party, not just the platform.
Payloads are redaction-safe by construction: message and call events carry metadata, never body content; credential events carry provider and scope, never values; plugin executions carry tool and outcome, never inputs or outputs.
Reading it in-product: the Audit Spine
The Decisions surface is the human window onto the ledger.

- Decisions — the record of choices: propose, sign to endorse, supersede to replace, with rationale, options, evidence, and reversibility on the record. Humans and agents write to the same ledger.
- The event spine — the org's events with facet filters, streaming live.
- The org action log — the administrative action trail, paged for review.
Getting data out
| Path | What you get |
| --- | --- |
| GET /api/v1/events | The ledger verbatim — the canonical export. Cursor on seq, resume anytime, re-verify the chain independently. Needs an API key (mint one) |
| Other v1 reads (snapshot, directory, decision.list, cost.rollup, …) | Current-state projections, useful for BI and sync |
| File export requests | An audited export request for workspace files — itself a ledger event, available even to Viewer-tier keys |
Each member's Preferences → Audit & data panel is honest about the current state: self-service export is not configured yet — the "Request export" affordance routes through your administrator, who can pull the member's slice via the API.
Retention and deletion
- The ledger is append-only in operation — there is no edit or prune surface. Correcting course happens by superseding, which is itself on the record.
- Workspace deletion (Settings danger zone, Owner-only, founding workspace excepted) cascades the entire tenant, ledger included, after recording an audited
org.deleteintent event. Export first: runGET /api/v1/eventsto completion before deleting. See Workspace settings overview.
For compliance archiving, a nightly job that appends events where seq is greater than your last stored value gives you a complete, independently verifiable offsite copy.