Documenso

documenso.comcontributed by Samuele Ongaro

YES

Replaceable in one session with an AI coding agent.

Open-source document signing that cryptographically seals the completed file, positioned as the transparent alternative to the incumbents.

Promptfree, for everyone, and the only version there is
Build me a document signing service that replaces a hosted Documenso: send a PDF, collect signatures, and seal the result so it can be proved later.

STACK
- Node 20+ with Fastify, server-rendered HTML
- SQLite through better-sqlite3, WAL mode
- pdf-lib for filling and stamping, and node-signpdf or an equivalent for the cryptographic signature
- Caddy in front

THE DATA MODEL
- documents: id, uid, title, owner_id, original_path, original_sha256, final_path, final_sha256, status, expires_at, created_at, completed_at
- recipients: id, document_id, name, email, role, order_index, token, viewed_at, signed_at, declined_at, decline_reason, auth_kind
- fields: id, document_id, recipient_id, kind, page, x, y, width, height, required, value, meta_json — signature, initials, name, date, text, checkbox, dropdown
- audit_events: id, document_id, recipient_id, kind, actor, ip_hash, user_agent_bucket, meta_json, at — append-only, and the most important table here
- templates: id, name, base_path, fields_json, roles_json
- certificates: id, kind, subject, not_before, not_after, key_path — the sealing certificate
- The original file is never modified. Every signature produces a new file, and the hash of both is recorded

THE AUDIT TRAIL, WHICH IS WHAT IS ACTUALLY BEING SOLD
- Every event recorded: created, sent, delivered, opened, viewed each page, field completed, signed, declined, downloaded, reminded, expired
- Each with a UTC timestamp, the actor, a salted hash of the address, and a coarse user agent
- Nothing in this table is ever updated or deleted, enforced by a trigger
- At completion the trail is rendered as a page appended to the finished PDF: who signed, when, from where, with the hash of the document they saw. A signature without that page is a picture of a name

SIGNING ORDER AND ROLES
- Recipients in parallel or in a set order, with the next one notified only when the previous has finished
- Roles: signer, approver, viewer, and a carbon copy who receives the finished document
- Each recipient gets a long random token in their link, compared in constant time. No account, ever — requiring one is how a signing request goes unanswered
- Optional extra authentication before signing: a code by email, or a passphrase the sender shares by another channel. Record which was used

PLACING FIELDS
- The document is rendered to images page by page for placement; fields are dragged onto it and stored in PDF coordinates, not screen pixels
- Required and optional fields, per recipient, with validation before submission
- Defaults and pre-filled values from the sender
- Templates: fields and roles saved once and reused, with the recipients filled in per send

SIGNING
- Draw with a pointer or a finger, type in a signature face, or upload an image
- The drawn signature is captured as a path and rasterised at print resolution, not screenshotted from the canvas at screen resolution
- Works on a phone, because most signatures are collected on one
- A clear review step showing every field before the final confirmation, and a decline path with a reason

SEALING
- On completion, flatten the fields into the PDF and apply a document-level digital signature with a certificate held on the server
- Any later change to the file breaks the signature, which is the point
- A long-term validation profile with a timestamp from an RFC 3161 authority, if one is configured, so the signature remains verifiable after the certificate expires
- Explain the honest position in the README: this proves the document has not changed since sealing and records who did what and when. Whether that satisfies a particular law in a particular country is a question for a lawyer, and the tool must not pretend otherwise

DELIVERY AND CHASING
- Emails for each stage, in plain text and HTML, with the link and nothing else
- Reminders on a schedule the sender sets, at most one per recipient per day
- Expiry, after which the link stops working and the document is marked expired
- The finished document sent to everyone, with the audit page attached

OPERATIONS
- .env: DATABASE_PATH, STORAGE_PATH, BASE_URL, SMTP_URL, SESSION_SECRET, HASH_SALT, SIGNING_CERT_PATH, TSA_URL
- Migrations on boot, each once
- Files encrypted at rest, keys from the environment
- Nightly backup covering the database and the file store, and a tested restore — losing a signed contract is not an outage, it is a loss
- Health endpoint that seals a one-page document

WHAT MATTERS MOST
The audit trail and the seal. Build the append-only events table, the appended certificate page and the signature verification first, then take a completed document, change one byte, and confirm the verification fails. Everything else is a form on top of a PDF.

Give me the repository, migrations, .env.example, a seed document with two signers in order, and a README with deploy steps behind Caddy, certificate generation, and the sentence about legal advice kept intact.

What you lose

  • A hosted instance with the signing certificate managed for you
  • Support and updates on a document workflow people depend on
  • Templates and team management on the paid tier

If you would rather not build

  • A signed PDF, for informal agreements

What it costs

read from their page 17 Aug 2026

PlanBilled monthlyBilled yearlyLast read
—$40/mo—17 Aug 2026

Their pricing page is where these came from. Seeing a different price? Tell us.

The escape hatch

open source · no votes, no paid placement

Documenso

$0

The product itself, free to self-host with cryptographic sealing.

documenso/documensofree · open source

Docuseal

$0

Self-hosted signing with a template builder and an audit trail.

docusealco/docusealfree · open source

Why this verdict

our own opinion · changed only by a person

84/100

Verdict yes at 84 because the software is free. The certificate choice is the decision that determines whether the seal means anything to anyone else.

History

tracked since 10 Aug 2026 · nothing is ever overwritten

Interest · last 30 dayspeak 2/day
views01230 Aug4 Sept9 Sept14 Sept19 Sept24 Sept28 Sept
— views— prompt copies none yet— votes none yet

Questions about Documenso

answered from the record above

Is Documenso free?

No — the plan we track is $40 a month. Teams at $40/month, $480 billed yearly; the platform is open source and self-hostable for nothing.

Can you replace Documenso by building your own?

YES. Replaceable in one session with an AI coding agent. Replacement score 84 out of 100, build time one session. Read what you lose before you decide.

How much does Documenso cost?

$40 a month on Teams — $480 a year. Recorded 17 Aug 2026.

What do you lose by replacing Documenso?

A hosted instance with the signing certificate managed for you; Support and updates on a document workflow people depend on; Templates and team management on the paid tier. If any of those carry weight for you, keep paying.

Is there an open-source alternative to Documenso?

Yes: Documenso, Docuseal. The prompt on this page is for when you want it your way instead.

Related entries

same category first, most replaced first

All 27 in Commerce & contracts

Not sending yet

Every week, something stops being worth paying for.

New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.

free forever · no tracking pixel · stored here, never passed to anyone

Esc