SignHand

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.

The flow

From a PDF to a signed copy

  1. Upload the document One PDF or twenty. Page sizes are read on the way in, so fields land where you put them.
  2. Place the fields Drag signature, initials and date boxes onto the page, one colour per recipient.
  3. Add the recipients Signers, people who only receive a copy, and a signing order when sequence matters.
  4. They sign in a browser A personal link, no account needed. They draw or type a signature and finish on a phone.
  5. Everyone gets the signed copy The fields are burned into the PDF and a certificate of completion is attached.

What it does

Contract library

38 ready-to-edit contracts — employment, NDA, lease, supply, SLA — written in English, German and Turkish.

Five languages

English, German, French, Spanish, Turkish. Each person picks their own in Settings; the site changes instantly.

SMS verification

Ask a signer to confirm a phone number before the document is shown to them at all. Codes go out through your Twilio account.

Reusable templates

Save a document with its fields and roles. Fill in the names each time instead of rebuilding the layout.

Reminders and expiry

Chase the people who have not signed, on your schedule, and close a contract that has gone stale.

Audit trail

Created, sent, opened, signed, declined, verified — each with a timestamp and an IP address, and none of it leaving your database.

Sign it yourself

Drop in a PDF, sign it on the spot, and e-mail a copy to whoever needs one. No recipients, no waiting.

REST API

A DocuSign-compatible surface at /restapi/v2.1, so existing integrations and client libraries mostly just work.

Fields

Eleven kinds of box

Drag any of these onto a page and assign it to a recipient. The four in blue fill themselves in at signing time.

  • Signature
  • Initials
  • Stamp
  • Date signed
  • Name
  • E-mail
  • Job title
  • Company
  • Text box
  • Checkbox
  • Dropdown

Identity

A phone number, before the first page

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.

Specifications

Runs onUbuntu or Windows Server · Node 20+ · PostgreSQL 14+
Smallest sensible server1 vCPU · 1 GB RAM + swap · 20 GB SSD
Upload limit25 MB per file · 20 files per envelope
Signing link validity30 days, configurable
Interface languagesEN · DE · FR · ES · TR
Library38 contracts, bodies in EN · DE · TR
Outgoing mailYour own SMTP server, per account
Secrets at restAES-256-GCM
API base/restapi/v2.1/accounts/{accountId}
macbook and a clock