Don't trust us. Verify it yourself.
Below is our real audit-chain verifier, compiled to WebAssembly and running entirely in this browser tab — nothing is uploaded. A sample audit log is loaded and verified. Now tamper one byte and watch the chain catch exactly where it was altered.
How far should you trust this?
This runs the real verifier in your browser — proof the chain is tamper-evident. But we serve
this page, so for a check that doesn’t rely on us at all, build the source-available
kvmfleet-verify binary from source and run it
offline against your own export. The in-browser demo is the convenience version; the offline binary is the
independent one.
How the chain works
Every audit event is sealed to the one before it: its row_hash is
SHA‑256(previous row_hash + the canonical JSON of this event). Change anything
in any event — an actor, a timestamp, a justification — and that event’s hash no longer matches,
and every event after it is broken too. There is no way to edit the log so it still verifies; that is what
“tamper-evident” means. The verifier re-walks the chain from the org’s anchor and stops at the
first link that doesn’t add up.
This is the same verifier your auditor runs offline against an export from
/v1/audit/events.ndjson — identical code, source-available under BSL‑1.1.
Run it offline: github.com/KVMFleet/audit-verify
· Read the whitepaper →
· Compliance evidence →