DocuSeal
Open source document signing platform with WYSIWYG PDF builder, multi-party workflows, REST API, and full self-hosting via Docker.
DocuSeal is an open source alternative to DocuSign that enables individuals and businesses to create fillable PDF forms, collect legally binding digital signatures, and automate document workflows — all while maintaining complete control over data through self-hosting. Built for developers and teams who need compliant, customizable eSignature capabilities without vendor lock-in or per-signature fees.
The platform ships with a drag-and-drop PDF form builder supporting 12 field types, multi-party signing workflows, automated email notifications via custom SMTP, and flexible file storage across disk, AWS S3, Google Cloud Storage, and Azure Blob Storage. A documented REST API and webhook system let teams integrate signing directly into their own products.
Deployment is straightforward: a single Docker command starts a working instance backed by SQLite, while Docker Compose with Caddy handles production deployments with automatic SSL. One-click deploy options exist for Heroku, Railway, DigitalOcean, and Render. Version 3.0 introduced MCP (Model Context Protocol) support, making DocuSeal one of the first document platforms with native AI agent integration.
Pro and cloud tiers add white-labeling, SSO/SAML, conditional fields, automated reminders, SMS identity verification, and bulk send via CSV/XLSX imports — enabling the same codebase to serve freelancers through enterprise legal teams.
What You Get
- WYSIWYG PDF Form Builder - Drag and drop 12 field types (Signature, Initials, Date, Text, Checkbox, Radio, File Upload, Phone, Payment, Stamp, Image, Select) directly onto PDFs in a browser without writing code.
- Multi-Party Signing Workflows - Define multiple signers per document with sequential or parallel routing, so each party receives their invitation only when the previous signer completes their step.
- Automatic PDF eSignature Stamping - Signed documents receive cryptographically verifiable digital signatures embedded directly into the PDF, with a built-in verification tool for auditing authenticity.
- REST API and Webhooks - A fully documented REST API (with code examples in Ruby, Python, Node.js, PHP, Go, Java, C#, and TypeScript) plus webhook events for every lifecycle stage: submission created, form viewed, started, completed, declined, and archived.
- Embeddable Signing and Builder Components - Native SDKs for React, Vue, Angular, and vanilla JavaScript let you embed the signing form or the template builder directly inside your own web app.
- MCP (Model Context Protocol) Integration - Native MCP server endpoint lets AI agents create, send, and manage signing requests programmatically through tools like Claude and other MCP-compatible clients.
- Flexible Storage Backends - Store uploaded documents and completed signed files on local disk or route them to AWS S3, Google Cloud Storage, or Azure Blob Storage via environment variable configuration.
- Automated Email via Custom SMTP - Send signing invitations, reminders, and completion receipts through your own SMTP server, keeping all email traffic within your domain and branding.
- 14-Language Signing UI - Signers can complete documents in 14 languages with fully localized field labels and prompts, while the admin interface supports 7 languages.
- SQLite, PostgreSQL, and MySQL Support - Works out of the box with SQLite for single-server deployments and supports PostgreSQL or MySQL for multi-node production environments via DATABASE_URL.
- Bulk Send via CSV/XLSX - Upload a spreadsheet to dispatch personalized signing requests to hundreds of recipients simultaneously, with dynamic field pre-population from column values.
- AI-Powered Field Detection - Embedded ONNX Runtime model automatically detects form field positions in uploaded PDFs, pre-placing input areas so builders spend less time manually positioning fields.
Common Use Cases
- Legal intake and client onboarding - A law firm uploads NDA and engagement letter templates, sends them to new clients for eSignature via email, and stores completed PDFs in S3 for compliance archiving — without paying per-signature fees.
- Embedding signing into a SaaS product - A property management platform embeds DocuSeal’s React SDK to let landlords and tenants sign lease agreements without leaving the application, using the REST API to pre-populate tenant details.
- High-volume KYC document collection - A fintech startup uses the bulk send API to dispatch identity verification forms to thousands of users, triggering webhook events on completion to automatically advance each user’s onboarding state.
- Internal HR document workflows - An HR team self-hosts DocuSeal to route offer letters, benefits enrollment forms, and policy acknowledgments through sequential multi-signer workflows, keeping all employee data on-premises.
- AI agent-driven contract automation - A developer connects DocuSeal’s MCP endpoint to an AI assistant, enabling the agent to create templates, send signature requests, and check completion status in response to natural language instructions.
- White-labeled document portal for clients - A digital agency deploys DocuSeal with the Pro tier to offer branded document signing to each of its clients, using SSO and per-account isolation to keep client data separate.
Under The Hood
Architecture DocuSeal follows a conventional Rails modular monolith pattern where domain boundaries are enforced through the MVC layer rather than separate services. The Template, Submission, and Submitter models form the core data graph: a template defines the form schema and field positions, a submission instantiates it for a specific signing session, and submitters track each party’s completion state through webhook-dispatched Sidekiq background jobs. Authorization flows through CanCanCan with ability definitions scoped per account, keeping multi-tenancy enforced at the model layer without a separate middleware concern. The addition of a full MCP endpoint — handling JSON-RPC 2.0 requests with CanCan authorization applied at the tool level — demonstrates how the existing auth infrastructure cleanly extends to new protocol paradigms without architectural change.
Tech Stack The server is Ruby 4.0 on Rails 8, with Shakapacker bundling a Vue 3 frontend for the interactive template builder and signing form, while Hotwire Turbo handles page transitions and form submissions without full-page reloads. PDF generation and signature stamping use HexaPDF, while an embedded ONNX Runtime model and PDFium binary handle AI field detection and PDF rendering respectively — both bundled directly into the Docker image. Sidekiq processes background jobs (webhook dispatches, email sends, PDF previews), and Caddy serves as a reverse proxy with automatic SSL in the Docker Compose production setup. Storage adapters for AWS S3, Google Cloud Storage, and Azure Blob are loaded conditionally via require: false to keep the base image lean.
Code Quality The test suite is comprehensive: RSpec covers unit and integration levels across models, API endpoints, mailers, and jobs, while Capybara with Cuprite drives real-browser system tests across the full signing and template-building workflows. Rubocop with rubocop-rails and rubocop-performance enforces code style in CI. Models carry annotated schema comments via annotate_rb, frozen_string_literal is enforced project-wide, and database columns use serialize with JSON coders for structured field definitions. Error handling in the API layer uses explicit rescue blocks returning structured JSON-RPC error objects rather than relying on Rails’ generic exception handling, indicating intentional API reliability design.
What Makes It Unique The native MCP endpoint is the most distinctive recent addition — DocuSeal exposes a JSON-RPC 2.0 MCP server directly within the Rails app, authenticated via existing user sessions and governed by CanCan ability checks, making it one of the first self-hosted document signing platforms with built-in AI agent tooling. The embedded ONNX model for automatic field detection removes a significant friction point for users migrating complex existing PDFs. The multi-language architecture supports 14 signing locales with the same template, enabling global document workflows without per-locale template duplication. The conditional Pro feature gating is implemented cleanly through account-level config keys rather than a separate binary, meaning the community edition and Pro share one codebase with capability unlocking rather than a fork.
Self-Hosting
DocuSeal is distributed under the GNU Affero General Public License v3.0 with Section 7(b) additional terms that require retaining the original DocuSeal attribution in interactive user interfaces. The AGPL-3.0 is a strong copyleft license: you can use, modify, and self-host it freely for any purpose, including commercial use, but any modifications you deploy over a network must also be released under AGPL-3.0. The attribution clause means you cannot remove the DocuSeal branding from the UI without upgrading to the Pro tier, which grants a commercial license permitting white-labeling. For most self-hosters using it internally — a law firm, an HR team, a SaaS company embedding the API — the AGPL terms present no practical restriction, since no modified source distribution is involved.
Operating DocuSeal yourself requires a Linux server (or cloud VM) capable of running Docker. The production Docker Compose configuration bundles Caddy for SSL termination, Sidekiq for background job processing, and a choice of SQLite (suitable for low-to-medium volume), PostgreSQL, or MySQL for the primary database. You own uptime, backups, database snapshots, and upgrades entirely — the maintainers publish weekly releases, so staying current requires monitoring release notes and running docker pull plus docker compose up. Infrastructure complexity is low by Rails application standards: the main runtime dependencies (PDFium, ONNX model, fonts) are baked into the Docker image, eliminating manual binary management.
Compared to the hosted DocuSeal Cloud or the Pro tier, self-hosters forgo managed upgrades, guaranteed uptime SLAs, 24/7 support channels, and cloud-native high availability. The Pro features — white-labeling, SSO/SAML, automated SMS reminders, conditional fields, and bulk send — require a Pro license even when self-hosting, so teams that need those capabilities must purchase a subscription regardless of deployment model. DocuSeal Cloud additionally offers multi-region storage and managed backups out of the box. For teams comfortable with Docker operations who want full data sovereignty and no per-signature costs, self-hosting is a well-supported path; for teams prioritizing zero operational overhead, the managed cloud tier is the practical choice.
Related Apps
Papermark
Digital Signiture · File Storage
Open-source DocSend alternative with page-by-page analytics, secure data rooms, and custom domains for document sharing.
Papermark
OtherOpenSign
Digital Signiture
Self-host a full-featured DocuSign alternative with unlimited e-signatures, multi-signer workflows, and cryptographic PDF signing.