Using AnySign

Invoices and e-signatures in one workspace. Start with onboarding if you're new, jump to a screen if you're looking at one, or go straight to the how-to for the thing you're trying to do. Building against the API instead? Read the API reference.


Quick start

From nothing to a signed document and a paid invoice. Work through this once — the whole thing takes about ten minutes, and most of it is one-time setup you never touch again.

The first four things you do1 · Sign upworkspace + confirm email2 · Add a customerwho you bill and sign with3 · Send an invoicehosted pay link goes out4 · Send an envelopePDF + fields + signersThen, once: invite your team · turn on two-factor · check your plan limits.
The first four things you do

1 · Create your account and workspace

/signup

Signing up creates both a user and a workspace. The workspace owns everything — customers, invoices, envelopes, keys — and you are its first owner.

  1. 1Go to Sign up and enter your name, work email and a password.
  2. 2You land on the dashboard immediately; nothing is gated behind confirmation except invites and API keys.
  3. 3Rename the workspace any time in Settings → Profile → Workspace (owners only).
  • One person can belong to several workspaces and switch between them from the account menu in the sidebar.

2 · Confirm your email

/verify

We email a confirmation link when you sign up. Clicking it verifies your address and unlocks inviting teammates and creating API keys.

  1. 1Open the email and click the link — it opens the confirmation page and verifies you in one step.
  2. 2Expired or already-used link? Log in and resend it from Settings → Profile.

3 · Add your first customer

/customers

Customers are the people and companies you bill and sign with. An invoice always points at one; envelopes can go to anyone, customer or not.

  1. 1Customers → New customer.
  2. 2Name is required. Email is what invoices and signing requests are sent to; address and tax ID are printed on invoices.

4 · Send your first invoice

/invoices/new

Pick a customer, add line items, and send. Totals are computed server-side in integer cents — no rounding drift — and sending assigns the invoice number and emails a hosted view/pay page.

  1. 1Invoices → New invoice.
  2. 2Choose the customer, currency, issue and due dates.
  3. 3Add line items (description, quantity, unit price); the preview on the right updates live.
  4. 4Optionally set tax %, discount % and a notes line.
  5. 5Save as draft, or Send — sending is what numbers the invoice and emails the customer.

5 · Send your first envelope

/envelopes/new

An envelope is documents + signers + fields. The builder walks the four in order and nothing is emailed until you send.

  1. 1Envelopes → New envelope.
  2. 2Documents: drop one or more PDFs and give the envelope a title — signers see it as the subject.
  3. 3Signers: add each person's name and email, set parallel or sequential order.
  4. 4Fields: drag signature, initials, date, text, checkbox, dropdown, radio and attachment fields onto the pages and assign each to a signer.
  5. 5Review, then Send. Each signer gets their own tokenized link.

6 · Invite your team

Team

Owners run the workspace; members do the day-to-day work. Invites are emailed and the accept link is valid for 7 days.

  1. 1Team → Invite a teammate.
  2. 2Enter their email and pick owner or member.
  3. 3Copy the accept link from the confirmation if you'd rather send it yourself.
  • Members create and send invoices and envelopes. Org settings, plans, API keys, webhooks, storage, SSO and member management are owner-only.

7 · Turn on two-factor

Settings → Profile

Two-factor uses any TOTP authenticator app. Enabling it produces one-time recovery codes.

  1. 1Settings → Profile → Enable two-factor authentication.
  2. 2Scan the QR code with your authenticator and enter the 6-digit code to confirm.
  3. 3Save the recovery codes somewhere safe — they are shown once and are the only way back in without your phone.

8 · Know your plan

Settings → Billing

Free covers 3 envelopes and 5 invoices per calendar month. Pro ($19/mo) covers 50 envelopes and 100 invoices; Business ($49/mo) is unlimited. Bulk send, sequential signing, SSO and SCIM need Business. The API is included on every plan.

  1. 1The dashboard shows this month's usage against your limits.
  2. 2Settings → Billing to change plan — checkout and the billing portal are handled by Stripe.

Switching from another tool

Coming from DocuSign, Dropbox Sign, PandaDoc or SignWell? The concepts line up almost one for one — mostly you are learning new names for things you already do. This section maps the vocabulary, says what carries over, and is honest about what does not.

What moves when you switchOn your old toolOn AnySignSigned documentsDownload and archivethey stay valid where they areTemplatesRebuild once hereupload the PDF, place fieldsTeam + contactsInvite and re-addmembers by email, customers via UI or APIAPI integrationSwap base URL and keysame REST shapes, new namesNothing is imported behind your back: you keep sending on the old tool until theenvelopes in flight there are done.
What moves when you switch

The move, in order

Nothing is imported behind your back, and nothing forces a cut-over date. Run both tools for a few weeks: finish what is already out for signature on the old one, start everything new here.

  1. 1Download your executed documents and their audit certificates from the old tool and archive them. They stay valid where they are — a signed PDF does not depend on the vendor that produced it.
  2. 2Rebuild your two or three busiest templates here: upload the PDF, place the fields, save. This is the only real work in the whole move.
  3. 3Invite your team from Team, then add customers as you bill them (or create them over the API).
  4. 4Send new envelopes from AnySign. Let the old account run down and cancel it once nothing is in flight.
  5. 5Building against an API? Point it at the new base URL and key — see 'Moving an API integration' below.
  • We cannot pull documents out of another vendor's account for you, and neither can they hand over their audit trail in a form anyone else can verify. Archive, don't migrate.

From DocuSign

The closest match of the four — same envelope model, same routing idea, different names.

DocuSignAnySignDifference worth knowing
EnvelopeEnvelopeSame thing: documents, recipients, fields, one lifecycle.
TabsFieldsSignature, initials, date, text, checkbox, dropdown, radio, attachment.
Recipient · routing orderSigner · signing orderSequential or parallel, set per envelope.
Needs to Sign / Receives a Copy / Needs to ViewRoles: signer, cc, viewerPlus approver, who approves or rejects without signing.
PowerFormSigning linkOne public URL; every visitor gets their own private envelope.
Bulk SendBulk sendTemplate plus a recipient CSV. Needs Pro or above.
ConnectWebhook endpointsHMAC-SHA256 signed, with an event filter per endpoint.
Access Code · SMS AuthenticationAccess codeAccess code is a shared secret. AES, which adds an SMS code to the signer's phone, is coming soon on Business.
Certificate of CompletionCertificate of CompletionAttached to every completed envelope, alongside a PAdES-sealed PDF.
Anchor tagging (AutoPlace)Not supportedPlace fields in the builder, or by page fractions over the API, or reuse a template.
Correct an envelope in flightNot supportedVoid it and send a corrected one — the void is recorded in the audit trail.

From Dropbox Sign (HelloSign)

If you drove Dropbox Sign from code, the mental model transfers almost unchanged: one POST creates the request, one POST sends it, callbacks tell you what happened.

Dropbox SignAnySignDifference worth knowing
Signature requestEnvelopeCreated as a draft, then sent — two calls, so you can review before it goes out.
Template with signer rolesTemplateRoles map to the signers you fill in when you use the template.
Custom fieldsPrefilled fieldsAny field can carry a value; mark it read_only to stop the signer editing it.
Embedded signing (sign URL)Signing sessionPOST /v1/envelopes/{id}/signing_sessions returns a short-lived URL to embed.
CallbacksWebhook endpointsSignature header is Anysign-Signature: t=<unix>,v1=<hex>.
API app + client idAPI keyOne sk_live_ key per workspace; sk_test_ keys never send real email or SMS.
Signer PINAccess codePer signer, checked before the documents open.
SMS delivery of the requestNot supportedDelivery is email, embedded, or in person on your own device.

From PandaDoc

PandaDoc bundles the document builder and the quote together. Here those are two objects: envelopes sign documents, invoices bill for them — and an invoice can be paid online without anyone signing anything.

PandaDocAnySignDifference worth knowing
DocumentEnvelopeYou upload a finished PDF; there is no in-app document composer.
Template · content libraryTemplateFields and settings, reusable; no reusable content blocks.
Recipients with rolesSigners with rolessigner, cc, approver, viewer.
Approval workflowApprover role + signing orderAn approver blocks the envelope until they approve or reject.
Pricing table / quoteInvoiceLine items, tax, discount, totals recomputed server-side, hosted pay page.
Payment inside the documentHosted invoice paymentPayment lives on the invoice, not on a signing field.
Rooms, CPQ, content analyticsNot supportedAnySign is signing and invoicing, not a sales-content suite.

From SignWell

The lightest jump of the four — the surfaces line up nearly name for name.

SignWellAnySignDifference worth knowing
DocumentEnvelopeOne envelope can carry several PDFs.
Reusable signing linkSigning linkCap it by number of signatures, by date, or close it whenever.
TemplateTemplateSave any envelope as a template from the builder's review step.
Signing order · remindersSigning order · reminders and expiryReminders can be sent on demand; expiry closes the envelope automatically.
Test modeTest API keyssk_test_ keys behave identically but never send real email or SMS.
Bulk sendBulk sendNeeds Pro or above; failed rows retry on their own.

Moving an API integration

/docs

Every vendor's REST API is the same five verbs over the same four nouns. What actually changes is the base URL, the auth header, and a handful of conventions.

  1. 1Point your client at https://api.anysignhq.com and send Authorization: Bearer sk_live_… on every /v1 request.
  2. 2Create with POST /v1/envelopes (or /v1/invoices), then POST …/send. Nothing goes out until you send it.
  3. 3Place fields by page fraction: x and y are 0–1, x from the left, y from the top — no pixel or point coordinates.
  4. 4Send an Idempotency-Key header on every POST so a retry after a timeout cannot double-send.
  5. 5Register a webhook endpoint, then verify Anysign-Signature (HMAC-SHA256 over the raw body) before trusting a payload.
  6. 6Develop against sk_test_ keys, then swap in the live key.
  • Money is always integer cents — 1250 is $12.50. There are no floats anywhere in the API.
  • The TypeScript SDK in sdks/ wraps all of this if you would rather not hand-roll a client.

What we do not do (yet)

Better to find this out here than three weeks in. If one of these is load-bearing for you, we are the wrong tool today.

  • No anchor-text tagging: fields are placed in the builder or by coordinates, not by searching the PDF for /sig1/.
  • No correcting an envelope that is already out — void it and send a new one.
  • No knowledge-based identity checks or notarisation. Identity is email plus an optional access code; the AES SMS code is coming soon on Business.
  • No SMS or WhatsApp delivery of the signing request itself.
  • No importing another vendor's documents or audit trails: archive them where they are.

By screen

Every surface in the product, what it shows you and what you can do from it. Workspace screens live behind login; signing and hosted-invoice screens are what your recipients see.

Dashboard

/dashboard

Your landing screen. Two big actions — new invoice, new envelope — then the six most recent of each with status, amount and signer progress, then this month's usage against your plan limits. A brand-new workspace also gets a three-step setup strip.

The dashboard: new invoice and new envelope buttons, recent activity, and this month's usage.

Invoices

/invoices

Every invoice, newest first, filtered by tab: All, Draft, Sent, Paid, Overdue. Each row shows the number, customer, total and status. Recurring schedules are managed from here too — pause, resume or delete a schedule without touching the invoices it already produced.

The invoice list with its status tabs and one invoice per row.

Invoice editor

/invoices/new

Split screen: the form on the left, a live rendering of the actual invoice on the right. Line items, tax %, discount % and notes update the preview as you type. The recurring toggle at the bottom turns this invoice into a schedule — repeat every N weeks, months or years from a chosen start date.

The invoice editor: the form on the left, a live preview of the invoice on the right.
  • Money is entered and stored in integer cents. Totals are always recomputed on the server, never trusted from the browser.

Invoice detail

/invoices/{id}

The invoice with its timeline — created, sent, viewed, paid — plus the rendered document. Copy link hands you the customer's hosted pay URL, PDF downloads the rendered file, and Void cancels an invoice that has gone out. Drafts can still be edited; sent invoices cannot.

Envelopes

/envelopes

Everything out for signature and everything that came back, filtered by All, Draft, Out for signature, Completed, Declined and Voided. Each row shows the title, document count, tags, signer avatars (dimmed until they sign) and an n/m signed counter.

The envelope list with status filters, tags and a signed counter per row.
  • Tags are the folders. An envelope can carry several at once, which a folder tree cannot express — click a tag to narrow the list, click it again to clear.
  • Export downloads a zip of exactly what is on screen: executed documents, Certificates of Completion, and a JSON record per envelope.

Envelope builder

/envelopes/new

Four steps, and you can step back at any point before sending.

  1. 1Documents — drop PDFs, set the title and an optional message, choose the signature level (SES or AES) and the signing language. Starting from a template pre-fills the fields and settings.
  2. 2Signers — name, email, order. Toggle sequential signing, add a phone number for AES, an access code for an extra shared secret, or mark someone in-person so they are never emailed.
  3. 3Fields — pick a signer, then place signature, initials, date, text, checkbox, dropdown, radio or attachment fields on the page. Each field is colour-coded to its signer.
  4. 4Review — check the whole thing, save it as a reusable template, then send or keep as a draft.
Fields on a documentagreement.pdf · page 1Text · Full nameDate signedCheckbox · AgreeSignaturex · 0 → 1 across the pagey · 0 → 1 down the pageEvery field belongs to one signerAna — name, dateBen — checkbox, signatureField kinds: signature, initials, date, text,checkbox, dropdown, radio, attachment.Coordinates are fractions of the page, soa field lands in the same place at anyzoom, page size or screen width.
Fields on a document
Step one of the envelope builder: documents, title, message, signature level.

Envelope detail

/envelopes/{id}

Three panels: the signer board with each person's status and per-signer actions, the documents card for downloading the executed, original or certificate PDF, and the hash-chained audit trail with a validity indicator. The header carries Send (drafts), Remind (pending signers) and Void.

An envelope's detail screen: signer progress, the documents, and the event timeline.
  • Sign in person on a signer's row hands your own device over; you get a return code that only you know, and you type it to take the device back.
  • Documents and fields lock the moment an envelope is sent.

Bulk send

/envelopes/bulk

One template plus a recipient list becomes one private envelope per recipient. Three numbered blocks: what they're signing (template, batch name, title and message with {{column}} merge fields, the PDFs), who signs it (upload or paste CSV, then map columns), and a preview of the first few personalised envelopes before anything goes out.

  • Maximum 500 recipients per batch. The whole list is validated first — if any row is unusable, nothing is sent and you get per-row errors.
  • The batch detail screen (/envelopes/bulk/{id}) tracks per-recipient status and can re-queue only the failures.

Vault

/vault

Documents you hand over to be read rather than signed. Store a file once and every link you open on it points at that copy — which is what makes a link revocable, expiring and countable, none of which an emailed attachment can be. Three shelves, split by direction: Documents is what you hold, Sent is every link you have out, Received is links other workspaces opened onto your address.

  • Nothing on Received is stored in your vault. Each row opens on the sender's viewer page, so their revoke, expiry and access log keep meaning what they meant.

Vault — Sent

/vault/sent

Every link the workspace has out, of both kinds, newest first: a share hands a document over, a request asks for one back. The activity column counts opens rather than people, and the state column says whether a link is live, expiring, revoked or finished. Open a share row to reach the document that owns it, where reveal, revoke, the allowlist and the NDA live.

Customers

/customers

The people and companies you bill and sign with, with their email, address and tax ID. Create and edit here; invoices reference them.

Settings

/settings

Nine tabs. Profile is yours; the rest are workspace-wide and mostly owner-only.

  1. 1Profile — your account details, two-factor and recovery codes, email confirmation, and (owners) the workspace name, default signing language and GDPR data-subject erasure.
  2. 2Members — invite teammates, change roles, revoke pending invitations, remove people.
  3. 3API keys — create live (sk_live_) and test (sk_test_) keys with exactly the permissions they need; the secret is shown once, at creation. Apps you authorized through OAuth are listed below as Connected apps, and can be revoked from there.
  4. 4Webhooks — add endpoint URLs, choose events, copy the whsec_ signing secret (also shown once), and read the delivery log: what we sent, what came back, and a Replay button once you have fixed your endpoint.
  5. 5Email — send signing invitations from your own domain. Add it, publish the TXT record we show you, press Verify.
  6. 6Policy — document retention, an IP allowlist, how long a session may live, and the workspace audit log with a CSV export.
  7. 7Payments — connect your own Stripe account so invoice payments settle directly to you. AnySign never holds the money.
  8. 8Storage — keep documents in your own S3 or R2 bucket instead of ours.
  9. 9SSO — SAML sign-in and SCIM user provisioning. Business plan.
  10. 10Billing — current plan, subscription status, usage meters, upgrade/downgrade and the Stripe billing portal.
  • Retention deletes stored documents once a finished envelope is past the window. The envelope record and its audit trail always survive — they are your proof the transaction happened.
  • An IP allowlist covers the dashboard and your API keys. Signing links are never restricted: your signers are not on your network.

Signing page (what your signer sees)

/sign/{token}

The recipient's screen, reached from their emailed link. It runs whichever gates the envelope requires, in order: access code, ESIGN/UETA consent, then the document with their fields highlighted. They adopt a signature — drawn or typed — fill the rest, and finish. Declining is always available and is recorded.

The signing page a recipient sees: the document, the fields to fill, and the sign button.
  • Rendered in the envelope's language: English, German, French, Spanish or Japanese.
  • Links expire with the envelope (30 days by default) and stop working the moment it is voided or completed.
  • Fields can be signatures, initials, dates, text, checkboxes, dropdowns, choices, or a file upload. Some fields only appear once a related answer is given, and calculated fields update themselves as the signer types.
  • Not every recipient signs. A cc recipient just receives the executed copy; an approver approves or rejects; a viewer has to open the documents before the envelope can finish.

In-person signing page

/sign/in-person/{token}

The same signing experience, but on the device you are already holding, with a bar reminding you whose session it is. When the signer is done — or if you need to stop early — the return code you were given takes you back into your workspace. The signer never sees that code.

Hosted invoice page (what your customer sees)

/i/{token}

A public, tokenized page with the rendered invoice, a PDF download and a Pay button that opens Stripe Checkout for the outstanding balance. Viewing it flips the invoice to viewed; a successful payment flips it to paid via Stripe's webhook.

Log in, sign up, and password recovery

/login · /signup · /forgot · /reset · /verify

Email and password, plus two-factor if you have it on. Forgot password emails a reset link; the reset page sets the new one. The verify page confirms an email address. If your workspace has SSO with an email domain configured, entering a work address on the login page sends you to your identity provider instead.

Invitation accept

/invite/{token}

Where an invited teammate lands. New people set a name and password; existing users just accept and gain the workspace in their switcher. Links are good for 7 days.

AI assistants

/ai

The one place to connect an assistant over MCP: pick your host (Claude, ChatGPT, Cursor, Gemini CLI and others), follow its steps or click its one-click install, and approve the consent screen once. The host asks for named scopes at consent and gets exactly those; org:admin is never grantable to an app.

  • Every action lands in the audit trail credited to the connected assistant, not to the person who connected it.
  • Revoke kills the refresh token along with the live one — the assistant is out on its next request.

By feature

What each capability actually does, what it costs you in setup, and which plan it needs.

Invoicing

Draft, brand and send invoices with line items, tax, discounts and notes. Sending assigns the number and emails the customer a hosted view/pay link. Statuses track themselves: draft → sent → viewed → partially paid → paid, with overdue applied automatically past the due date. Void cancels an invoice that has already gone out.

The life of an invoiceDraftSentViewedPaidOverduedue date passedVoidedyou cancel itDrafts stay editable. Once an invoice is sent,void it and issue a new one instead.
The life of an invoice
  • All money is integer cents; totals are computed server-side.

Recurring invoices

Turn any invoice into a schedule: repeat every N weeks, months or years from a start date. Each run instantiates the template invoice and sends it. Pause, resume or delete a schedule at any time — invoices already issued are unaffected.

Payments

The hosted invoice page pays through Stripe Checkout on your own Stripe account — connect it under Settings → Payments. The money goes straight to you; AnySign never holds it and takes no cut. Stripe's webhook records the payment, flips the invoice to paid (or partially paid) and stamps the timeline. There is no manual payment entry — the payment record is whatever Stripe confirms. Until an account is connected, invoices send without a Pay button.

Envelopes and fields

An envelope bundles PDFs, signers and fields. Eight field kinds: signature, initials, date, text, checkbox, dropdown, radio and attachment. Every field belongs to exactly one signer and can be required or optional. Field positions are fractions of the page, so they survive any zoom or screen size.

The life of an envelopeDraftSentViewedSignedCompletedWays it ends earlyDeclinedsigner refusesVoidedyou cancel itExpireddeadline passedAll three are final. The audit trailkeeps every event either way.
The life of an envelope

Signing order

Parallel sends every signer their link at once. Sequential releases each link only once the person before them has finished — useful when a counter-signature has to come last.

Sequential and parallel signingSequential — one at a timeAnaBenCleoBen is only emailed once Ana signs.Parallel — everyone at onceEnvelopeAnaBenCleoAll three are emailed together.
Sequential and parallel signing

Signature levels — SES and AES

SES (simple electronic signature) is what every envelope uses today: email possession plus recorded consent. AES adds per-signer identity verification with an SMS one-time code, so every AES signer needs a mobile number — it is coming soon on the Business plan and cannot be selected yet. The level is fixed on the envelope at creation and is recorded in the audit trail and the certificate.

SES next to AESSESsimple electronic signatureAESadvanced electronic signatureSigner proves who they are withA link sent to their emailThat link plus an SMS codeYou collectEmail addressEmail address and phoneRecorded in the audit trailEmail, IP, device, timestampsEverything in SES, plus the SMS checkReach for it whenEveryday business paperworkHigher-value or regulated agreementsBoth levels produce the same sealed PDF and Certificate of Completion.
SES next to AES

Access codes

An optional per-signer shared secret. The signer must type it before the document opens — deliver it over a channel other than email (phone, chat, in person) so possession of the inbox alone isn't enough.

In-person signing

All plans

Hand your own phone or laptop to someone standing in front of you. Nothing is emailed, no link leaves your device, and the audit trail records the signature as captured in person by you. You get a return code before handing over — type it to come back to your workspace. Sessions are single-use and short-lived.

Bulk send

Pro, Business and API

One template plus a recipient list, out to up to 500 people at once. Each recipient gets their own private envelope and is its only signer — nobody sees anyone else. Titles and messages take {{column}} merge fields from your CSV. The list is fully validated before anything sends, and failures can be re-queued without resending the successes.

One template, many private envelopesTemplatefields already placedRecipient listCSV — name, emailBulk sendone job, queuedEnvelope · Danaprivate copyEnvelope · Samprivate copyEnvelope · Inésprivate copyNobody seesanyone else's copy.A row that fails to send is retried on its own — the rest of the job is never re-sent.
One template, many private envelopes

Templates

Save an envelope's field layout and signing settings, or an invoice's defaults, and reuse them. Envelope templates are also what bulk send builds on.

Reminders, expiry and voiding

Remind re-emails a fresh signing link to everyone still pending. Envelopes expire 30 days after sending by default. Void kills all outstanding links immediately, notifies the signers, and cannot be undone.

Audit trail, sealed PDFs and the certificate

Every meaningful event — created, sent, opened, viewed, consented, signed, declined, completed — is written to a hash-chained trail where each entry commits to the one before it, so a silent edit breaks the chain and the detail screen says so. When the last signer finishes, the document is flattened and sealed (PAdES) and a Certificate of Completion is generated with signer identities, timestamps, IP addresses and the signature level.

The audit trail is a hash chainCreatedSentOpenedSignedCompletedhashhashhashhashCertificate of CompletionPDF, attached to the envelopePAdES sealtamper-evident signed PDFEach event stores the hash of theone before it — edit any row andthe chain stops verifying.
The audit trail is a hash chain
  • Download any document as executed (sealed), original, or certificate.

Signing languages

Signer emails and the signing page render in English, German, French, Spanish or Japanese, including the ESIGN/UETA consent text. Set a workspace default in Settings → Profile and override it per envelope.

Vault sharing — allowlists, expiry, watermarks, NDAs

Every outbound link names who may open it: addresses for people, domains for a company — @acme.com lets anyone there in without you knowing their address in advance. A link with nobody named is refused rather than created. Expiry is the protection worth setting every time; a watermark stamps the viewer's address and open time onto every page, which is what makes a leaked copy traceable to whoever leaked it; and a click-through NDA records their acknowledgement with their email, IP and the time — an audit line, not an executed agreement.

  • Revoking kills the codes and sessions already issued, not only future ones: a tab someone left open stops working on its next request.
  • Deleting a document does the same to every link carrying it, and the link stays listed on Sent so you can see that it happened.
  • Watermarking and multi-document links are paid capabilities; a single-document link is not.

Document requests

The inbound half of the Vault: one link with a named slot per file you need. Each slot closes as its file arrives, we email the recipient about whatever is still missing on the cadence you set, and everything they send lands in your vault marked as received. Collecting six documents stops being six email threads.

  • The recipient needs no AnySign account — the link is the whole thing they get.
  • Reminders need an address to chase, so the cadence cannot be armed on a link-only request.

Team and roles

Two roles. Members create and send invoices and envelopes and see the workspace's work. Owners additionally control org settings, plans, API keys, webhooks, storage, SSO and membership. Invitations are emailed with a 7-day accept link and can be revoked before they're used.

Two-factor authentication

TOTP with any authenticator app, plus one-time recovery codes issued when you enable it. Disabling it requires your password. Recovery codes are shown once, and the Profile tab tells you how many are left; disable and re-enable two-factor to get a fresh set.

SSO and SCIM

Business and API

SAML 2.0 single sign-on: paste your identity provider's metadata XML (or the entity ID, SSO URL and signing certificate individually) and copy our SP metadata, ACS, audience and sign-on URLs into your IdP. Set an email domain and people can start from the login page with just a work address. SCIM 2.0 provisioning keeps users in sync from the same tab — the token is shown once.

Bring your own storage

Point the workspace at your own S3 or R2 bucket: bucket, region, optional custom endpoint, credentials (or leave them blank to use the host's IAM role) and a server-side encryption choice. Documents are then written to your infrastructure. The secret access key is write-only — stored encrypted and never displayed again.

API keys

Live keys (sk_live_) do real work; test keys (sk_test_) never send real email. A key carries full workspace access, so keep it server-side and never ship one to a browser. The secret is displayed once at creation — revoke and recreate if you lose it.

Webhooks

Subscribe an HTTPS endpoint to events (or all of them) and we POST each one signed with HMAC-SHA256 in the Anysign-Signature header. Recompute the signature over "<timestamp>.<raw body>" with your whsec_ secret, compare in constant time, and reject stale timestamps. Verification code is in the API reference.

GDPR erasure

Settings → Profile → data-subject erasure (owners only) anonymizes one person by email across the workspace: signers, customers and pending invitations. The erasure itself is written to the audit trail, and already-executed sealed documents are retained per your retention policy — they are legal records, not personal data you can rewrite.

Plans and billing

Free gives 3 envelopes and 5 invoices per calendar month. Pro ($19/mo) and Business ($49/mo) lift both limits; Pro adds bulk send and Business adds SSO and SCIM. Checkout and card management run through Stripe; the billing portal handles invoices, cards and cancellation.


How to

The specific things people come here to look up.

Get a document signed

  1. 1Envelopes → New envelope.
  2. 2Drop the PDF, title the envelope, continue.
  3. 3Add the signer's name and email, continue.
  4. 4Place a signature field (and a date field, usually) on the right page.
  5. 5Review → Send.

Make two people sign in a set order

  1. 1In step 2 of the builder, turn on Sequential signing.
  2. 2Drag the signers into the order you want.
  3. 3Only the first person is emailed; each next link is released when the previous signer finishes.

Have someone sign on your device, right now

  1. 1Open the envelope (send it first if it's still a draft).
  2. 2On the signer's row, click Sign in person.
  3. 3Note the return code shown in the dialog — the signer never sees it.
  4. 4Hand over the device. They complete their fields and finish.
  5. 5Take the device back and enter the return code to return to your workspace.

Send the same document to a whole list

Pro, Business and API
  1. 1Save the envelope layout as a template first (from the builder's review step).
  2. 2Envelopes → Bulk send.
  3. 3Pick the template, name the batch, attach the PDFs.
  4. 4Upload or paste a CSV with name and email columns — any extra column becomes a merge value.
  5. 5Map the columns, check the preview of the first few, and send.
  6. 6Track it on the batch screen; Retry re-queues only the failures.
  • Use {{column}} in the title or message to personalise per recipient.

Require SMS verification from a signer (coming soon)

  1. 1AES is coming soon on the Business plan; the signature level cannot be set to AES yet.
  2. 2When it ships: set the signature level to AES in builder step 1.
  3. 3Give every signer a mobile number in step 2 — AES requires one.
  4. 4Each signer then gets a one-time code by SMS before the document opens.

Add an access code

  1. 1In builder step 2, expand the signer and enter an access code.
  2. 2Tell them the code over a different channel — phone or in person, not the same email.

Reuse a field layout

  1. 1Build the envelope once and, on the review step, choose Save as template.
  2. 2Next time, pick it under Start from template in step 1 — fields, signature level and language come with it.

Chase a signer who hasn't signed

  1. 1Open the envelope and click Remind.
  2. 2Everyone still pending gets a fresh email with their link. Signers who already finished are left alone.

Cancel something already sent

  1. 1Envelope: open it → Void. All outstanding links die immediately and signers are notified.
  2. 2Invoice: open it → Void. The hosted pay page stops accepting payment.
  3. 3Neither can be undone — issue a replacement rather than trying to reverse it.

Download the signed document and its certificate

  1. 1Open the completed envelope.
  2. 2In Documents, download Executed for the sealed final PDF, Original for the file you uploaded, or Certificate for the Certificate of Completion.

Prove a document wasn't tampered with

  1. 1Open the envelope and read the audit trail panel — it shows every event and whether the hash chain is intact.
  2. 2Download the Certificate of Completion for signer identities, timestamps, IP addresses and the signature level.
  3. 3The executed PDF carries a PAdES seal any standard PDF reader can check.

Bill a customer

  1. 1Customers → New customer (skip if they already exist).
  2. 2Invoices → New invoice, pick them, add line items, set the due date.
  3. 3Send. They get an email with a hosted page where they can pay by card.

Bill the same customer every month

  1. 1Build the invoice as usual.
  2. 2Before saving, turn on Make this a recurring invoice.
  3. 3Set the interval (every 1 month) and the first run date, then save.
  4. 4Pause, resume or delete the schedule from the Invoices screen.

Add a teammate

  1. 1Team → Invite a teammate.
  2. 2Enter their email, choose owner or member, send.
  3. 3They have 7 days to accept. Revoke a pending invite from the same list.

Turn on two-factor

  1. 1Settings → Profile → Enable two-factor authentication.
  2. 2Scan the QR code and confirm with the 6-digit code.
  3. 3Store the recovery codes — they are shown once.

Create or rotate an API key

  1. 1Integrations → Developers → Create key.
  2. 2Name it after where it runs, and choose live or test mode.
  3. 3Copy the secret now — it is never shown again.
  4. 4To rotate: create the new key, deploy it, then delete the old one.

Receive webhooks

  1. 1Integrations → Developers → Add endpoint, with an HTTPS URL.
  2. 2Pick the events you want, or none to receive all.
  3. 3Copy the whsec_ signing secret — shown once.
  4. 4Verify every delivery's HMAC before trusting it; sample code is in the API reference.

Connect SSO

Business and API
  1. 1Settings → SSO.
  2. 2Copy the SP metadata, ACS (reply), audience and sign-on URLs into your identity provider.
  3. 3Paste your IdP's metadata XML back here — or fill in entity ID, SSO URL and certificate by hand.
  4. 4Set your email domain so people can sign in with just a work address, then enable the connection.
  5. 5For SCIM, copy the SCIM base URL and generate a token in the same tab.

Store documents in your own bucket

  1. 1Settings → Storage.
  2. 2Enter the bucket and region; add a custom endpoint for R2 or MinIO.
  3. 3Add an access key and secret, or leave them blank to use the host's IAM role.
  4. 4Choose server-side encryption and save. New documents go to your bucket.

Honor a GDPR erasure request

  1. 1Settings → Profile → data-subject erasure (owners only).
  2. 2Enter the person's email and confirm.
  3. 3Their signer records, customer record and pending invitations are anonymized workspace-wide, and the erasure is logged.
  • Executed sealed documents are retained as legal records.

Change plan

  1. 1Settings → Billing.
  2. 2Pick the plan and complete Stripe checkout.
  3. 3Use Manage billing for cards, receipts, and cancellation.

Change the language your signers see

  1. 1Workspace default: Settings → Profile → Default signing language.
  2. 2Per envelope: builder step 1 → Signing language.

Reset a forgotten password

  1. 1On the login screen, click Forgot password and enter your email.
  2. 2Open the emailed link and set a new password.
  3. 3Locked out with two-factor on? Use one of your recovery codes.