Overview
Discover what makes Documenso powerful
Documenso is an open‑source, self‑hosted alternative to commercial e‑signature services such as DocuSign. At its core, it exposes a RESTful API and an embeddable web widget that allow developers to create, send, and manage legally binding electronic signatures within their own infrastructure. The application is designed with a modern **React + Next.js** front‑end and a **Node.js (NestJS)** back‑end, ensuring a cohesive full‑stack TypeScript codebase that simplifies contribution and debugging. By leveraging the **AGPLv3** license, Documenso encourages community collaboration while protecting its open‑source nature.
Multi‑party signing
Audit trails and timestamping
Document templating
Webhook support
Overview
Documenso is an open‑source, self‑hosted alternative to commercial e‑signature services such as DocuSign. At its core, it exposes a RESTful API and an embeddable web widget that allow developers to create, send, and manage legally binding electronic signatures within their own infrastructure. The application is designed with a modern React + Next.js front‑end and a Node.js (NestJS) back‑end, ensuring a cohesive full‑stack TypeScript codebase that simplifies contribution and debugging. By leveraging the AGPLv3 license, Documenso encourages community collaboration while protecting its open‑source nature.
Key Features
- Multi‑party signing with customizable workflow steps (e.g., sequential or parallel signatures).
- Audit trails and timestamping using PostgreSQL’s
timestamptzfields and optional integration with external time‑stamping authorities. - Document templating via JSON‑defined placeholders, enabling dynamic PDF generation with
pdf-libor similar libraries. - Webhook support for real‑time notifications on events such as
document_signed,signature_declined, anddocument_expired. - Role‑based access control (admin, signer, viewer) built on JWT authentication and Prisma ORM for database abstraction.
Technical Stack
| Layer | Technology | Rationale |
|---|---|---|
| Front‑end | Next.js (React), TypeScript, Tailwind CSS | Server‑side rendering for SEO and fast initial load; TypeScript ensures type safety across UI components. |
| API | NestJS, TypeScript | Modular architecture (modules/controllers/providers) facilitates clean separation of concerns and easy unit testing. |
| Database | PostgreSQL (via Prisma) | ACID compliance, rich JSON support for document metadata, and widespread Docker images. |
| Auth | JWT + Passport.js strategies | Stateless authentication suitable for micro‑service deployments. |
| Containerization | Docker Compose + optional Kubernetes manifests | Simplifies local dev with docker-compose up and supports production scaling via Helm charts. |
| CI/CD | GitHub Actions | Automated linting, unit tests, and Docker image builds; integrates with GitHub Discussions for community feedback. |
Core Capabilities
- API Endpoints:
/documents,/signatures,/webhooksexpose CRUD operations, status polling, and bulk import/export. - SDKs: A lightweight JavaScript SDK (available on npm) wraps HTTP calls, handles JWT refresh logic, and exposes event listeners for signature status changes.
- Embedding: The
DocumensoWidgetcomponent can be dropped into any React or vanilla JS app, rendering a modal with the signing flow without leaving the host page. - Extensibility Hooks: Custom middleware can be injected into NestJS modules to alter validation logic or add new authentication providers (e.g., OAuth, SAML).
Deployment & Infrastructure
Documenso ships with a ready‑made docker-compose.yml that orchestrates:
- API Service – Node.js server listening on port 3000.
- Web UI – Next.js static build served via Nginx for production.
- PostgreSQL – Persisted data; optional volume mounting for backups.
- Redis – Optional queueing layer (BullMQ) for background signature processing.
For larger deployments, the repository includes Helm charts and a sample kustomize overlay that expose horizontal pod autoscaling based on CPU/memory thresholds. The application can be run behind a reverse proxy (NGINX, Traefik) with TLS termination and HTTP/2 support. Self‑hosted deployments benefit from full data sovereignty, GDPR compliance by design, and the ability to audit all network traffic locally.
Integration & Extensibility
- Webhooks: Register endpoints to receive JSON payloads for real‑time event handling. The schema is documented in the
/docsdirectory and can be consumed by any language. - Custom Signer UI: Replace the default canvas with a third‑party signature pad (e.g.,
signature_pad) by overriding theSignFormcomponent. - Plugin System: While no formal plugin API exists yet, the modular NestJS architecture allows developers to fork and extend modules or contribute pull requests that add new features (e.g., integration with external identity providers).
- Third‑Party Storage: The file storage layer is abstracted via Prisma, enabling swap to S3, Azure Blob, or local disk without changing business logic.
Developer Experience
Documenso’s documentation is organized into Getting Started, API Reference, and Contribution Guidelines sections, all hosted on GitHub Pages. The codebase follows consistent linting rules (eslint, prettier) and includes comprehensive unit tests (Jest) that cover 80%+ of critical paths. The active Discord community provides quick support, while the issue tracker is triaged with clear labels (bug, enhancement). The inclusion of a VS Code Dev Container definition means developers can spin up the full stack in minutes, reducing onboarding friction.
Use Cases
- Enterprise SaaS Platforms – Embed a fully‑controlled signing workflow into a B2B product, ensuring compliance with ISO 27001 while keeping data on-premises.
- Legal Tech Startups – Rapidly prototype a document‑management portal with custom templates and audit trails, leveraging the open‑source codebase
Open SourceReady to get started?
Join the community and start self-hosting Documenso today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
WinterCMS
Fast, secure CMS built on Laravel for developers and agencies
ManageMeals
Free, fast recipe manager for meal planning
Zipline
Fast, secure file sharing with powerful webhooks and customization
TiddlyWiki
Personal knowledge base in a single file
RSS2EMail
Self-hosted other
Bytebase
Database CI/CD for DevOps teams
