Documenso, DocuSeal and OpenSign all let you send PDFs for signature from your own server, so contracts and the signers’ details stay on machines and storage you choose instead of with a signing vendor. All three are open source, and all three also sell a paid self-hosted tier that unlocks features the free edition leaves out.
That split decides most of the choice. Automatic reminders, bulk sending, an API, webhooks that notify your other software when a document is signed, and team permissions are free in one product and paid in another, so the first question is which of them you need. The second is how much server work you accept: one product runs as a single container on SQLite, and another won’t sign anything until you give it a signing certificate, the file whose key stamps each finished PDF so anyone can check it hasn’t been changed since.
| Documenso | DocuSeal | OpenSign | |
|---|---|---|---|
| Database | PostgreSQL only | Built-in SQLite, or PostgreSQL or MySQL | MongoDB |
| Signing certificate | You create or buy one | Generated by the app, or upload your own | Built in, or supply your own |
| Paid self-hosted tier | Business Edition on a fixed yearly license; its page lists no price | Pro at $20 per user per month, billed yearly | Sold through OpenSign’s sales or support team |
We compared the three on the free self-hosted edition of each, using their documentation, READMEs and issue trackers. The short version: the most complete free edition is not the easiest one to install.
Scores
1–5 per criterion · select a score for its reasoning and sources| # | Product | Self-hosted setup | Sending features in the free edition | API, webhooks and embedding in the free edition | Digital signature options | Team and login controls in the free edition | Document storage choices | Overall |
|---|---|---|---|---|---|---|---|---|
| 1 | Documenso | 3 | 5 | 4 | 5 | 4 | 3 | 4.0 |
| 2 | DocuSeal | 5 | 3 | 3 | 4 | 2 | 4 | 3.5 |
| 3 | OpenSign | 4 | 3 | 1 | 3 | 3 | 2 | 2.7 |
How each criterion is scored
Self-hosted setup
What you have to run and prepare before the first document comes back signed, judged by the official install method. An email server and a reverse proxy for HTTPS are left out, since every product here needs or bundles them. A signing certificate counts as something to prepare only when the documentation says signing fails or is unavailable without one.
- 5 One container with a built-in database (such as SQLite) that signs documents with a certificate the app provides, so there is no database server or certificate to set up.
- 4 An official Docker Compose setup starts the app and its database, and documents are signed with a certificate the app provides.
- 3 An official Docker Compose setup starts the app and its database, but you must create or supply a signing certificate before documents can be signed.
- 2 An official container image, but you set up and connect the database server yourself.
- 1 No official container image; manual install only.
Sending features in the free edition
How many of five sending features the free self-hosted edition has: a signing order (signers receive the document one after another), automatic reminder emails, bulk send from a CSV or spreadsheet, a signing link you can share without sending email invitations, and an expiry date after which the document can't be signed. A feature counts unless the vendor's documentation says it needs a paid plan or license.
- 5 All five features.
- 4 Four of the five features.
- 3 Three of the five features.
- 2 Two of the five features.
- 1 One or none of the five features.
API, webhooks and embedding in the free edition
What the free self-hosted edition gives developers: an API to create and send documents, webhooks that report events such as a completed signature, embedded signing inside your own app, and an embedded editor for preparing documents inside your own app. A feature counts unless the vendor's documentation, or a maintainer's answer in the project's issue tracker, says it needs a paid plan or license.
- 5 An API, webhooks, embedded signing and an embedded document editor.
- 4 An API, webhooks and embedded signing; the embedded document editor needs a paid plan or license.
- 3 An API and webhooks; embedded signing needs a paid plan or license.
- 2 An API or webhooks, but not both.
- 1 Neither an API nor webhooks in the free self-hosted edition.
Digital signature options
How the completed PDF is digitally signed in the free self-hosted edition: whether you can use your own certificate, add trusted timestamps from an RFC 3161 timestamp server (which keep the signature valid after the certificate expires), and keep the signing key in a hardware security module (HSM). Options the documentation says need a paid plan or license don't count.
- 5 Your own certificate and a configurable timestamp server, plus a signing key kept in a hardware security module (HSM).
- 4 Your own certificate, plus a timestamp server you can configure.
- 3 You can sign with your own certificate (a .p12 or .pfx file).
- 2 Completed PDFs are signed with a certificate the app provides, and you can't use your own.
- 1 The documentation doesn't say completed PDFs are digitally signed.
Team and login controls in the free edition
How many of five team and login controls the free self-hosted edition has: several user accounts in one organisation, user roles with different permissions, teams that group users and share templates, two-factor login for users, and single sign-on through your own identity provider (SAML or any OpenID Connect provider). A feature counts unless the vendor's documentation says it needs a paid plan or license.
- 5 All five controls.
- 4 Four of the five controls.
- 3 Three of the five controls.
- 2 Two of the five controls.
- 1 One or none of the five controls.
Document storage choices
How many places the self-hosted app can keep uploaded and signed documents, counting each documented option: the server's own disk or database, S3-compatible object storage, Google Cloud Storage, Azure Blob Storage, and any other named storage service.
- 5 Five or more documented storage options.
- 4 Four documented storage options.
- 3 Three documented storage options.
- 2 Two documented storage options.
- 1 One fixed storage location.
Documenso is an open-source signing platform for teams that want the whole sending workflow without paying for a license. Its Enterprise list holds back mostly things a small team rarely needs, such as single sign-on, an embedded editor that lets your users prepare documents inside your own app, re-checking a signer with a passkey or 2FA before signing, and custom sender domains. Everything you use to send and chase a contract stays in the free Community Edition.
The price is paid once, at install time. You run PostgreSQL, which the official Docker Compose setup includes, and you generate or buy the signing certificate yourself. The docs are blunt that without it “all document signing will fail”, so treat the certificate as part of the install rather than a later tweak.
For developers, Documenso gives away more of the integration pieces than the other two: embedded signing is free here, so a signing step can live inside your own app without a license.
What it does
- Signing order, automatic reminders, bulk send from a CSV file and expiry deadlines
- Direct links for signers whose email you don't have
- REST API, webhooks and embedded signing
- Organisations and teams with member roles, plus two-factor login
- Trusted timestamps that keep signatures valid after the certificate expires
Pros
- None of its sending features is held back for a paid license
- The API, webhooks and embedded signing need no license
- Teams, organisation roles and two-factor login are free
- Can keep its signing key in dedicated hardware through Google Cloud HSM
Cons
- Ships without a signing certificate, and every signature fails until you add one
- Runs only on PostgreSQL; the docs rule out MySQL and SQLite
- Single sign-on through SAML or OIDC, the standards company login systems use, is an Enterprise feature
- The embedded editor, for preparing documents inside your own app, is an Enterprise feature
Who should skip:Organisations that require single sign-on through their own identity provider but won't buy a license.
DocuSeal is a PDF form and signing app, and it suits one person or a
small office that sends documents by hand and wants the least server
work. A single docker run command starts it, with no database server
or certificate to set up first.
The free edition stops at the features a growing team asks for next, and the cost of adding them is easy to work out. Self-hosted Pro is billed at $240 per user per year, so a five-person office pays 5 × $240 = $1,200 a year for reminders and roles that Documenso includes for free.
Developers still get something without paying. Every webhook request carries an HMAC signature, a code computed from the request and a secret you share with DocuSeal, so your server can check the request really came from DocuSeal. A few API endpoints, such as creating templates from PDF or DOCX files, need Pro.
What it does
- One container with a built-in SQLite database
- Signing order, shared signing links and expiry dates
- Your own .p12, .pfx or .der certificate and a trusted timestamp server
- API and webhooks
- Signing form in 14 languages
Pros
- Runs as a single container on SQLite, with PostgreSQL or MySQL as options
- Generates its own signing certificate, so documents sign from the first start
- Your own certificate and a timestamp server need no Pro license
Cons
- Automated reminders and bulk send from a spreadsheet are Pro features
- User roles, teams and SAML single sign-on are Pro features
- Embedded signing and the embedded form builder are Pro features
- Pro is priced per user, so its cost grows with every account
Who should skip:Teams that need automatic reminders or different permissions per user and won't pay per user for them.
OpenSign is an e-signature app for a team that signs documents by hand and wants several users with different permissions without buying a license, which DocuSeal’s free edition doesn’t offer.
OpenSign’s help docs note plan limits page by page, so the limits of a free self-hosted install have to be pieced together from those notes and from the issue tracker, where an OpenSignLabs collaborator wrote: “APIs are not a part of the free self-hosted version.” Teams are a paid-plan feature too.
Setup is lighter than Documenso’s, since there is no certificate to create, but the database needs attention. We’d point the app at a MongoDB you manage, with authentication on, before storing real contracts.
What it does
- Signing in a set order, shared signing links and documents that expire
- Email one-time codes for guest signers
- A completion certificate with the document's activity log
- Users with OrgAdmin, Editor and User roles
Pros
- The official Compose file starts MongoDB alongside the app, and documents sign with a built-in certificate
- User roles are documented for self-hosted installs
- Two-factor login for users, with no plan restriction in the docs
Cons
- The free self-hosted version has no API, and live webhooks need a paid plan
- Automatic reminders and bulk send are paid-plan features
- MongoDB authentication is off by default, so MongoDB's port 27017 must stay closed to the internet
- The README warns that the default MongoDB instance in deployment is cleared on restart
Who should skip:Developers who need an API or webhooks to connect signing to other software.
How to choose
- Free reminders or bulk sending: Documenso, if you can run PostgreSQL and create a certificate.
- Only an API and webhooks: DocuSeal, the lighter install; Documenso adds free embedded signing.
- A few documents you send yourself: DocuSeal.
- Several users with different permissions, no integrations: OpenSign, if you’ll run its MongoDB with authentication on, or Documenso if you accept its certificate step.
- Signing inside your own app: Documenso; DocuSeal’s embedding needs Pro.
- Single sign-on: none includes it free. DocuSeal Pro has a published price, Documenso’s self-hosting license page lists none, and OpenSign’s docs don’t describe it.
Our picks
Also considered
- LibreSign
Its README says organizations use it with Nextcloud and that it works with Nextcloud’s files, users and sharing. That suits readers who already run Nextcloud, not those looking for a standalone signing server, so we didn’t rank it here.
Questions
Where are signed documents stored on a self-hosted install?
On infrastructure you choose. Documenso keeps documents in its PostgreSQL database by default and can use S3-compatible storage or Azure Blob Storage instead. DocuSeal stores files on disk, AWS S3, Google Cloud Storage or Azure. OpenSign uses local storage or an AWS S3 or DigitalOcean Spaces bucket.
Can I verify signers by text message?
DocuSeal can, on its Pro plan, including on your own server: signers confirm their phone number with an SMS code before they view or sign. The Documenso and OpenSign documentation we checked doesn’t describe SMS verification.
How we scored
Every score cites quotes from each product's own documentation, website and release notes, or from trusted third parties, captured in November 2026. Each criterion counts the same, and a criterion the evidence doesn't cover is shown as "?" and left out of that product's overall score.
Each product is scored on its free self-hosted edition. A feature that the vendor’s documentation, or a maintainer in the project’s issue tracker, reserves for a paid plan or license counts as missing, even when the paid self-hosted tier includes it.

