Drop a receipt. See the proof.
Verification recomputes every signature and hash — PASS means every change was signed by the exact registered identity and nothing was altered after the fact.
The offline verifier — how a receipt gets checked
Export a receipt from a session on the local agent host, then run the verifier — sixty-five lines of plain Node, no packages, no network. It recomputes the hash chain and every Ed25519 signature. Exit 0 means PASS. If a single byte was changed after signing, the exact check that broke is named.
events=12 chainOK=12 sigOK=12 diffOK=12 unsigned=0 attestation=present
PASS: VERIFIED — 12 events, tip 9f2a1c7b4e08…
Verified. Every change was signed by the exact agent identity Token Holder registered, and nothing was altered after the fact.
This receipt was altered after signing — the failed check is named. Do not trust these changes.
A drag-and-drop verifier is on the roadmap; the offline script above is the way to verify today.
When it ships it will run entirely in the browser tab — same math, same verdict, nothing uploaded.
Tamper-evident, trusted-operator forensics: alterations are detectable and provable — the receipt is not “unalterable.” Verification needs no vendor server in the loop, so the proof does not depend on trusting us. Two limits worth stating plainly: signed receipts come from the local agent host, which has no download link yet, and the hosted service's own audit export carries a chain rather than a signature.