Free & open source

Get documents signed, tracked, and sealed.

An open-source electronic-signature platform with a complete field and routing toolkit, a developer API, and a tamper-evident audit trail on every envelope — with security engineered in from the start.

Free and open source. No credit card. Your data encrypted at rest and in transit.

Free & open source Encrypted at rest (KMS) Tamper-evident audit trail API & webhooks ESIGN/UETA-aligned consent
Why QuillSign

Everything you need to sign — nothing you don't.

A focused, well-engineered signing platform with security and developer experience at its core.

Send in minutes

Upload a PDF, drag fields onto the page, add recipients, and send. Reusable templates and CSV bulk send handle the repetitive work.

Organizations & roles

Workspaces with admin, sender, and viewer roles, organization-wide visibility, shared templates, and strict isolation between tenants.

Developer-first

A versioned REST API with API keys, idempotency, and pagination, plus HMAC-signed webhooks and a published OpenAPI spec.

Secure by design

SHA-256 sealing, a certificate of completion, MFA, least-privilege infrastructure, and secrets encrypted with a customer-managed key.

Flexible routing

Sequential, parallel, or mixed signing order; signer, approver, and CC roles; reassignment; and in-person signing.

Rich fields

Signature, initials, dates, text with validation, dropdowns, radio groups, checkboxes, conditional logic, and auto-filled fields.

How it works

From PDF to sealed in three steps.

1

Upload & prepare

Drop in one or more PDFs and place fields for each recipient by dragging them onto the page — or auto-place by anchor text.

2

Send & route

Add signers, approvers, and CCs, choose the routing order, and share each recipient's secure signing link or fire it through the API.

3

Sign & seal

Recipients sign with consent captured. When everyone's done, QuillSign seals the document and appends a certificate of completion.

Features

A complete signing toolkit.

Everything below ships today.

13 field typesSignature, initials, date-signed, text, number, date, dropdown, radio, checkbox, and auto-fill.
Field validationRequired fields, number ranges, email/phone/ZIP/regex formats.
Conditional fieldsShow or require a field based on a checkbox, radio, or dropdown.
Anchor placementAuto-place fields at every occurrence of text like "Sign here".
Multi-document envelopesCombine several PDFs into one signing package.
Recipient rolesSigner, approver (sign-off without marks), and carbon-copy.
Sequential & parallel routingMixed order groups: parallel within a sequence.
ReassignmentRecipients can hand off to the right person, with a full audit record.
In-person signingHost a signing session on your own device.
TemplatesSave a ready-to-send envelope and reuse it with placeholder roles.
Bulk sendSend to a CSV of recipients in one action.
Direct linksA public URL anyone can use to self-start a signing flow.
Organizations & RBACAdmin / sender / viewer roles and org-wide visibility.
SSO (OIDC) & SCIMSingle sign-on and automated provisioning/deprovisioning.
Two-factor authTOTP authenticator-app MFA and session management.
Audit trail & certificateEvery event with timestamps, IPs, and consent — plus a completion certificate.
Tamper-evident sealingSHA-256 of the sealed document, verifiable after the fact.
REST API & webhooksAutomate envelopes; receive HMAC-signed event callbacks.
For developers

Automate signing with a clean API.

Create and send envelopes programmatically, then receive signed, HMAC-verified webhook events. Authenticate with an API key, get idempotency and cursor pagination out of the box, and explore the published OpenAPI spec.

# Create & send an envelope
curl https://quillsign-dev.com/v1/envelopes \
  -H "Authorization: Bearer qsk_…" \
  -H "Idempotency-Key: order-4821" \
  -d '{"title":"MSA","filename":"msa.pdf",
       "fileBase64":"JVBERi0…"}'

# Verify a webhook (HMAC-SHA256)
const mac = crypto
  .createHmac("sha256", secret)
  .update(`${ts}.${body}`)
  .digest("hex");

Ready to send your first envelope?

Spin up a workspace, place a few fields, and watch the audit trail build itself. Developers, grab an API key and go.