Verify

Check a credential yourself.

Paste a credential and this page checks its signature against the issuer's own key — in your browser, with no account and nothing sent anywhere.

The credential

Working now

Altering the sample changes one claim in it — the signature fails immediately, which is the entire point of a credential you can check.

Result

Nothing checked yet.

Load the sample if you don't have a credential to hand.

What just happened

  1. The issuer's key came out of the credential itself. An Alexandria issuer is a did:key, which carries its own public key. There is no key server to ask and no directory to trust.
  2. The credential was canonicalised. Field order does not change meaning, so the bytes are normalised (RFC 8785) before checking — reorder the fields and it still verifies; change a value and it does not.
  3. The signature was checked with Ed25519. This is the same procedure the app performs, reimplemented here. If it passes, the credential is exactly as the issuer signed it.

Two things this page does not do, and says so in the results rather than passing them quietly: it does not fetch the issuer's revocation list, and it does not query the chain for an anchor. Both need data a static page cannot have. The signature stands on its own either way — that is what makes a credential portable.

The credential format and how it is signed if you would rather read the implementation than trust this page.

Alpha · waiting list

Join the waiting list

We are letting people in a group at a time while the alpha settles. Tell us who you are and what you'd run it on, and we'll email you when it's your turn.

This joins the waiting list, not the alpha — we email you when it’s your turn.