Proof you can check. Verify us.
Anything this platform issues you — an invoice, a receipt, a message from support — is sealed with a signature you can check yourself. Paste it below. The check runs in your browser against our published keys, so the answer is one anyone can reproduce. That is the point.
In your browser
The signature check runs locally — what you paste is never sent to us
No account
No login, no API key. Fetch the published keys, check, done
Three answers
Genuine, doesn't verify, or can't tell — never a guess dressed up as a verdict
Paste the document, or the whole message. Get an honest answer.
Vérifié dans cet onglet. Ce que vous collez ne nous est jamais envoyé – seules nos clés publiques sont récupérées, comme par tout autre visiteur.
One head commits to everything.
On a schedule, this platform seals the tip of every workspace’s evidence chain into a single signed Merkle root — the fleet head — and links each head to the one before it. Fetch the latest head and check its signature here, or paste your workspace’s inclusion proof to confirm your chain is committed by it. The check runs in your browser against the published keys; a Bitcoin anchor status is shown when the head has joined an OpenTimestamps batch.
A code is not proof. A signature is.
Messages we send can carry a short verification code and, underneath it, a signed block. The code exists so you can read it out loud; it is not a secret, and anyone who has seen a real message can quote a real code. The block is the part that cannot be faked without our private key — so when you check something, include it.
Genuine
Signed by a key we publish, unaltered since. You still check the issuing domain against the one you expected — and a genuine document never makes a link inside it safe to click.
Doesn’t verify
The bytes are not the bytes that were signed. An edit, a forward, or a partial copy does this — so it is “unproven,” not “fraud.” Slow down and contact us the way you normally do.
Can’t tell
Nothing signed was supplied, or the key is not one we publish. No check happened. We keep this visibly separate from a failure, because confusing the two is how people get caught out.
Whatever the verdict: we will never ask you for a password, a card number, or a one-time code in a message — and no result on this page should be treated as permission to hand any of those over. If you are unsure, close the message and reach us by typing our address yourself.
Paste a mandate’s status coordinate. Read the bit yourself.
Vérification de révocation hors ligne
Vérifiez vous-même si un mandat est révoqué – entièrement dans votre navigateur, via notre liste d’état publiée. Aucune API Agined n’est consultée pour le verdict.
Nous la récupérons et la décodons. Ou collez la credential ci-dessous pour une vérification entièrement hors ligne.
S'exécute entièrement côté client : décodage base64url → décompression gzip → test du bit à votre index. Ceci vérifie uniquement la révocation ; la vérification cryptographique complète de la signature de la liste est disponible via le paquet @agined/verifier.
What this proves — and what it doesn’t.
What it confirms
- That a document was sealed by the key it names, at the time it states, and has not changed since.
- That its contents still match the fingerprint sealed with them.
- That the verdict came from the maths, computed locally — not from an API call you would have to trust.
- For a mandate: whether its index is marked revoked in the published list, decoded locally.
What it doesn’t
- A valid signature binds a document to a key and a time. It does not make a claim inside it true.
- A failed check is not a finding of fraud — an edit or a forward produces the same result.
- An unverifiable document is not a fake one; we simply could not check it.
- It says nothing about whether a link or attachment in a message is safe.
The signing keys are published as a JWK Set at /.well-known/attestor-keys.json, and the mandate status list at /.well-known/mandates/status-list.json. Anyone can fetch them and reach the same verdict — with this tool, with the embeddable widget, or with the offline @agined/verifier command line.