Tamper-evident audit log demo

Verify a sample audit chain yourself

Our core claim is that agent audit evidence should be independently verifiable — by you, not by our word. Most audit logs answer one question: valid, yes or no? Ours names the crime: tampering, insertion, deletion, or truncation — each a distinct, reportable verdict. No signup, no sales call.

Five verification verdicts A single verify_chain call resolves to one of five verdicts: VALID, or one of four named failures — TAMPERING (row content no longer matches its hash), INSERTION (sequence contiguity broken), DELETION (a gap or missing checkpoint), or TRUNCATION (an unsigned tail). Built on a SHA-256 hash chain with Ed25519-signed checkpoints, re-verifiable by anyone. VERIFICATION NAMES THE CRIME verify_chain() → one of five verdicts VALID every row hash links; every checkpoint signature verifies TAMPERING a row’s content no longer matches its recorded hash INSERTION sequence contiguity broken by an added row DELETION a gap in the sequence, or a missing checkpoint TRUNCATION an unsigned tail where the chain simply stops SHA-256 hash chain · Ed25519-signed checkpoints · re-verify it yourself

Want to break it yourself?

The interactive sabotage demo — tamper, insert, delete, or truncate a live hash chain in your browser and watch verification name the crime in real time — lives in the Demo Center, alongside break-glass, billing-verification, key-rotation, and agent-drift demos. Entry is a quick work email and a mutual NDA — you get a secure magic link in seconds.

Enter the Demo Center →

What verification sees

How hash chain verification works

Every audit entry carries a SHA-256 hash of its own content plus the previous entry's hash — alter any row and every hash after it breaks. Three properties make the log tamper-evident, not merely tamper-resistant:

Hash-linked rows

Each entry commits to the one before it. A single edited field invalidates every downstream hash — you cannot quietly rewrite history.

Signed checkpoints

At intervals an Ed25519-signed checkpoint seals the chain state, and checkpoints are themselves chained — so a deleted checkpoint is detectable, never silent.

Fails closed

Rotation is kid-keyed: a checkpoint signed by an unknown key is a verification failure, not a warning. No key, no trust.

Why this matters for EU AI Act Article 12 and HIPAA

A log an administrator can silently edit has no evidentiary weight. This chain is designed to map to the obligations that put you on the hook — what you retain is a structure a regulator, or you, can re-verify at any time. And one property matters most in regulated deployments: GDPR erasure doesn't break it — actor identities are HMAC-committed, so crypto-shredding a data subject removes re-identification while every hash still links.

EU AI Act — Art. 12

Lifetime event logging for high-risk AI systems.

EU AI Act — Art. 26

Deployers retain logs at least six months — the obligation is yours, not your model vendor's.

HIPAA — §164.312(b)

Audit controls over ePHI access — and AI agents touching ePHI are inside that requirement.

Erasure destroys the key, not the evidence

The question every SIEM fails: how does GDPR Article 17 erasure interact with an immutable log? Crypto-shred resolves the tension — destroy the per-subject key and raw values become unrecoverable, while HMAC-committed actor identities keep every hash linking.

The verification report, verbatim

The audit_verify_chain operation returns a structured report — the same schema whether we run it or you do. For a walkthrough against your own deployment, ask the quoting agent.

FieldWhat it returns
statusVALID, or the failure classification
entriesChecked · checkpointsCheckedcoverage counts
firstBrokenSeqwhere integrity fails, if it does
gapClassificationtampering vs. insertion vs. deletion vs. truncation
unsignedTailentries after the last checkpoint — a truncation window, reported honestly
attestedDamagepreviously acknowledged damage (ISO 27001 register) that can never mask fresh tampering

Want this chain under your agents?

Get an instant quote

You've seen the proof

Ready for a number? Scope your deployment and we'll price it against your own economics.

Get your quote →