Proving a signing date to an auditor without the terms

Give the auditor evidence they can check themselves that carries the date and the parties but not the document: a zero-knowledge proof states that you, or you and a named co-signer, signed an agreement and the day it was completed, and a certificate of completion PDF adds the title and each signer's name and exact signing time, still without the terms. Both are free to check with no account, the proof at attest.datahubz.com/verify and on zkVerify, the certificate with the open-source verifier inside it, and both rest on records anchored on a public blockchain.

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

What an auditor usually checks about a date

When an auditor asks when an agreement was signed, they are usually testing one of these:

  • That it was in place before a cut-off, such as a period end, or before something it governs began: access to data, the start of work, a payment or a grant expense.
  • That the date wasn't changed afterwards.
  • That the evidence can be checked independently of the company being audited, not only taken from its files.

None of these needs the price, the scope or the clauses. When the auditor is testing the terms themselves, for example the amounts behind revenue or an expense, they need the document, and no proof replaces it. Ask which of the two they are doing before you choose what to send.

Three levels of evidence

What the auditor needs What to send What they see What stays private
The parties and the day it was completed A proof from Share proof The email address of the signer who made it and, if named, one co-signer's; the completion day (UTC); that the proof is valid, where its record is anchored and its zkVerify status The document, its terms, its title and every other signer
The title, every signer and their exact signing times The certificate of completion PDF The title, the completion time (UTC), the number of parties, the verification code, the fingerprints of the document and the signed state, the Horizen anchor transaction, and each signer's name and signing time The document, every signer's entries and the audit trail
The terms The signed copy The whole document, with every signer's entries, the stamps and the seal line, plus the certificate of completion, the audit trail up to completion, the "Verify it yourself, without us" page and the three attached files Signers' email addresses

The proof: what its date means

A proof's date is the day the agreement was completed, the moment Attest accepted its last signature, as a calendar day in UTC. So every signature in it was made by the end of that day, UTC. Two details matter for audit work:

  • Time zones. An agreement completed at 8 p.m. on December 31 in New York is completed at 1 a.m. on January 1 in UTC, and its proof says January 1. For a cut-off near midnight, use the certificate of completion, which gives the exact time.
  • An independent bound. The proof page links the Horizen transaction that anchored the record the proof was made against. A record anchored at a given time already contained the agreement, so the agreement was complete, with that day, by the block time of that transaction. Each proof is made against the record as it stands when the proof is made, so a later proof gives a later bound: the earliest proof about an agreement, usually the one made for you when it completed, gives the earliest. That transaction is sent from Attest's own wallet, never from a party's.

A proof that names a co-signer also lets the auditor match the counterparty: the co-signer's address at the counterparty's domain, next to the line in your contract register.

The certificate of completion: exact times, still no terms

Every completed agreement has a certificate of completion, and any party signed in to Attest can download it as a PDF, even when the certificate is private online. It carries the same certificate of completion page as the signed copy, with each signer's name in their stamp in place of their signature, and no document, entries or audit trail: the title, the completion time (UTC), the number of parties, the verification code, the fingerprints of the document and the signed state, the Horizen anchor transaction, and each signer's name and signing time. It names signers by name, never by email address.

Two facts make its times strong evidence:

  • Each signing time is signed. The time is set by Attest's server when the signer's signing request is issued, and it is part of the statement the signer's passkey signs. Change it and that signature no longer checks.
  • The anchor has its own time. The signed state, with every signer's signing time, is anchored on Horizen, and the block time of that transaction shows when it was anchored. The auditor reads it from the public blockchain, not from you.

To download it, open the agreement's certificate (the Certificate link on the document's row, or the link Attest emailed every party when the agreement completed; for a private certificate, sign in first) and click Download certificate (PDF). The auditor can keep it on file: the open-source verifier attached inside it re-makes its pages from what was signed and anchored and compares them with the file byte for byte, in any browser and without Attest.

Answering a sampling request

Auditors often pick a sample of agreements from your contract register and ask for evidence for each. With Attest, each line takes a few clicks:

  1. Open Documents (it reads Agreements on accounts that use every Attest tool) and find the agreement under Completed.
  2. Choose Share proof. The proof made for you shortly after it completed is in the list and states that you signed it. To name the counterparty's signer, choose That you and another signer signed it and click Create the proof.
  3. When it reads "verified on zkVerify", click Copy link and add the link to the register line, next to the counterparty and the date.
  4. Where the auditor needs exact times or the title, add the certificate of completion PDF.

How to share proof that you signed shows every step.

Proofs are made by the person who signed, from their own dashboard, and show their own email address, so the colleague who signed an agreement makes its proof. If you sent an agreement without signing it, its signers make the proofs, and you can download its certificate of completion.

How the auditor checks, without an account

  • A proof: open the link, or paste the proof ID (azk_...) at attest.datahubz.com/verify. The page shows the statement and five checks: the proof is mathematically valid (Groth16), the named people match it, it was proven against a published record of agreements, that record is anchored on a public blockchain, and it was independently verified on zkVerify. The same page offers the proof's evidence file, which Attest's open-source verifier checks on the auditor's own device.
  • A certificate of completion PDF: save attest-verifier.html from the PDF's attachments, open it in any browser and drop the PDF on it.
  • A signed copy: the same way, with the verifier attached inside it, or with the current version at attest.datahubz.com/attest-verifier.html.

Each check is free, needs no account and can be repeated any number of times.

Why this holds up better than a date on a page

A date typed on a page, a PDF's metadata or a screenshot of a dashboard comes from the party being audited. The dates here can be checked without trusting you: the proof against its verification key, on zkVerify and against a record anchored on a public blockchain; the certificate against each signer's passkey signature and the anchored signed state. Because each signing time is inside what the signer's passkey signed and what was anchored, a changed date fails verification.

Questions people ask

Does a proof show the exact time an agreement was signed?
No. It shows the day the agreement was completed, as a calendar day in UTC. For exact times, share the certificate of completion PDF, which shows details such as the completion time and each signer's name and signing time, without the document.
Does the auditor need an Attest account?
Proofs are free to check at attest.datahubz.com/verify, and certificates of completion and signed copies with the open-source verifier attached inside them, which runs in any browser without Attest. None of them needs an account.
Our agreement's certificate is private. Can we still give the auditor evidence?
Yes. Its signers can share proofs, and any party signed in to Attest can download the certificate of completion PDF and send it. The certificate stays private online: anyone else who looks it up is told only that the agreement exists and is private.
Could a signing date be changed after the fact?
Not without verification failing. Each signer's passkey signs a statement that includes the signing time, and the signed state, with every signer's signing time, is anchored on Horizen, whose block time shows when it was anchored.
Is this audit or legal advice?
No. This page is general information, and what evidence is enough is your auditor's call. Ask them what they are testing and offer the level of evidence that answers it.

Read next

  • How to prove the date a document was signed

    What proves when a document was signed: typed dates, file metadata, timestamps and blockchain anchors compared, and how Attest fixes each signing time.

  • How to let others check a signed document

    Let a lender, landlord, employer, auditor or partner confirm a signed document is genuine, free and with no account, and choose exactly what they get to see.

  • Zero-knowledge proofs for business documents, explained

    What a zero-knowledge proof is, how Groth16, public inputs and verification keys work, and how Attest proves who signed an agreement without revealing it.

  • Verify

    Check a signed document, receipt, certificate or proof for free, with no account. Drop the file, or enter its ID or fingerprint: it is checked in your browser.