Open source, AGPL-3.0, self-hostable
The e-signature API built to live inside your product.
Penpact is an open-source, embeddable e-signature API, the open alternative to DocuSign. Self-host the whole stack or use the managed cloud. Typed SDK, AI field detection, a real audit trail, no per-seat billing.
Early development (v0.1.0). The API is not stable yet and the consent text is pending a lawyer's review. We would rather say that plainly.
From zero to a sent document
Install @penpact/sdk, create an envelope, place a field,
and send. The signer does the rest.
import { PenpactClient } from '@penpact/sdk';
const penpact = new PenpactClient({ apiKey: process.env.PENPACT_API_KEY! });
const envelope = await penpact.createEnvelope({
documentName: 'Mutual NDA',
signers: [{ name: 'Ada Lovelace', email: '[email protected]' }],
});
await penpact.uploadDocument(envelope.id, pdfBytes);
await penpact.placeFields(envelope.id, [
{ type: 'signature', signerId: envelope.signers[0].id,
page: 1, x: 72, y: 620, width: 200, height: 40 },
]);
await penpact.send(envelope.id);
// Your signer gets a link, consents, and signs. You get a sealed PDF. How it works
- 1 Create an envelope
One call with the document name and signers.
- 2 Upload and place fields
Send a PDF, then place fields by coordinate or let AI propose them.
- 3 Send
Each signer gets a link, accepts the ESIGN disclosure, and signs.
- 4 Get a sealed PDF
Penpact flattens the values, seals the PDF, and writes a certificate of completion.
Why developers pick Penpact
Typed SDK, not a generated blob
A small, hand-written TypeScript client you can read in one sitting. No 200-method generated SDK, no learning a foreign object model.
AI field detection
Point Claude at the PDF and it proposes signature, date, and name fields. Review and send. Set ANTHROPIC_API_KEY to enable it when self-hosting.
Self-host in two minutes
docker compose up starts Postgres and the API and prints a working key. Keep every document on your own infrastructure under AGPL-3.0.
Evidence built in
ESIGN consent, an append-only audit trail with IP and timestamps, a PAdES digital signature on the sealed PDF, and a SHA-256 Certificate of Completion.
No per-seat, no per-page
Usage-based pricing on the managed cloud, and free forever when you self-host. Signing is part of your product, not a per-envelope tax.
Embeddable signing
A hosted signing page today, a drop-in React <Sign/> component next. Your users stay in your product.
Coming from DocuSign?
Per-envelope pricing, seat minimums, a generated SDK, and an iframe you style around. Penpact takes the opposite stance: open source, a typed SDK, and usage-based pricing with no seats.
See the full comparisonRead the source. Run it yourself.
The core engine is on GitHub under AGPL-3.0. Self-host for free, or use the managed cloud when you would rather not run the infrastructure.