Public verification

Is this the document everyone signed?

Drop a PDF you received from Bona Fide. We compute its fingerprint on your device, look it up, and check Bona Fide's signed proof right here in your browser.

What “Verified by Bona Fide” means

  1. 1

    Same file, bit for bit

    Your browser computes the file's SHA-256 fingerprint. Change a single character, page or pixel — or just re-save the PDF — and the fingerprint changes completely. We only receive the fingerprint, never the document.

  2. 2

    Recorded in a public log

    When an envelope is completed and sealed, its record (envelope ID, original and final fingerprints, the head of its tamper-evident audit trail, completion time) is added to a Merkle tree. A short proof shows the record is in that tree.

  3. 3

    Signed by Bona Fide

    Every hour the tree's root is signed with Bona Fide's Ed25519 key and chained to the previous root. Anyone can check the signature with our published public keys — no secret, no account.

This check proves the file is exactly what was completed through Bona Fide and that our record of it can't be quietly rewritten. It does not re-validate the timestamp embedded in the PDF itself — open the file in Adobe Acrobat for that. Signer emails are partly hidden for privacy.

Prefer the command line? The same verifier is open source:

pnpm --filter @bona-fide/verify cli contract.pdf --api https://bonafide-api.republic.global