Public Verification
How anyone can independently verify a sealed signID document without an account. Public verify pages, hash comparison, and the audit trail.
signID publishes a public verification page for every sealed envelope. Anyone who has the envelope ID (or a verify link) can independently check the document’s authenticity, without logging in.
The verify page shows:
- The document SHA-256 hash
- The list of signers with masked emails (only first letter + domain)
- The sealed timestamp
- A redacted audit timeline (key events, times, redacted IPs)
- An opt-in link to download the sealed PDF (if the sender allowed public downloads)
Verification is a first-class feature. It’s how a document holds up under scrutiny: anyone can confirm what was signed, when, and by whom.
The verify page lives at signid.brandid.app/v/<envelopeId>. The URL is generated at seal time and appears on:
- The completion certificate
- The sealed-receipt email
- The signed PDF’s completion page (embedded QR code linking to the verify page)
Anyone can visit this URL. No account, no cookie, no tracking pixel needed. If you shared a sealed document with a third party (a bank, a court, an insurance adjuster), they can visit this URL and re-confirm the document is genuine.
To balance transparency with privacy, the verify page shows a redacted view of the envelope. Full details visible only to signed-in senders and signers.
What’s public:
- Envelope title and status
- Document SHA-256 hash
- Signer count and role labels (not full names or emails)
- Sealed timestamp
- High-level timeline (viewed, signed, sealed events with timestamps but redacted IPs)
What’s redacted:
- Signer emails are masked (e.g.
a****@example.com) - IP addresses are truncated (last octet removed)
- Field values (like text or checkbox answers) are not exposed
The /verify page lets anyone look up a sealed envelope by ID or receipt code. Useful when you have the ID written on a physical document or an email but no direct link.
Just enter the envelope ID and click Verify. You land on the same verify page you’d get from a direct /v/ link.
By default, the verify page shows metadata but does not let anonymous visitors download the sealed PDF. This protects sensitive contracts from being harvested by anyone with a valid ID.
Senders can enable public PDF download per-envelope in the send settings. When enabled:
- The verify page shows a “Download sealed PDF” button visible to anyone
- The download is still audit-logged (anonymous visits are logged with visitor IP)
- The download is time-boxed, meaning the presigned URL expires quickly
Best practice: leave public downloads off for private contracts, and turn them on for envelopes you want publicly verifiable (a marketing announcement, a public commitment, an open letter).
Every envelope has an append-only audit trail that records every meaningful event:
- Envelope events: created, sent, cancelled, expired
- Signer events: link opened (viewed), field filled, declined, signed, adopted signature
- Document events: uploaded, replaced (with version), sealed, SHA-256 computed
- Metadata: timestamps (ISO-8601 UTC), IP addresses, user agents, workspace and user IDs
The audit trail is stored in Postgres, and a JSON snapshot is included in the complete bundle download. This is the primary evidence used to defend a signature in a legal challenge.
signID uses hash-based tamper evidence. When a PDF is sealed, its SHA-256 hash is computed and stored on the envelope record and in the audit trail. Any subsequent modification changes the hash.
To verify a PDF hasn’t been tampered with:
- Compute the SHA-256 of the PDF file you have.
- Compare it to the hash shown on the verify page or the completion certificate.
- If they match, the file is byte-identical to what signID sealed.
- If they don’t, someone modified the file after signing.
Programmatic verification is available via the public verify endpoint:
GET https://signid.brandid.app/api/v1/verify/<envelopeId>
This endpoint is unauthenticated, meaning anyone can call it. Response includes:
- Envelope status (
signed,declined, etc.) - Document SHA-256 hash
- Signer count and sealed timestamp
- Masked signer info (same redaction as the public web page)
Useful for third-party systems that want to programmatically verify a signID envelope, for example an escrow platform confirming a contract is sealed before releasing funds.
For full API details, see Partner API.
Ready to send your first envelope?
Create a free signID account, or book a demo to see how it fits your team or platform.




