{
  "slug": "docusign-to-docuseal",
  "title": "Docusign Standard to self-hosted DocuSeal",
  "summary": "DocuSeal is lighter to run than Documenso and does the same job. The legal question is identical, though.",
  "publishable": true,
  "block_reason": null,
  "freshness": {
    "state": "fresh",
    "publishable": true,
    "oldest_input_days": 46.5,
    "problems": []
  },
  "incumbent": {
    "vendor": "Docusign",
    "vendor_id": "docusign",
    "plan": "Standard",
    "plan_id": "standard",
    "amount": 30,
    "period": "month",
    "per_seat": true,
    "billed": "annual",
    "seats": 5,
    "quote": "Standard ... $ 30 /user/month Annual ... This is an annual commitment of $360.",
    "caveat": null,
    "source_url": "https://www.docusign.com/products-and-pricing",
    "verified_at": "2026-10-19",
    "needs_reverification": false
  },
  "alternative": {
    "name": "DocuSeal (self-hosted)",
    "repo": "docusealco/docuseal",
    "project": {
      "full_name": "docusealco/docuseal",
      "url": "https://github.com/docusealco/docuseal",
      "homepage": "https://www.docuseal.com",
      "description": "Open source DocuSign alternative. Create, fill, and sign digital documents ✍️",
      "stars": 18752,
      "forks": 1896,
      "open_issues": 126,
      "license": "AGPL-3.0",
      "archived": false,
      "pushed_at": "2026-10-12T12:39:51Z",
      "days_since_push": 7,
      "latest_release": {
        "tag": "3.3.2",
        "published_at": "2026-10-12T12:39:51Z",
        "url": "https://github.com/docusealco/docuseal/releases/tag/3.3.2"
      },
      "days_since_release": 7,
      "health": "active",
      "recommended": true,
      "verified_at": "2026-10-19T10:53:50.233Z"
    },
    "box": {
      "provider": "Vultr",
      "name": "vc2-1c-2gb",
      "id": "vultr:vc2-1c-2gb",
      "vcpu": 1,
      "ram_gb": 2,
      "disk_gb": 55,
      "bandwidth_tb": 2,
      "monthly_usd": 10,
      "url": "https://www.vultr.com/pricing/",
      "verified_at": "2026-10-19T10:53:42.716Z"
    },
    "storage": {
      "id": "backblaze-b2",
      "name": "Backblaze B2",
      "usd_per_gb_month": 0.00695,
      "egress": "free up to 3x stored volume per month, then $0.01/GB",
      "pricing_url": "https://www.backblaze.com/cloud-storage/pricing",
      "quote": "the amount of data stored per byte-hour over the last month at a rate of $6.95/TB/30-day",
      "verified_at": "2026-09-03",
      "verified_by": "human",
      "affiliate": true,
      "gb": 50,
      "monthly_usd": 0.35
    },
    "requirements": {
      "ram_gb": 2,
      "vcpu": 1,
      "disk_gb": 30
    },
    "box_alternatives": [
      {
        "provider": "Vultr",
        "name": "vc2-1c-2gb",
        "monthly_usd": 10,
        "vcpu": 1,
        "ram_gb": 2,
        "disk_gb": 55,
        "url": "https://www.vultr.com/pricing/",
        "chosen": true
      },
      {
        "provider": "Linode",
        "name": "Linode 2GB",
        "monthly_usd": 12,
        "vcpu": 1,
        "ram_gb": 2,
        "disk_gb": 50,
        "url": "https://www.linode.com/pricing/",
        "chosen": false
      },
      {
        "provider": "DigitalOcean",
        "name": "1 vCPU · 2 GB",
        "monthly_usd": 12,
        "vcpu": 1,
        "ram_gb": 2,
        "disk_gb": 50,
        "url": "https://www.digitalocean.com/pricing/droplets",
        "chosen": false
      }
    ],
    "migration_hours": 6,
    "maintenance_hours_per_month": 0.6
  },
  "result": {
    "computable": true,
    "inputs": {
      "seats": 5,
      "horizon_months": 36,
      "hourly_rate": 50
    },
    "incumbent": {
      "cash_monthly": 150,
      "time_monthly": 0,
      "monthly": 150,
      "one_time": 0,
      "annual": 1800
    },
    "alternative": {
      "cash_monthly": 10.35,
      "time_monthly": 30,
      "monthly": 40.35,
      "one_time": 300,
      "cash_one_time": 0,
      "time_one_time": 300,
      "annual": 484.17
    },
    "delta": {
      "monthly": 109.65,
      "upfront_to_switch": 300,
      "annual": 1315.83
    },
    "break_even_month": 3,
    "break_even_hourly_rate": 182.16,
    "totals": {
      "at_12_months": {
        "incumbent": 1800,
        "alternative": 784.17
      },
      "at_36_months": {
        "incumbent": 5400,
        "alternative": 1752.51
      },
      "at_horizon": {
        "incumbent": 5400,
        "alternative": 1752.51
      }
    },
    "savings": {
      "year_1": 1015.83,
      "year_3": 3647.49,
      "at_horizon": 3647.49
    },
    "verdict": "switch"
  },
  "managed": null,
  "curve": [
    {
      "month": 0,
      "incumbent": 0,
      "alternative": 300
    },
    {
      "month": 1,
      "incumbent": 150,
      "alternative": 340.35
    },
    {
      "month": 2,
      "incumbent": 300,
      "alternative": 380.7
    },
    {
      "month": 3,
      "incumbent": 450,
      "alternative": 421.05
    },
    {
      "month": 4,
      "incumbent": 600,
      "alternative": 461.4
    },
    {
      "month": 5,
      "incumbent": 750,
      "alternative": 501.75
    },
    {
      "month": 6,
      "incumbent": 900,
      "alternative": 542.1
    },
    {
      "month": 7,
      "incumbent": 1050,
      "alternative": 582.45
    },
    {
      "month": 8,
      "incumbent": 1200,
      "alternative": 622.8
    },
    {
      "month": 9,
      "incumbent": 1350,
      "alternative": 663.15
    },
    {
      "month": 10,
      "incumbent": 1500,
      "alternative": 703.5
    },
    {
      "month": 11,
      "incumbent": 1650,
      "alternative": 743.85
    },
    {
      "month": 12,
      "incumbent": 1800,
      "alternative": 784.2
    },
    {
      "month": 13,
      "incumbent": 1950,
      "alternative": 824.55
    },
    {
      "month": 14,
      "incumbent": 2100,
      "alternative": 864.9
    },
    {
      "month": 15,
      "incumbent": 2250,
      "alternative": 905.25
    },
    {
      "month": 16,
      "incumbent": 2400,
      "alternative": 945.6
    },
    {
      "month": 17,
      "incumbent": 2550,
      "alternative": 985.95
    },
    {
      "month": 18,
      "incumbent": 2700,
      "alternative": 1026.3
    },
    {
      "month": 19,
      "incumbent": 2850,
      "alternative": 1066.65
    },
    {
      "month": 20,
      "incumbent": 3000,
      "alternative": 1107
    },
    {
      "month": 21,
      "incumbent": 3150,
      "alternative": 1147.35
    },
    {
      "month": 22,
      "incumbent": 3300,
      "alternative": 1187.7
    },
    {
      "month": 23,
      "incumbent": 3450,
      "alternative": 1228.05
    },
    {
      "month": 24,
      "incumbent": 3600,
      "alternative": 1268.4
    },
    {
      "month": 25,
      "incumbent": 3750,
      "alternative": 1308.75
    },
    {
      "month": 26,
      "incumbent": 3900,
      "alternative": 1349.1
    },
    {
      "month": 27,
      "incumbent": 4050,
      "alternative": 1389.45
    },
    {
      "month": 28,
      "incumbent": 4200,
      "alternative": 1429.8
    },
    {
      "month": 29,
      "incumbent": 4350,
      "alternative": 1470.15
    },
    {
      "month": 30,
      "incumbent": 4500,
      "alternative": 1510.5
    },
    {
      "month": 31,
      "incumbent": 4650,
      "alternative": 1550.85
    },
    {
      "month": 32,
      "incumbent": 4800,
      "alternative": 1591.2
    },
    {
      "month": 33,
      "incumbent": 4950,
      "alternative": 1631.55
    },
    {
      "month": 34,
      "incumbent": 5100,
      "alternative": 1671.9
    },
    {
      "month": 35,
      "incumbent": 5250,
      "alternative": 1712.25
    },
    {
      "month": 36,
      "incumbent": 5400,
      "alternative": 1752.6
    }
  ],
  "sensitivity": [
    {
      "hourly_rate": 0,
      "verdict": "switch",
      "break_even_month": 0,
      "savings_at_horizon": 5027.49
    },
    {
      "hourly_rate": 25,
      "verdict": "switch",
      "break_even_month": 2,
      "savings_at_horizon": 4337.49
    },
    {
      "hourly_rate": 50,
      "verdict": "switch",
      "break_even_month": 3,
      "savings_at_horizon": 3647.49
    },
    {
      "hourly_rate": 75,
      "verdict": "switch",
      "break_even_month": 5,
      "savings_at_horizon": 2957.49
    },
    {
      "hourly_rate": 100,
      "verdict": "switch",
      "break_even_month": 8,
      "savings_at_horizon": 2267.49
    },
    {
      "hourly_rate": 150,
      "verdict": "marginal",
      "break_even_month": 19,
      "savings_at_horizon": 887.49
    },
    {
      "hourly_rate": 200,
      "verdict": "stay",
      "break_even_month": 62,
      "savings_at_horizon": -492.51
    }
  ],
  "tradeoffs": {
    "you_lose": [
      "Docusign on the audit trail, which is worth something in a dispute",
      "Enterprise procurement acceptance you do not have to argue for",
      "Managed identity verification"
    ],
    "you_gain": [
      "A single Rails app that runs happily on a small box",
      "No envelope limits at any team size",
      "AGPL-3.0, with the signing implementation open to inspection"
    ]
  },
  "caveats": [
    "Everything on the Documenso page applies here: validity depends on your jurisdiction and on the evidence you can produce, and \"cryptographically sound\" is not the same as \"accepted by the other side's lawyers\".",
    "DocuSeal needs materially less server than Documenso, which is most of why the arithmetic differs between the two pages.",
    "For contracts worth more than the annual saving, we would stay on Docusign and treat the difference as insurance."
  ],
  "category": "e-signature",
  "updated_at": "2026-10-19"
}