Self-hosted electronic signatures
Runs on your own server
SignHand does what DocuSign does — upload a PDF, place the fields, send it, collect legally useful signatures — except it runs on hardware you control. Nothing is uploaded to a third party, and the audit trail stays in your own database.
38 ready-to-edit contracts — employment, NDA, lease, supply, SLA — written in English, German and Turkish.
English, German, French, Spanish, Turkish. Each person picks their own in Settings; the site changes instantly.
Ask a signer to confirm a phone number before the document is shown to them at all. Codes go out through your Twilio account.
Save a document with its fields and roles. Fill in the names each time instead of rebuilding the layout.
Chase the people who have not signed, on your schedule, and close a contract that has gone stale.
Created, sent, opened, signed, declined, verified — each with a timestamp and an IP address, and none of it leaving your database.
Drop in a PDF, sign it on the spot, and e-mail a copy to whoever needs one. No recipients, no waiting.
A DocuSign-compatible surface at /restapi/v2.1, so existing integrations and client libraries mostly just work.
Drag any of these onto a page and assign it to a recipient. The four in blue fill themselves in at signing time.
Tick SMS verification on a signer and their link asks for a six-digit code before it shows anything. Not the document list, not the PDF bytes, not the signed copy afterwards. The code is checked on the server, so the gate is not something a browser can be talked out of.
A code lives 30 minutes. Five wrong entries lock the link and e-mail the sender, who can unlock it or correct the number. The five belong to the person, not to the code — asking for a new one does not buy more guesses.
| Runs on | Ubuntu or Windows Server · Node 20+ · PostgreSQL 14+ |
|---|---|
| Smallest sensible server | 1 vCPU · 1 GB RAM + swap · 20 GB SSD |
| Upload limit | 25 MB per file · 20 files per envelope |
| Signing link validity | 30 days, configurable |
| Interface languages | EN · DE · FR · ES · TR |
| Library | 38 contracts, bodies in EN · DE · TR |
| Outgoing mail | Your own SMTP server, per account |
| Secrets at rest | AES-256-GCM |
| API base | /restapi/v2.1/accounts/{accountId} |
In witness whereof, the parties have hereunto set their hands — which is all a contract has ever asked for, all this software is built to collect, and where the name comes from.