Verify a Crovia Seal.
Right here. Right now.
Paste a seal below — or a whole seals.jsonl chain, one seal per line. Everything runs in your browser: CSC-1 canonicalization, the CROVIA-SEAL-v1 domain prefix, SHA-256 chain links, Ed25519 signatures. Nothing is uploaded anywhere. Save this page to disk and it still works, forever.
Verify a TACET silence proof
A TACET proof is a crovia.seal.v1 wrapped around a crovia.tacet.silence.v1 object. Paste the whole file ({"seal":…,"query":…,"proof":…}) above, or load one from the live log. The page then re-does SPEC §8.5 here: operator signatures and hash chain of every epoch sheet, the empty slot under each sheet's depth-256 sparse Merkle root, observer signatures and inclusion of every negative snapshot, and the silence figure under the monotonicity rule. With network checks on it also does §8.6: it parses each sheet's OpenTimestamps proof and matches its merkle root to the Bitcoin block header from a public explorer. Same checks as tacet-operator verify; no Bitcoin node, no ots client, no Crovia server trusted.
Verify a PNX proof (Proof of Non-Exfiltration)
A PNX proof is the TACET profile crovia.pnx.v1: an egress witness fingerprinted every outbound body of an AI agent run into a depth-256 sparse Merkle map and signed the run sheet; the proof carries, per protected asset, non-inclusion (or inclusion) paths against that root. Paste the bare proof or the sealed bundle above. The page re-does PNX §6 here: witness signature, parameter consistency, every path, every verdict. Without the asset bytes it proves non-inclusion of the listed keys only and says so; paste a single asset in the box below to have its fingerprints recomputed byte for byte. Same checks as tacet-pnx verify.
Have the original AI output — or the protected asset?
A seal never carries content — only hash commitments. Paste the exact output text below and Verify again: the tool re-hashes it and checks it against subject.output_hash of the (first) seal. For a single-asset PNX proof the same box takes the asset itself: its SHA-256, detection class and fingerprint set are recomputed and compared with the proof.
What a green verdict means
The seal was signed by the private key matching the embedded public key, and not a single byte of it changed since — algorithm, timestamps, hashes, chain position: all covered by the signature. What it does not mean: that the issuer is honest. Pin the issuer key you trust (Crovia's trust root, or the re seal issuer pubkey of a Causari repo) and check it matches.