Verify a Predge attestation

Paste any signed /v1/attest response. Its ed25519 signature is checked offline, in your browser, against Predge's published public key. No trust required — the math is the proof.

How the verification works

The attestation envelope carries canonical (the exact JSON string that was signed, keys sorted, no whitespace), a signature (hex), and the signer's public_key (hex, raw 32-byte ed25519). This page imports the key with the WebCrypto API and checks the signature over the canonical bytes — entirely client-side, nothing is sent anywhere. It also confirms the key is one of Predge's published keys, 3b6551a6…9d1b (attestations) or a122cc09…97e4 (Cachet oracle), listed at api.predge.io/.well-known/predge-keys.json. If the envelope also carries a payload copy, the page re-canonicalises it and flags it as edited unless it reproduces canonical exactly. The facts shown are read from the signed canonical bytes, never from the unsigned copy. The old attestation key 13fa3d18…52d9 was revoked in October 2026 after our hosting provider disclosed an environment-variable breach; a record signed with it reads Key REVOKED, even when the signature itself checks, because a leaked key could backdate signatures.