finds.dev← search

// the find

OpenSignLabs/OpenSign

★ 6,513 · JavaScript · NOASSERTION · updated Jun 2026

🔥 The free & Open Source DocuSign alternative

OpenSign is a self-hosted e-signature platform built on React + Node.js + MongoDB, covering the core DocuSign workflows: PDF field placement, multi-signer routing, OTP verification for guests, audit trails, and templates. It's aimed at teams or individuals who want to run document signing on their own infrastructure rather than pay per-envelope fees.

The field-placement UI is genuinely feature-complete — draw, type, upload, and saved signatures, plus widget types (checkboxes, dropdowns, initials) that most open-source signing tools skip. Sequential signing order with rejection and expiry is implemented, which is the feature small teams usually hit a wall on with cheaper alternatives. Docker compose + Caddy setup is one command and actually works for self-hosting. The built-in email template builder (the React-based drag-and-drop emailbuilder subtree) means you can brand invitation and completion emails without touching code.

MongoDB as the data store is a questionable choice for a document-signing system where audit integrity matters — there's no transactional guarantee across the signing workflow, so a crash mid-sequence can leave document state inconsistent. The codebase mixes JSX and TSX across the same feature areas (emailbuilder is TypeScript, everything else is vanilla JS), which signals the project grew faster than its architecture decisions. AGPL-3 license means any SaaS you build on top must open-source your entire application, which is a non-starter for most commercial use cases and buried in the README rather than called out prominently. No mention of PDF/A archival format support or long-term signature validity (LTV) — legally required in several jurisdictions for enforceable electronic signatures.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →