Tamper-evident audit log demo

Verify a sample audit chain yourself

Verify an AI audit chain in your browser, right here. Our core claim: you should check agent audit proof yourself. Don't just take our word for it. Most audit logs answer one question. Valid, yes or no? Ours names the crime: tampering, insertion, deletion, or truncation. Each one is a distinct verdict. You can report it. No signup, no sales call.

Verify an AI audit chain, then try to break it

The interactive sabotage demo lives in the Demo Center. Tamper, insert, delete, or truncate a chain. Do it live, in your browser. Watch the check name the crime as it happens. The same place holds the break-glass, billing-verification, key-rotation, and agent-drift demos. Entry takes a work email and a mutual NDA. You get a secure magic link in seconds.

Enter the Demo Center →

What verification sees

Verification distinguishes four failure classes An audit chain of eight entries with injected faults: a tampered row, a deleted entry, and a truncated tail. Verification classifies each fault precisely instead of returning a bare pass or fail. seq 1 seq 2 seq 3 seq 4 seq 5 seq 6 seq 7 seq 8 Ed25519 checkpoint Ed25519 checkpoint tampered row content ≠ hash deleted entry link broken truncated tail entries missing VERDICT VALID → seq 1..3 TAMPERING @ seq 4 DELETION @ seq 6 TRUNCATION after seq 7 verification distinguishes tampering · insertion · deletion · truncation

This check sorts damage by kind, not a yes or no. Each kind gets its own verdict. You can report it.

How hash chain verification works

Every audit entry carries a SHA-256 hash. That hash covers its own content. It also carries the hash of the entry before it. Alter any row and every hash after it breaks. Three properties make the log tamper-evident, not just tamper-resistant:

Hash-linked rows

Each entry commits to the one before it. Edit a single field. Every hash after it turns invalid. You cannot rewrite history quietly.

Signed checkpoints

Every so often, an Ed25519-signed checkpoint seals the chain. It locks in the full state. Checkpoints chain too, so a deleted checkpoint shows up. It is never silent.

Fails closed

Rotation uses kid keys. A checkpoint signed by an unknown key fails verification. It does not just warn. No key, no trust.

Why this matters for EU AI Act Article 12 and HIPAA

An admin can quietly edit a plain log. That log is worth nothing as proof. This chain maps to the duties that put you on the hook. What you keep is a structure. A regulator, or you, can recheck it at any time. One property matters most here: in regulated deployments, GDPR erasure doesn't break the chain. We HMAC-commit actor identities. Crypto-shredding a data subject removes re-identification. Every hash still links.

EU AI Act - Art. 12

Lifetime event logging for high-risk AI systems.

EU AI Act - Art. 26

Deployers keep logs for at least six months. That duty is yours, not your model vendor's.

HIPAA - §164.312(b)

Audit controls over ePHI access. AI agents that touch ePHI fall inside that rule.

Erasure destroys the key, not the evidence

Here is the question every SIEM fails. How does GDPR Article 17 erasure work here? The log itself never changes. Crypto-shred settles it. Destroy the per-subject key. The raw values become unrecoverable. We HMAC-commit actor identities, so every hash keeps linking.

Crypto-shredding: GDPR erasure without breaking the audit chain An erasure request destroys the per-subject encryption key in the key vault, making raw values unrecoverable, while the hash-chained audit trail continues unbroken and still verifies. subject: S-4821 name email dob raw values unrecoverable KEY VAULT per-subject key erasure request erasure event appended Erasure destroys the key, not the evidence. AUDIT CHAIN actor_id HMAC-committed - chain still verifies Ed25519 checkpoint verify_chain → VALID

Erasure and evidence integrity, at the same time. One-way redaction vendors and mutable-log platforms cannot offer that.

The verification report, verbatim

The audit_verify_chain operation returns a structured report. It is the same schema either way. 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 →