Skip to content
Open Console

Audit and evidence

2 min readUpdated

Every governed action on Tanomis leaves a record. This guide shows where to read it and what each record can and cannot prove.

Owners and admins can read the organization’s trail from the Console or the CLI:

Terminal
tanomis org audit
tanomis org audit --limit 200
tanomis org audit --cursor "$NEXT_CURSOR"

Entries include membership and grant changes, invitations, enablement changes such as a rollout or a disable, approval decisions, and delegation decisions. Each entry names the principal, the tenant where relevant, the action, and the decision. Content such as prompts or tool payloads is never in the trail; where content matters to a decision, the entry references it by hash.

The trail is append-only, hash-chained, and signed per tenant. A valid chain demonstrates that the record has not been altered or truncated since it was written. It is privacy-by-reference: an auditor can verify that a decision was made about specific content without the ledger holding that content.

The run resource is the authoritative status of one unit of work, and its events can be replayed by id at any time while history is retained:

Terminal
tanomis session get "$SESSION_ID"
curl "$TANOMIS_API/v1/sessions/$SESSION_ID/runs/$RUN_ID/events" \
-H "Authorization: Bearer $TANOMIS_TOKEN" \
-H "X-Organization-ID: $TANOMIS_ORG" \
-H "X-Workspace-Tenant-ID: $TANOMIS_WORKSPACE" \
-H "Accept: text/event-stream" \
-H "Last-Event-ID: 0"

Replay starts after the id you give, so Last-Event-ID: 0 reads a run from the beginning. Use the run’s terminal event and status together: a stream can end without a terminal frame, and the run resource is what decides.

Each run emits one execution trace: model calls, tool calls, timing, and content captured at the level the tenant’s capture policy allows (a reference, a redacted copy, or full content with approval). The trace shares the run and session ids with the audit trail, so a decision in the trail can be matched to the execution it was made about.

Trace access is tenant-scoped and gated by the tenant’s policy at read time. Ask your administrator which capture level your tenant runs and where its traces are served.