IpInkpacket

Blog

Embed signing versus a signing link

Choose an Inkpacket iframe or an invite URL: same token, same audit, different chrome. Embed when you already operate the host page; send a link when the inbox is the door.

After you send an envelope, the desk copies two URLs: the invite path at /sign/TOKEN and a compact-chrome path at /embed/sign/TOKEN. They are the same signer and the same envelope. The fork is whose page the person is already on. If they are in their inbox, send the signing link. If they are already inside a portal you operate, iframe the embed URL.

The allowlist, snippet, and postMessage events live in embedded signing on your own site and Docs. Features is embedded signing. This guide is the choice: when the iframe is the right door, and when mail (or a copied URL) is enough.

Same token, different chrome

Both URLs carry the same capability. Access codes still apply inside the iframe. Expiration still closes both. Void kills both. A later sequential signer framed too early still sees This envelope is waiting for an earlier signer. Decline still closes the whole envelope. The audit trail on the envelope is the legal record either way.

The public API returns both on send as signingUrl and embedUrl. When Resend is missing, email was not sent and you still have the URLs — hand the invite link to mail you already send, or iframe embedUrl on a session you already authenticated. Create an envelope from a template via the API is that path.

Use the invite URL when you do not already have the person on a page you control. Vendor envelopes. Offer letters. Anything that starts with “please sign this.” The five-minute send is that path — send a document for signature in under five minutes. Reminders and resend email that same URL. You do not need EMBED_ALLOWED_ORIGINS for an email click.

  • They will open a message, not your portal.
  • You do not want to maintain an iframe host for a one-off PDF.
  • You will copy the URL into a thread you already have when mail is not configured.

Pick embed when you already operate the host

Use the embed URL when the signer is already authenticated on a page you own — an onboarding step, an account screen, an internal ops tool. Your chrome stays. Inkpacket keeps the PDF, the fields, and the audit. The iframe posts viewed, signed, and completed to the parent as { source: "inkpacket", type, token }. Use those events to advance your UI. Do not treat a postMessage as the server record. A parent tab can lie. A verified webhook cannot — listen for envelope status webhooks.

Signing surfaces send a Content-Security-Policy frame-ancestors list for 'self', inkpacket.com, www.inkpacket.com, and extra origins in EMBED_ALLOWED_ORIGINS. If your host is not on that list, the browser refuses the iframe. Other routes are not meant to be framed. The FAQ matches this paragraph.

Do not frame a public marketing page and hope

The token is the capability. Generate it when the right person is on the page. Do not drop a long-lived embed URL on a public site. If you set an access code, share the PIN separately from that host if the page is reachable without a login. After five wrong guesses the lockout is 15 minutes inside the frame too.

What neither path is

  • Not a hosted customer portal Inkpacket operates for you.
  • Not a way to skip the monthly envelope cap. One send is one envelope.
  • Not a substitute for void, correct, or resend on the same envelope id — when to void, correct, or resend.
  • Not live card checkout. An in-envelope payment can be requested. Checkout is not open — Payments not live.

After send, both URLs follow the envelope

If you void the envelope, every signing and embed link stops. If you correct the recipient and the email changes, the previous token is retired — an iframe still pointing at the old URL will fail. Resend emails the invite path again; it does not mint a second embed token. Copy the current Embed URL from the desk if you need it after a correct. Sequential later signers wait their turn inside the frame the same way they wait on the invite page.

A reminder emails the existing invite URL, not a new embed URL. If your host page already has the person, you do not need that nudge. If they left the portal, send the link — or wait for the cadence you set at send. What happens after a signing reminder fires is that job.

Caps and what is not open yet

Free allows 5 packets a month. Free at 5 packets a month is the live send cap this envelope shares with bulk rows, Web Form fills, and API send. Hitting it returns HTTP 402 ENVELOPE_LIMIT. Starter is 20 envelopes — more than Free — plus 3 published Web Forms. Seat counts are planning numbers. Billing is published, not charging. Checkout is not open.

Text-message (SMS) is coming soon. Drive missing: Drive not configured. The embed path is live and does not wait on those keys. If Resend is missing, copy the URL you already have. More on embedded signing has the snippet. Published pricing states the ladder.

If they are in their inbox, send the link. If they are already on your page, frame the embed URL and listen for postMessage on the parent — webhooks on the server. Stay on the same token. Then file the stamped PDF when the audit says completed. Open a workspace on Free and copy both URLs from one send so the fork is something you have seen.

Open a workspace on Free

Billing is published, not charging. Send an envelope from the desk without a card.

Open a workspace