How to make sure every party signed the same version

Send one final file to every signer instead of separate copies, and confirm afterward that every signature is tied to the same fingerprint of that file, a code that changes if a single character changes; that turns "we all signed version 7" from a recollection into a fact anyone can check. On Attest, the document is fixed once you send it, every signer's passkey signs a statement naming its fingerprint, and the free verifier checks the original inside the signed copy against what every signer signed.

By DataHubz · Updated October 12, 2026 · 5 min read

How parties end up signing different versions

Version mix-ups rarely come from bad faith. They come from ordinary habits:

  • Drafts travel as attachments. After a few rounds, each side has a folder of files with names like "final", "final v2" and "final clean".
  • Each party signs its own copy. One side signs the PDF it received on Tuesday; the other signs the one sent on Wednesday with a corrected date.
  • A late edit lands after someone signed. A price or a deadline changes, and the first signer never sees the new text.
  • The same words, a different file. A document re-saved, exported again or converted is a different file, even when every word looks the same.
  • Exhibits travel separately. The contract is signed, but the schedule it refers to was a separate attachment that changed.

Months later, the question "which version did we sign?" has no clean answer, and comparing pages by eye is slow and unreliable.

Why a fingerprint settles it

A fingerprint, or SHA-256 hash, is a 64-character code calculated from a file's bytes. The same file always gives the same fingerprint, and a file that differs by one character gives a completely different one. If every signature names the same fingerprint, every signer signed the same file. If two fingerprints differ, so do the files. The guide to spotting a changed document shows the two codes for "$1,000" and "$7,000".

How Attest keeps every signer on one file

  1. One document per agreement, fixed once you create it. You upload one PDF, which your browser encrypts before upload. No screen or API replaces an agreement's document afterward: to change it, you void the agreement (or discard the draft) and send a new one.
  2. Every party's browser checks the file it opens. When a party opens the document, their browser decrypts it and checks it against the fingerprint recorded for the agreement.
  3. Each signer's own signature names the fingerprint. Each signer approves with a passkey, a cryptographic key only the signer controls, unlocked with Face ID, Touch ID, Windows Hello or the device PIN. The passkey signs a statement that begins "I have reviewed and I sign", naming the document's fingerprint and the fingerprint of the entries that signer made, and it also signs where those entries sit on the page.
  4. The finished record lists everyone together. When the last signer signs, the signed state (the document's fingerprint and, for each signer, who signed, when and the fingerprint of their entries) is anchored on Horizen, a public blockchain anyone can read.
  5. Everyone downloads the same sealed copy. Every party receives the same PDF: the signed pages, with a "Signed with Attest" stamp on each signature and a seal line at the foot of every page, a certificate of completion, the audit trail up to completion and a "Verify it yourself, without us" page, with the full evidence, the original document and a standalone verifier attached inside.

Because of the first point, a sender can't swap in a different file halfway through: a signer who signs on Monday and another who signs on Friday are signing the same document.

Before you send: a checklist

  1. Agree the final text, and accept or remove every tracked change.
  2. Put everything in one PDF. Merge schedules, exhibits and price lists into the file you send. The signatures cover the file's fingerprint, and only what is in the file.
  3. Export to PDF once, and send that file. Don't re-export it after you've shared it for review.
  4. Name the version in the title, such as "Services agreement v7 (final)". The title appears in each signer's statement and on the certificate.
  5. Optionally, share its fingerprint. If the other side reviewed a final PDF before you send it, both of you can compare fingerprints. On a Mac, run shasum -a 256 followed by the file name in Terminal; on Windows, run certutil -hashfile followed by the file name and SHA256 in Command Prompt.
  6. Send one document to every signer. Add each signer to the same agreement rather than sending separate copies. If the order matters, choose In order under Signing order.

If the document has to change after someone signed

Don't try to patch it. Void the agreement: it closes for every party, and signers who haven't signed are emailed that it was withdrawn. Then send the corrected PDF as a new agreement, so that everyone signs the new version from the start. A document voided before anyone signed is given back to your allowance; once someone has signed, it counts.

After signing: confirm in three checks

  1. Read the fingerprint on the certificate of completion. It shows the document's fingerprint, the same one every signer's statement names.
  2. Drop your signed copy on the verifier attached inside it. It checks the original document inside against what every signer signed, each signer's passkey signature and entries, Attest's anchored record of the agreement on Horizen, and that nothing was added to the PDF after it was sealed. It also re-makes every page you see from what was signed and compares the result with the copy byte for byte, so pages drawn with anything else fail. Dropping it on attest.datahubz.com/verify instead fingerprints it in your browser and confirms it is the exact file that was recorded and anchored.
  3. Compare with the draft you approved. If you kept the final PDF from your review, its fingerprint should equal the document fingerprint on the certificate. The signed copy carries the original as an attachment (original-document.pdf), so you can fingerprint that file too.

If the fingerprints match, every party signed the file you approved. If they don't, the files differ, and you know which one each signature belongs to.

Questions people ask

Can the sender change the document after I sign?
No. An agreement's document is fixed once it is created, and your passkey signed a statement naming its fingerprint. To change it, the sender has to void the agreement and send a new one, which you would review and sign again.
Do all signers see exactly the same file?
Yes. There is one document per agreement, and each party's browser checks the file it decrypts against the fingerprint recorded for the agreement before showing it. Each signer's statement names that same fingerprint.
How can I tell whether two PDFs are the same file?
Compare their SHA-256 fingerprints: identical files have identical fingerprints, and one changed character changes the code completely. On a Mac, run shasum -a 256 with the file name; on Windows, certutil -hashfile with the file name and SHA256.
Does my signature also cover what the other signers filled in?
Your passkey signs a statement naming the document's fingerprint, the fingerprint of your own entries and where they sit on the page. When the last signer signs, the signed state covers every signer's entries together and is anchored on a public blockchain, and the verifier checks each signer's entries against their own statement.
What if the other party already signed an earlier draft outside Attest?
That signature belongs to that earlier file, whatever its name. Send the final version through Attest to every party, including anyone who signed a draft, so every signature names the same fingerprint.

Read next

  • How to tell if a document was changed after signing

    Fingerprints (hashes) explained simply: why one changed word shows, how Attest's verifier catches a change after signing, and what to do if a check fails.

  • How to send a document for signature

    Send a PDF for signature step by step: add signers, set the order, place fields, send, track and remind, then get a sealed copy anyone can verify.

  • "I never signed that": proving an e-signature

    When a counterparty denies signing: how e-signature disputes are argued, the evidence to gather, and how Attest's passkey signatures answer the claim.

  • Document signing

    Electronic signatures with a passkey: no account or password for signers, documents encrypted in the browser, and a signed copy anyone can verify.