← TOOLS

Decision Receipt verifier

Every KYTGate decision produces a signed Decision Receipt. Paste one here — or a whole evidence pack — and the signature is checked in your browser against the public key at /api/v1/receipt-key. The receipt itself is never uploaded. You do not need to trust KYTGate to run this check.

Verify against a specific public key (optional)

What is being verified

The signature covers the canonical form of the receipt: the signature field removed, object keys sorted recursively, serialized as compact JSON, UTF-8 encoded, signed with Ed25519. Any change to any field — the decision, a signal, a list snapshot hash, a timestamp — invalidates it.

A valid signature proves integrity: the record is what KYTGate produced at decision time. It does not prove the decision was right. For that, read the coverage matrix in the receipt: which checks were COMPLETE, which were MISSING or NOT_AVAILABLE, and which policy version governed.

Verifying without this page

Auditors who prefer their own tooling can reproduce the check with any Ed25519 library: fetch the SPKI public key, canonicalize as described, and verify the base64 signature after the ed25519: prefix. The evidence pack downloaded from a case includes these instructions verbatim.