{
  "version": "2",
  "generatedAt": "2026-11-03T22:49:39.280Z",
  "listing": {
    "slug": "documenso--documenso",
    "name": "Documenso",
    "tagline": "Open-source e-signature with a documented v2 API for documents, templates, recipients and webhooks.",
    "shortTagline": "Open-source e-signature",
    "description": "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.",
    "capabilities": [
      "adaptable",
      "operable"
    ],
    "vertical": "smb-ops-crm",
    "alternativeTo": [
      "DocuSign",
      "PandaDoc"
    ],
    "shape": "business-app",
    "formFactor": "web-app",
    "executionModel": "deterministic",
    "provenance": "human-written",
    "codeStack": {
      "languages": [
        "TypeScript"
      ],
      "frameworks": [
        "React Router v7",
        "Hono",
        "Prisma",
        "tRPC",
        "Tailwind CSS",
        "react-email"
      ],
      "packageManager": "npm",
      "database": [
        "PostgreSQL",
        "Redis (optional)"
      ],
      "hostingTarget": [
        "Docker",
        "Railway",
        "Kubernetes"
      ]
    },
    "modelStack": null,
    "repos": [
      {
        "url": "https://github.com/documenso/documenso",
        "owner": "documenso",
        "name": "documenso",
        "license": "AGPL-3.0",
        "stars": 14863,
        "lastCommit": "2026-09-02"
      }
    ],
    "interface": {
      "kind": "api",
      "url": "https://docs.documenso.com/developers/public-api",
      "official": true,
      "hosted": "both"
    },
    "operability": "official",
    "recommendedWrapper": null,
    "reach": [
      {
        "job": "Create a document and send it for signing",
        "reachable": true,
        "evidence": "API v2 Documents: create, retrieve, update, delete; recipients and fields endpoints"
      },
      {
        "job": "Build and reuse templates",
        "reachable": true,
        "evidence": "API v2 Templates group"
      },
      {
        "job": "Add recipients and place signature fields",
        "reachable": true,
        "evidence": "API v2 Recipients and Fields groups"
      },
      {
        "job": "Get notified when a document is viewed or completed",
        "reachable": true,
        "evidence": "Webhooks documented on the public API page"
      },
      {
        "job": "Manage team members",
        "reachable": true,
        "evidence": "API v2 Teams group"
      },
      {
        "job": "Sign on a recipient's behalf",
        "reachable": false,
        "evidence": "Signing is the recipient's act through the signing link or embedded signing; no API call signs for a person"
      },
      {
        "job": "Embed signing in your own app",
        "reachable": false,
        "evidence": "Embedding is a front-end SDK, not an API operation"
      },
      {
        "job": "Download the signed PDF and audit certificate",
        "reachable": null,
        "evidence": "Not confirmed on the API overview page; check openapi.documenso.com"
      }
    ],
    "editions": [
      {
        "name": "Self-hosted",
        "price": null,
        "open": true,
        "distributions": [
          {
            "kind": "source",
            "url": "https://github.com/documenso/documenso"
          },
          {
            "kind": "container",
            "url": "https://hub.docker.com/r/documenso/documenso"
          },
          {
            "kind": "one-click",
            "url": "https://docs.documenso.com/docs/self-hosting"
          }
        ]
      },
      {
        "name": "Cloud Free",
        "price": null,
        "open": false,
        "distributions": [
          {
            "kind": "hosted",
            "url": "https://documenso.com/pricing"
          }
        ]
      },
      {
        "name": "Individual",
        "price": {
          "amount": 25,
          "currency": "USD",
          "period": "month"
        },
        "open": false,
        "distributions": [
          {
            "kind": "hosted",
            "url": "https://documenso.com/pricing"
          }
        ]
      },
      {
        "name": "Teams",
        "price": {
          "amount": 40,
          "currency": "USD",
          "period": "month"
        },
        "open": false,
        "distributions": [
          {
            "kind": "hosted",
            "url": "https://documenso.com/pricing"
          }
        ]
      },
      {
        "name": "Platform",
        "price": {
          "amount": 250,
          "currency": "USD",
          "period": "month"
        },
        "open": false,
        "distributions": [
          {
            "kind": "hosted",
            "url": "https://documenso.com/pricing"
          }
        ]
      }
    ],
    "skills": {
      "kind": "contributor",
      "paths": [
        ".agents/skills/*/SKILL.md"
      ],
      "install": null,
      "note": "Repo carries contributor-facing development skills (browser automation, documentation, envelope editor E2E) for working on the app. [contributor tooling, not adopter-facing]"
    },
    "customization": {
      "summary": "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.",
      "envVars": [
        "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"
      ],
      "configFiles": [
        ".env.example",
        "docker/compose.yml"
      ],
      "promptFiles": [],
      "effort": "config-only",
      "editCount": 21
    },
    "useWhen": [
      "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"
    ],
    "accounts": [
      "SMTP or Resend",
      "S3-compatible storage",
      "signing certificate (self-generated or Google Cloud HSM)"
    ],
    "active": true,
    "lastActivity": "2026-09-02",
    "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"
    ],
    "fit": {
      "adaptable": 2,
      "operable": 3
    },
    "evidence": {
      "formFactor": "README Tech Stack: React Router v7 app with Hono server, Docker images",
      "executionModel": "No runtime model; GOOGLE_VERTEX_* keys present but undocumented in README",
      "operability": "docs.documenso.com/developers/public-api: v2 API, api_ key in Authorization header",
      "effort": "README: cp .env.example .env with handpicked defaults; 100+ named NEXT_PRIVATE_* vars",
      "editions": "documenso.com/pricing fetched 2026-09-02: Free, Individual 25, Teams 40, Platform 250 USD/month",
      "active": "GitHub pushedAt 2026-09-03"
    },
    "confidence": {
      "formFactor": 0.95,
      "executionModel": 0.7,
      "operability": 0.95,
      "effort": 0.9,
      "reach": 0.8,
      "editions": 0.9
    },
    "openQuestions": [
      "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": [
      {
        "url": "https://github.com/documenso/documenso",
        "foundBy": "sourcing:smb-ops-crm:github"
      },
      {
        "url": "https://docs.documenso.com/developers/public-api",
        "foundBy": "sourcing:smb-ops-crm:github"
      },
      {
        "url": "https://documenso.com/pricing",
        "foundBy": "analysis"
      }
    ],
    "research": {
      "stage": "verified",
      "verdict": "unverified",
      "reason": "Both capabilities. Official API with near-complete Reach for a signing tool; Adaptable 2 on AGPL.",
      "disputed": []
    },
    "url": "apps/documenso--documenso.html",
    "coverage": "partial",
    "paid": true,
    "source": "research/verified/documenso--documenso.json"
  }
}
