Webform eSignatures
On this page
Collect Electronic Signatures on Frappe Documents via Web Forms.
Features
🖊️ Electronic Signatures
Capture legally-binding electronic signatures on any Frappe DocType
Support for multiple signature fields per document
Touch-optimized signature pad for mobile devices
🔗 Secure Document Sharing
Share documents for signing via secure, expiring links
Guest users can sign without logging in using document share keys
Rate-limited endpoints to prevent abuse
📄 Signed PDF Generation
Automatically generates and attaches signed PDFs to documents
SHA-256 hash verification for document integrity
Download signed documents directly from the signing page or document timeline
📋 Comprehensive Audit Trail
Full audit trail recorded for each signature event
Captures signer name, email, IP address, and user agent
Records timestamp and which fields were signed
Displays signature history in the document timeline
⚙️ Workflow Automation
Optionally update a field value when document is signed (e.g., set status to "Signed")
Optionally submit the document automatically after signing
Background PDF generation for faster response times
📱 Mobile-First Design
Responsive layout works on desktop and mobile
Optional "Force Mobile" mode with QR code for touch screen signing
Clean, distraction-free signing experience
Usage
Create a Web Form for your DocType
Enable "eSign Enabled" in the Web Form settings
Add Signature field(s) to the Web Form
Optionally configure:
Print Format - The format used for the signed PDF
Update Field / Value - Automatically set a field when signed
Submit on Response - Submit the document after signing
Force Mobile - Require touch screen for signing
Generate a document share link and send to the signer
Installation
You can install this app using the bench CLI:
cd $PATH_TO_YOUR_BENCH
bench get-app Avunu/esign_webforms
bench install-app esign_webformsContributing
This app uses pre-commit for code formatting and linting. Please install pre-commit and enable it for this repository:
cd apps/esign_webforms
pre-commit installPre-commit is configured to use the following tools for checking and formatting your code:
ruff
eslint
prettier
pyupgrade
License
MIT