DocuSeal
Open-source document signing with a REST API, webhooks, SDKs in seven languages, a CLI and an MCP endpoint.
PDF form builder, multi-signer submissions, automatic e-signatures and verification, self-hosted from one Docker image with SQLite by default. The Builder documents the API at docuseal.com/docs/api, ships SDKs and a CLI on the docusealco org, and runs an MCP server at mcp.docuseal.com. Pro features (white-label, reminders, SMS, conditional fields, HTML template API, embedded forms) are closed.
- I want clients to sign onboarding forms from our own domain and our agent to send them from a template
- I need signing inside a client's portal and will pay Pro for the embedded builder
- AGPL with Section 7(b) additional terms: read LICENSE_ADDITIONAL_TERMS before rebranding
- White-label, reminders, roles, SSO, conditional fields and embedded forms are Pro (closed)
- Free edition sends invitation emails only over your own SMTP
- mcp.docuseal.com refuses plain GET; tool list not verified
Last activity Aug 31, 2026. Fit: adaptable 2, operable 3.
Editions
Self-hosted · Free open source
Cloud · Free closed source
- HostedOpen the hosted app
Pro · Free closed source
- HostedOpen the hosted app
Adaptable: what is yours to change
Make it yours
Config only7 things to edit
Run the Docker image; set DATABASE_URL to move off SQLite and HOST for the Compose stack, which issues TLS through Caddy. SMTP, storage (disk, S3, Google, Azure), branding and languages are set in the app's settings. Rails config lives in config/ (database.yml, storage.yml, sidekiq.yml). Pro features are closed, so white-label and reminders are not a fork away.
- Env vars
DATABASE_URLHOSTSECRET_KEY_BASE- Config files
docker-compose.ymlconfig/database.ymlconfig/storage.ymlconfig/sidekiq.yml- Prompt files
- none
- Accounts you need
- SMTP providercloud storage (optional)DocuSeal account (Pro or cloud)
Source
- github.com/docusealco/docuseal
- AGPL-3.0 with Section 7(b) additional terms license
- Last commit Aug 31, 2026
- 18,417 stars
Operable: what an agent can drive
Interface
OfficialAPIpublished by the builderremote or local
How an agent can drive an Operable Listing, in five levels: native (built for the agent as the primary interface), official (the Builder ships an agent interface), wrapped (a third party wraps the software's API), config (an agent can only drive it by editing files), gui (screen control only). An interface is official only when it is published by the same organization that ships the software. GUI-level Listings are allowed and sorted last.
Reach
Partial coverage. 4 of 8 jobs reachable through the stated interface.
| Job | Through the interface | Evidence |
|---|---|---|
| Create templates from PDF, DOCX or HTML | Reachable | API Templates: create from PDF/DOCX/HTML, clone, merge, update, archive; HTML and field-tag APIs are Pro |
| Send a document for filling and signing | Reachable | API Submissions: create from template or file, list, retrieve, archive |
| Pre-fill fields and track each signer | Reachable | API Submitters: list, retrieve, update with field values |
| Get events (viewed, completed, declined) | Reachable | Webhooks: form, submission and template events |
| Bulk send from a spreadsheet | Undetermined | Bulk send is a Pro UI feature; API equivalent is a loop of submissions |
| Embed the signing form or builder in your app | Not reachable | Embedded forms are front-end SDKs (React, Vue, Angular, JS), Pro only |
| Manage users and roles | Undetermined | Not on the API page; roles are Pro |
| Verify a signed PDF | Undetermined | Verification is a product feature; API endpoint not confirmed |
Code stack
- Languages
- RubyJavaScript
- Frameworks
- Ruby on RailsVue.jsSidekiqShakapacker
- Package manager
- bundler + yarn
- Database
- SQLite (default)PostgreSQLMySQL
- Hosting target
- DockerDocker Compose with CaddyHerokuRailwayDigitalOceanRender
- Built
- Human-written (recorded, never ranked)
Evidence and confidence
| Field | Where it was seen | Confidence |
|---|---|---|
| formFactor | README: web tool, single Docker image | 95% |
| executionModel | No model in README or config/ | 85% |
| operability | docuseal.com/docs/api: X-Auth-Token API, webhooks, SDKs (JS, Python, Ruby, PHP, Java, C#, Go), CLI; mcp.docuseal.com on the Builder's domain; docusealco org has docuseal-cli, docuseal-python, docuseal-ruby, docuseal-php | 90% |
| effort | README Docker section names DATABASE_URL and HOST; config/ has 23 Rails files | 80% |
| editions | README Features vs Pro Features; docuseal.com/pricing | 70% |
| active | GitHub pushedAt 2026-08-31 | – |
| reach | 80% |
Open questions
- Pro and cloud prices
- Tools exposed by mcp.docuseal.com and whether it works with self-hosted instances
- Full list of supported env vars beyond DATABASE_URL, HOST and SECRET_KEY_BASE
Sources
- github.com/docusealco/docuseal sourcing:smb-ops-crm:github
- www.docuseal.com/docs/api sourcing:smb-ops-crm:github