Documentation menu

SignSealer

Signatures, and the evidence behind them. One API for waivers, rental agreements, NDAs and contracts.

What makes an electronic signature enforceable under ESIGN and UETA is evidence of five things. Cryptography is how that evidence is kept tamper-evident, and SignSealer uses it throughout; it is the record it protects that a court reads.

  • Intent — the signer meant this act to be their signature.
  • Consent — they agreed to do business electronically, before signing.
  • Association — the signature is attached to this record and no other.
  • Attribution — it can be shown to be them.
  • Retention — the record can be accurately reproduced later.

Courts have thrown signatures out for missing the fourth. So SignSealer records each of the five as its own event, hashes the exact text into every one, chains the trail so nothing can be edited afterwards, and seals the finished document so that a single changed byte shows, with the time of sealing fixed by an independent RFC 3161 timestamp authority.

What that means in practice

  • Consent is recorded as its own event, before the signature is accepted — not alongside it, because a system that records both in the same instant cannot show that consent came first.
  • The rendered text is stored on the document and hashed into every event. A document edited after signing no longer matches, and we say so.
  • A published template cannot be edited. Revising it makes a new version, because editing one changes what people signed last week.
  • The trail is append-only. A record that can be edited is a record of what somebody was willing to leave behind.

Where to start

How it fits together

  your application ──── POST /v1/documents ──────▶  SignSealer API
        ▲                                                │
        │                                    mints one link per signer
        │                                                │
        │                              email · text · QR · kiosk · your own message
        │                                                │
        │                                                ▼
        │                                           the signer
        │                                  reads · consents · answers · signs
        │                                                │
        │                                                ▼
        │                          append-only trail  +  certificate  +  sealed PDF
        │                                                │
        └──────── signed webhook: signing.completed ─────┘

Every arrow is in the reference. The signer's page is ours and loads no script; what your application sees is JSON in and a signed event out.

Recipes, by outcome

Ready to build? An API key takes a minute in the portal, and the free plan covers the first 25 agreements a month.

Get an API key