Retention Policy

Version 1.0 · approved 2026-09-21 · effective 2026-09-21 · owner: Operations — Rodrigo Jimenez

Version 1.0, approved 2026-09-21. The figures here are the ones the code enforces today (environment settings in .env.example) and the decisions recorded in D08, D09, D10 and D25. One is explicitly interim and is marked as such.

Principle

Data is kept for as long as it is needed for the purpose it was collected for, and the length is published here before it is enforced. We make no claim that anything is kept indefinitely, and no claim that anything is deleted sooner than this page says.

The schedule

Data Kept for Then Notes
Documents (original, edited, signed and certificate PDFs), fields, recipients, signatures, attachments, audit trail While the organisation keeps them Deleted when the organisation deletes the document — see the exception below Automatic time-based deletion is off (JSIGN_DOCUMENT_BINARY_RETENTION_DAYS=0), an interim decision (D10) that stands until the deletion safeguards have been verified against production data. When a window is set it will be published here with an effective date before it applies.
Signature images With the document — JSIGN_SIGNATURE_RETENTION_DAYS=0 (off), same interim decision
Email delivery events While useful for delivery evidence and suppression — JSIGN_DELIVERY_EVENT_RETENTION_DAYS=0 (off), same interim decision. Suppression of addresses that reported our mail as unwanted is kept regardless.
Sign-in sessions Up to 30 days from sign-in Expire Shorter when "remember me" is not chosen
Magic-link and invitation tokens 15 minutes (magic link); until used or expired (invitation) Expire
Nonprofit verification letter 90 days after the decision Deleted Decision D08. A Pub 78 lookup reference, rather than a document, is preferred and is kept with the record.
Nonprofit verification record (EIN, decision, date, reviewer) With the organisation — Decision D08
Nonprofit fingerprint (keyed EIN hash with decision, date, reviewer) and founding-offer redemption Survives organisation deletion for 24 months — Decisions D08, D09: this is what stops a one-per-entity offer being claimed twice by re-registering
The trial: start, end, allowance, and its envelope ledger With the organisation — Decisions D18, D19
Trial redemption record: keyed hash of the mailbox and of the origin network address, outcome, denial reason Survives organisation deletion for 24 months, the same as the fingerprint — Decision D18: one trial per organisation, not per registration. The address and mailbox are not recoverable from the hash.
The subscription's pricing class (standard or nonprofit) and a confirmed switch scheduled for the next renewal With the organisation — Decisions D20–D22
A saved payment method for a nonprofit-priced purchase awaiting verification Held by Stripe until verification is approved, declined or lapses, or 30 days at most Released, nothing charged Decision D14 (a); the card itself is never held here
Data export archives 24 hours after they are produced Deleted The export record (that one was made, by whom, when) is kept
Operator audit log Indefinitely — The hash chain is the control; removing entries would defeat it
Application logs 30 days Deleted Redacted before writing
Rate-limit counters, idempotency keys, worker leases, storage reservations, alert state Minutes to a week Expire Operational
Queue jobs 14 days Deleted JSIGN_QUEUE_RETENTION_SECONDS
Backups Encrypted bundle nightly; 14 kept on the host, off-box copy 35 days (decided 2026-09-20 and recorded in the product decision register under off-box backup retention) Deleted by the store's lifecycle rule T05; the bundle holds every class above, so this bounds how long a deleted record can still exist inside a backup

The shared-file exception

A template and every document created from it share one PDF file rather than each holding a copy. Deleting a document therefore removes its bytes only when nothing else still refers to them; a reference ledger answers that question before anything is removed, and a file that cannot be deleted for that reason is reported rather than silently kept. This is why automatic deletion stayed off until the ledger had been proven against real data.

Where we are legally required to preserve data — a court order, a regulatory request, a dispute we have been notified of — the affected data is excluded from deletion for the duration, the hold is recorded in the operator audit log, and the organisation is told unless the law prevents it. Self-service holds are not yet available.

After account or organisation deletion

See the deletion and export policy for what is removed, what is kept, and the export window before removal.

Changes to this schedule

A new retention window, or a shorter one, is published here with a version number and an effective date at least 30 days before it is enforced, and organisation owners are emailed.