ActaSeal -- Tamper & Verify Demo

A real, signed ActaSeal dispute packet (manifest, receipt, ledger slice), loaded below. Edit any field and verification re-runs live, entirely in your browser -- no server, no network request, nothing sent anywhere. Break the hash chain or the signature and watch it turn red immediately. This runs a small subset of what verify.py checks offline, ported to JavaScript (verify_min.js) using the browser's native WebCrypto Ed25519 support -- no bundled crypto library.

What this page checks: ledger hash-chain integrity (every event's payload hash, event id, event hash, and link to the previous event) and the receipt's Ed25519 signature.
What it does NOT check: ECDSA/PQ/hybrid-signed receipts, the verifier's own digest pin, the ledger's schema/root version, RFC 9162 continuity checkpoints, authentication-document evidence, scope conformance, approver-snapshot and approval-manifestation integrity, ledger-head transparency anchoring, settlement-anchor validity, or --archive-export mode (RFC 3161 timestamps, SCITT receipts). A packet this page says is clean has only cleared two of the checks a real receipt needs -- for an authoritative verdict, run the real verify.py offline. See the parity manifest for the full, code-derived list of what is and isn't ported.
Loading…

manifest.json

receipt.json

ledger_slice.ndjson (one event per line, JSON array here for editing)

Verification result

This page checks chain integrity and the Ed25519 receipt signature only -- the subset of verify.py's checks meaningful without the rest of a real dispute packet (authentication docs, settlement anchor, etc). For a full, authoritative check of a real packet, download it and run python verify.py offline.