# Documenso

Open-source e-signature with a documented v2 API for documents, templates, recipients and webhooks.

Send documents for signature, build templates, place fields and get webhooks, self-hosted under AGPL or on the Builder's cloud. The public API v2 is the agent interface; it is included in self-hosting but only on paid cloud plans. Documents and templates are being folded into envelopes, so watch the migration guide.

Alternative to: DocuSign, PandaDoc

- Capabilities: adaptable, operable
- Vertical: smb-ops-crm
- Shape: business-app
- Form factor: web-app
- Execution model: deterministic
- Provenance: human-written (recorded, never ranked)
- Repo: https://github.com/documenso/documenso (AGPL-3.0), 14863 stars, last commit 2026-09-02
- Last activity: 2026-09-02
- Page: apps/documenso--documenso.html
- JSON: apps/documenso--documenso.json

## Use it when

- I want contracts signed from our own server and our agent to create and send them from a template
- I am paying per envelope elsewhere and want a flat self-hosted signing tool

## Gotchas

- Cloud Free plan has no API access; API starts at Individual and is 'personal use only' there
- Documents and templates endpoints are being replaced by envelopes; build against the migration guide
- The Builder no longer accepts external pull requests
- AGPL: a modified hosted copy must publish source

## Editions

- Self-hosted: Free, open source
  - source: https://github.com/documenso/documenso
  - container: https://hub.docker.com/r/documenso/documenso
  - one-click: https://docs.documenso.com/docs/self-hosting
- Cloud Free: Free, closed source
  - hosted: https://documenso.com/pricing
- Individual: $25 per month, closed source
  - hosted: https://documenso.com/pricing
- Teams: $40 per month, closed source
  - hosted: https://documenso.com/pricing
- Platform: $250 per month, closed source
  - hosted: https://documenso.com/pricing

## Adaptable: make it yours

Effort: config-only (21 things to edit)

cp .env.example .env and set the NEXT_PRIVATE_* values: database, encryption keys, SMTP or Resend, and an S3 bucket for uploads. Signing certificate is a local .p12 (NEXT_PRIVATE_SIGNING_LOCAL_FILE_PATH) or Google Cloud HSM; OIDC, Google and Microsoft sign-in are env-driven; NEXT_PUBLIC_DISABLE_* flags lock down sign-up. Branding and templates are set in-product.

- Env vars: NEXT_PUBLIC_WEBAPP_URL, NEXTAUTH_SECRET, NEXT_PRIVATE_DATABASE_URL, NEXT_PRIVATE_ENCRYPTION_KEY, NEXT_PRIVATE_ENCRYPTION_SECONDARY_KEY, NEXT_PRIVATE_SMTP_TRANSPORT, NEXT_PRIVATE_SMTP_HOST, NEXT_PRIVATE_SMTP_FROM_ADDRESS, NEXT_PRIVATE_RESEND_API_KEY, NEXT_PRIVATE_UPLOAD_BUCKET, NEXT_PRIVATE_UPLOAD_ENDPOINT, NEXT_PRIVATE_SIGNING_TRANSPORT, NEXT_PRIVATE_SIGNING_LOCAL_FILE_PATH, NEXT_PRIVATE_SIGNING_PASSPHRASE, NEXT_PRIVATE_OIDC_WELL_KNOWN, NEXT_PRIVATE_OIDC_CLIENT_ID, NEXT_PRIVATE_ALLOWED_SIGNUP_DOMAINS, NEXT_PUBLIC_DISABLE_SIGNUP, NEXT_PRIVATE_DOCUMENSO_LICENSE_KEY
- Config files: .env.example, docker/compose.yml
- Prompt files: none
- Accounts you'll need: SMTP or Resend; S3-compatible storage; signing certificate (self-generated or Google Cloud HSM)

## Operable: what an agent can drive

Operability: official. Interface: api at https://docs.documenso.com/developers/public-api (published by the builder, both).

### Reach (partial coverage)

- Create a document and send it for signing: reachable. API v2 Documents: create, retrieve, update, delete; recipients and fields endpoints
- Build and reuse templates: reachable. API v2 Templates group
- Add recipients and place signature fields: reachable. API v2 Recipients and Fields groups
- Get notified when a document is viewed or completed: reachable. Webhooks documented on the public API page
- Manage team members: reachable. API v2 Teams group
- Sign on a recipient's behalf: not reachable. Signing is the recipient's act through the signing link or embedded signing; no API call signs for a person
- Embed signing in your own app: not reachable. Embedding is a front-end SDK, not an API operation
- Download the signed PDF and audit certificate: undetermined. Not confirmed on the API overview page; check openapi.documenso.com

## Code stack

- Languages: TypeScript
- Frameworks: React Router v7, Hono, Prisma, tRPC, Tailwind CSS, react-email
- Package manager: npm
- Database: PostgreSQL, Redis (optional)
- Hosting target: Docker, Railway, Kubernetes

## Skills

contributor: Repo carries contributor-facing development skills (browser automation, documentation, envelope editor E2E) for working on the app. [contributor tooling, not adopter-facing]
- Paths: .agents/skills/*/SKILL.md

## Evidence and confidence

- formFactor: README Tech Stack: React Router v7 app with Hono server, Docker images (confidence 0.95)
- executionModel: No runtime model; GOOGLE_VERTEX_* keys present but undocumented in README (confidence 0.7)
- operability: docs.documenso.com/developers/public-api: v2 API, api_ key in Authorization header (confidence 0.95)
- effort: README: cp .env.example .env with handpicked defaults; 100+ named NEXT_PRIVATE_* vars (confidence 0.9)
- editions: documenso.com/pricing fetched 2026-09-02: Free, Individual 25, Teams 40, Platform 250 USD/month (confidence 0.9)
- active: GitHub pushedAt 2026-09-03
- reach:  (confidence 0.8)

## Open questions

- What are the GOOGLE_VERTEX_* env vars for?
- Does the API expose signed PDF and audit log download?
- Is there a paid self-hosted license and what does NEXT_PRIVATE_DOCUMENSO_LICENSE_KEY unlock?

## Sources

- https://github.com/documenso/documenso (sourcing:smb-ops-crm:github)
- https://docs.documenso.com/developers/public-api (sourcing:smb-ops-crm:github)
- https://documenso.com/pricing (analysis)
