Email-first signing is the default in most e-signature tools: you create a request, the signer gets a link in their inbox, and they sign on their own device. That works until the signer is standing at your front desk, sitting in a car dealership office, or filling out paperwork at a clinic, and you would rather hand them a tablet than wait for an email to arrive. Here are the main ways to handle it.
Option 1: Open the signing link on a shared device
The lowest-effort route is to create the signature request as usual, then open the signer's link on a tablet or kiosk that you control. Nothing new to build. The catch is that many tools still send the email, so the signer's inbox ends up holding a live link, and the link may remain usable after the person walks away. Check whether your tool lets you suppress the email, and whether you can shorten or expire the link.
Option 2: Embed the signing step in your own app
Here your backend asks the signature provider for a signing URL at the moment the person is ready, then loads it in an iframe or redirects to it. No email is involved, and you decide when the session starts. The requirements to check are that the provider supports signers who are not emailed, that short-lived links are available, and that iframe embedding is allowed for your domain, since providers commonly restrict which sites can frame their signing pages.
Option 3: Capture the signature yourself
You can draw a signature on an HTML canvas, export it as an image, and stamp it onto the PDF with a library. This gives you full control and no third-party dependency, but the evidence is now your responsibility. You need to record who signed, when, from which device, and a hash of the final document, and you need to make later edits detectable. A bare image pasted onto a PDF proves very little on its own.
What to get right with any option
Intent matters more than the drawing. The US ESIGN Act defines an electronic signature as "an electronic sound, symbol, or process, attached to or logically associated with a contract or other record" that a person creates or adopts with the purpose of signing it. So give the signer a clear action that shows they mean to sign, such as a button labeled with what they are agreeing to, and keep a record that ties that action to the final document.
Identity is easier in person, but only if you actually do it. Decide whether staff check ID before handing over the device, and write that step down. Also plan for the device itself: end each session when the signer finishes, return the screen to a neutral state, and avoid signing links that stay valid for days on a shared tablet. Finally, give the signer a copy of the completed document, whether by email afterward, a download, or a printout.
If you already use Anvil's e-signature API, option 2 is built in. Set a signer's signerType to "embedded" so no email is sent, call generateEtchSignURL when the person is ready to sign, and load the result in an iframe or redirect to it. The signing token lasts 2 hours by default and can be changed per signer with tokenValidForMinutes, and production iframe embedding requires your domain to be on a trusted list. The details are in the e-signature API docs.
Back to All Questions