Favicon of Documenso

Documenso

Documenso is the open source, self-hostable alternative to DocuSign for digital document signing.

Open Source Alternative to:
Documenso website screenshot
Documenso GitHub repository preview

Documenso is the open source alternative to DocuSign, aimed at teams that want to self-host their document-signing infrastructure instead of trusting a third-party provider with legally binding signatures. Because it's fully open source, organizations can audit exactly how signatures are created and stored rather than taking a SaaS vendor's word for it. Signing documents digitally introduces a new party to every signature, the signing tool provider, and Documenso's position is that this trust should be earned through auditability and self-hosting rather than assumed. The project describes its goal as building the next generation of open trust infrastructure for digital signatures.

Key features

  • Digital signature workflows: upload a PDF, place signature fields, and route it to one or more signers.
  • Self-hostable: run Documenso on your own infrastructure with Docker for full control over signed documents.
  • Team support: manage document signing across an organization with roles and shared templates.
  • PDF handling built on open libraries: uses @libpdf/core for signatures, pdf.js for viewing, and @cantoo/pdf-lib for manipulation.
  • Email notifications via react-email: signers and senders get templated email updates as documents move through the signing process.
  • Internationalization: the signing interface is localized through Lingui.
  • Enterprise plan available: larger organizations needing extra flexibility and control can contact the team directly, while the core product stays open source.

Tech stack

Documenso is built with TypeScript, React Router v7, and Hono for the server, Prisma as the ORM, Tailwind CSS with shadcn/ui and Radix UI for components, and tRPC for the API layer. Stripe handles payments for the hosted version, and Playwright covers end-to-end testing.

Getting started

The developer quickstart is to fork and clone the repository, copy .env.example to .env, run npm run dx to spin up a Postgres database and an Inbucket mail server in Docker, then run npm run dev (or npm run d to do both in one step). Local access points during development are the app at localhost:3000, the mail catcher at localhost:9000, Postgres on port 54320, and an S3 storage dashboard at localhost:9001. Official Docker images are also published on Docker Hub and GitHub Container Registry, along with DevContainer and Gitpod configurations for a browser-based setup, and a video walkthrough of the manual setup process is available for developers who prefer to follow along visually.

Community discussion happens through GitHub Discussions and a Discord server, and detailed GitHub issues are the primary way to report bugs or propose features, since the project generally pauses external pull requests outside a small group of trusted contributors. Upcoming releases and the public roadmap are tracked separately from the main documentation site, so teams evaluating self-hosting can see what's shipping next before committing to an install.

Frequently asked questions

Share:

Stars
14.2K
Forks
3K
Last commit
18 hours ago
Repository age
3 years
License
AGPL-3.0
Self-hosted
Yes
Activity score
82/100
View Repository
Ad
Favicon

 

  
 

Similar to Documenso

Favicon

 

  
 
Favicon

 

  
 
Favicon