Security
In short: every sealed document carries a cryptographic fingerprint
and a tamper-evident audit trail that anyone can check without our help. We describe below
exactly what we do — and, at the bottom, exactly what we have not had independently
audited.
The evidence in every envelope
- SHA-256 fingerprint of each original document and of the final sealed file,
printed on the Certificate of Completion.
- A hash-chained audit trail. Each event's hash incorporates the hash of the event
before it, so altering any past entry breaks every hash that follows. The chain head is
printed on the certificate.
- A PAdES digital signature embedded in the sealed PDF. Any modification after
sealing is flagged by standard PDF readers, independently of us.
- Public verification at /verify — anyone, with no account,
can confirm a sealed document is the one we produced and is unaltered.
Access to documents
- Signing links are unique 256-bit single-purpose tokens, and they expire.
- A sender may additionally require a per-signer access code, conveyed outside email and
stored only as a bcrypt hash.
- How each link was issued — emailed, generated by the sender, or used in person — is
recorded and stated on the certificate, rather than being assumed.
- Completed envelopes cannot be modified, re-signed or deleted.
The application
- Passwords stored as bcrypt hashes. Credential endpoints are rate-limited.
- Sessions are HttpOnly, Secure, SameSite=Lax cookies.
- TLS on every connection, with HSTS asserted by the origin.
- Content-Security-Policy of
default-src 'self', frame-ancestors
'none' so the app cannot be embedded, and nosniff.
- Uploads validated by declared type, content signature, size and page count.
- The database file lives inside an encrypted filesystem on the host.
- Automated tests run against the whole application before every deployment.
Backups and recovery
Nightly deduplicated backups with an append-only offsite copy, so a backup cannot be
silently overwritten. A full restore drill has been performed and passed every one of its 27
checks. A backup is taken immediately before every deployment, and the database is copied
using SQLite's own online backup with an integrity check rather than by copying a live file.
What we have not done
We think you should know this before you ask.
- No SOC 2 report. We have not engaged a CPA firm and hold no SOC 1, 2 or 3
attestation.
- No ISO 27001 certification and no accredited third-party certification of any
kind.
- No third-party penetration test has been commissioned.
- No HIPAA Business Associate Agreement is offered, and the service is not built
for protected health information. Adobe puts it well: there is no official HIPAA
certification scheme — but we are telling you we do not support it at all.
- No qualified trust services. We are not a Qualified Trust Service Provider,
issue no qualified certificates and use no qualified timestamps.
- No published uptime commitment. We do not yet offer a service level agreement.
None of that makes the cryptography above less true — it is checkable by anyone, which is
rather the point. But an audit is a different thing from a description, and we will not blur
them. If one of these becomes necessary for you, say so; it tells us what to buy first.
Reporting a vulnerability
Email [email protected] with "SECURITY" in the subject. We acknowledge within two
business days. We will not pursue or support legal action against anyone acting in good faith
who stays within their own account or test data, does not degrade the service for others, does
not access anyone else's documents, and gives us a reasonable chance to fix the problem first.
There is no paid bounty.
Last reviewed 8 October 2026. This page is reviewed at least every six months and whenever the service changes in a way that affects it.