Audit Trails

An append-only, cryptographically chained record of every evaluation — tamper-evident by design.

What gets logged

Each evaluation writes one audit record containing the verdict, overall score, per-pillar scores, flags, the policy version applied, the acting identity, a timestamp, and a request id. Raw prompts/responses and PII are not stored — only the metadata needed to explain the decision.

The hash chain

Records are chained per tenant. Every record stores the hash of the previous record plus its own content hash and a sequence number:

Chain
record_hash(n) = H( prev_hash(n-1) + action_type + entity + user + request_id + created_at + metadata )

Because each link depends on the one before it, the whole history is verifiable from the genesis record forward.

Tamper-evidence

There is deliberately no delete endpoint. A database trigger blocks UPDATE and DELETE on audit records even at the SQL level. Any attempt to alter history breaks the chain and is immediately detectable by the chain-health check.

The dashboard surfaces a continuous chain-health indicator; an auditor can independently re-compute the chain to confirm integrity.

Querying & export

Filter audit trails by verdict, action type, date, and request id in the dashboard, or export to CSV for your SIEM/GRC tooling. Look up any record by the request_id returned from an evaluation.

AI Risk Thesis

For any record you can generate an AI Risk Thesis — a forensic, plain-language analysis of why the evaluation resolved the way it did, which pillar drove the risk, and recommended actions. See PDF Reports.

Was this page helpful?