{"id":328026,"date":"2026-06-19T10:36:22","date_gmt":"2026-06-19T10:36:22","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/merchantkits-signvault-esignatures\/"},"modified":"2026-06-19T13:52:38","modified_gmt":"2026-06-19T13:52:38","slug":"merchantkits-document-signatures","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/merchantkits-document-signatures\/","author":23518438,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.0","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"MerchantKits Document Signatures","header_author":"MerchantKits","header_description":"Collect legally-binding eSignatures on any WordPress page, post, or WooCommerce order. Draw or type signatures with SHA-256 integrity hashing and full audit trails.","assets_banners_color":"a2adc4","last_updated":"2026-06-19 13:52:38","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/merchantkits.com\/signvault","header_author_uri":"https:\/\/merchantkits.com","rating":5,"author_block_rating":0,"active_installs":0,"downloads":35,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"khaliddurani","date":"2026-06-19 11:57:02"},"1.0.1":{"tag":"1.0.1","author":"khaliddurani","date":"2026-06-19 13:52:38"}},"upgrade_notice":{"1.0.1":"<p>Fixes the dashboard upgrade link.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3578480,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3578480,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3578551,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3578551,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3578551,"resolution":"1","location":"assets","locale":"","width":2560,"height":2014},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3578551,"resolution":"2","location":"assets","locale":"","width":1320,"height":1430},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3578551,"resolution":"3","location":"assets","locale":"","width":1320,"height":1280},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3578551,"resolution":"4","location":"assets","locale":"","width":2560,"height":1720},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3578551,"resolution":"5","location":"assets","locale":"","width":2560,"height":2146},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3578551,"resolution":"6","location":"assets","locale":"","width":2560,"height":1720},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3578551,"resolution":"7","location":"assets","locale":"","width":2560,"height":1796}},"screenshots":{"1":"Admin dashboard with stat cards and recent signatures.","2":"Signature form \u2014 draw mode on a desktop browser.","3":"Signature form \u2014 type mode with cursive preview.","4":"Signatures list table with status badges and row actions.","5":"Single signature detail page with audit trail and hash verification.","6":"Settings page \u2014 General tab.","7":"Documents management page."}},"plugin_section":[],"plugin_tags":[24307,267890,26327,147615,723],"plugin_category":[],"plugin_contributors":[267877],"plugin_business_model":[],"class_list":["post-328026","plugin","type-plugin","status-publish","hentry","plugin_tags-digital-signature","plugin_tags-document-signing","plugin_tags-electronic-signature","plugin_tags-esignature","plugin_tags-signature","plugin_contributors-khaliddurani","plugin_committers-khaliddurani"],"banners":{"banner":"https:\/\/ps.w.org\/merchantkits-document-signatures\/assets\/banner-772x250.png?rev=3578551","banner_2x":"https:\/\/ps.w.org\/merchantkits-document-signatures\/assets\/banner-1544x500.png?rev=3578551","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/merchantkits-document-signatures\/assets\/icon-128x128.png?rev=3578480","icon_2x":"https:\/\/ps.w.org\/merchantkits-document-signatures\/assets\/icon-256x256.png?rev=3578480","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/merchantkits-document-signatures\/assets\/screenshot-1.png?rev=3578551","caption":"Admin dashboard with stat cards and recent signatures."},{"src":"https:\/\/ps.w.org\/merchantkits-document-signatures\/assets\/screenshot-2.png?rev=3578551","caption":"Signature form \u2014 draw mode on a desktop browser."},{"src":"https:\/\/ps.w.org\/merchantkits-document-signatures\/assets\/screenshot-3.png?rev=3578551","caption":"Signature form \u2014 type mode with cursive preview."},{"src":"https:\/\/ps.w.org\/merchantkits-document-signatures\/assets\/screenshot-4.png?rev=3578551","caption":"Signatures list table with status badges and row actions."},{"src":"https:\/\/ps.w.org\/merchantkits-document-signatures\/assets\/screenshot-5.png?rev=3578551","caption":"Single signature detail page with audit trail and hash verification."},{"src":"https:\/\/ps.w.org\/merchantkits-document-signatures\/assets\/screenshot-6.png?rev=3578551","caption":"Settings page \u2014 General tab."},{"src":"https:\/\/ps.w.org\/merchantkits-document-signatures\/assets\/screenshot-7.png?rev=3578551","caption":"Documents management page."}],"raw_content":"<!--section=description-->\n<p><strong>MerchantKits Document Signatures<\/strong> lets you add a signature collection form to any page or post using a simple shortcode. Signers can draw their signature on a canvas or type it using a cursive font. Every signature is recorded with a SHA-256 integrity hash, signer IP, user agent, and timestamp \u2014 giving you a complete audit trail.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>Draw or type<\/strong> \u2014 configurable per form or globally in settings.<\/li>\n<li><strong>SHA-256 audit hashing<\/strong> \u2014 every signature generates a unique integrity hash.<\/li>\n<li><strong>IP &amp; User Agent capture<\/strong> \u2014 complete audit trail for every signing event.<\/li>\n<li><strong>Admin dashboard<\/strong> \u2014 stat cards, recent activity, and quick-start guide.<\/li>\n<li><strong>Document management<\/strong> \u2014 create signable documents and link forms via shortcode.<\/li>\n<li><strong>WP_List_Table<\/strong> \u2014 sortable, filterable, searchable signatures list with CSV export.<\/li>\n<li><strong>Email notifications<\/strong> \u2014 automatic confirmation to the signer and notification to the admin.<\/li>\n<li><strong>REST API<\/strong> \u2014 full CRUD endpoints under <code>wpsv\/v1<\/code>.<\/li>\n<li><strong>Theme-overridable templates<\/strong> \u2014 place your own <code>wpsv\/signature-form.php<\/code> in your theme.<\/li>\n<li><strong>Works anywhere<\/strong> \u2014 drop the shortcode on any page, post, or order confirmation.<\/li>\n<\/ul>\n\n<h4>Shortcode Usage<\/h4>\n\n<pre><code>[wpsv_signature]\n<\/code><\/pre>\n\n<p>Attributes:<\/p>\n\n<ul>\n<li><code>document_id<\/code> \u2014 links the form to a saved document.<\/li>\n<li><code>title<\/code> \u2014 heading shown above the form.<\/li>\n<li><code>description<\/code> \u2014 optional introductory text.<\/li>\n<li><code>button_text<\/code> \u2014 submit button label.<\/li>\n<li><code>redirect<\/code> \u2014 URL to redirect to after a successful signature.<\/li>\n<li><code>type<\/code> \u2014 <code>draw<\/code>, <code>type<\/code>, or <code>both<\/code> (overrides global setting).<\/li>\n<\/ul>\n\n<p>Example:<\/p>\n\n<pre><code>[wpsv_signature document_id=\"1\" title=\"Sign the NDA\" type=\"both\" redirect=\"https:\/\/example.com\/thank-you\"]\n<\/code><\/pre>\n\n<h4>Privacy \/ External Services<\/h4>\n\n<p>All signature data (images, hashes, signer information) is stored in your own WordPress database. The plugin does <strong>not<\/strong> send signature data to any external server.<\/p>\n\n<p>The draw-mode signature canvas is powered by <a href=\"https:\/\/github.com\/szimek\/signature_pad\">Signature Pad<\/a> (MIT License), which runs entirely in the visitor's browser.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>merchantkits-document-signatures<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu.<\/li>\n<li>Go to <strong>Document Signatures \u2192 Settings<\/strong> to configure company name, email notifications, and canvas options.<\/li>\n<li>Create a document at <strong>Document Signatures \u2192 Documents<\/strong>.<\/li>\n<li>Add the shortcode <code>[wpsv_signature document_id=\"1\"]<\/code> to any page or post.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"are%20the%20signatures%20legally%20binding%3F\"><h3>Are the signatures legally binding?<\/h3><\/dt>\n<dd><p>MerchantKits Document Signatures records an electronic signature along with a SHA-256 integrity hash, signer name, email, IP address, user agent, and timestamp. This constitutes a valid electronic record under most e-signature laws (e.g., ESIGN Act, eIDAS). Consult a lawyer for jurisdiction-specific advice.<\/p><\/dd>\n<dt id=\"where%20is%20the%20signature%20data%20stored%3F\"><h3>Where is the signature data stored?<\/h3><\/dt>\n<dd><p>All signature data is stored in two custom database tables (<code>wp_wpsv_signatures<\/code> and <code>wp_wpsv_documents<\/code>) in your own WordPress database. Signature data is never sent to external servers.<\/p><\/dd>\n<dt id=\"can%20i%20override%20the%20form%20template%3F\"><h3>Can I override the form template?<\/h3><\/dt>\n<dd><p>Yes. Copy <code>templates\/signature-form.php<\/code> from the plugin folder into <code>{your-theme}\/wpsv\/signature-form.php<\/code> and edit it freely.<\/p><\/dd>\n<dt id=\"can%20i%20override%20the%20email%20templates%3F\"><h3>Can I override the email templates?<\/h3><\/dt>\n<dd><p>Yes. Place your custom templates at <code>{your-theme}\/wpsv\/email\/signature-confirmation.php<\/code> and <code>{your-theme}\/wpsv\/email\/admin-notification.php<\/code>.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20woocommerce%3F\"><h3>Does it work with WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. The shortcode works on any page including WooCommerce order confirmation pages.<\/p><\/dd>\n<dt id=\"how%20do%20i%20export%20signatures%3F\"><h3>How do I export signatures?<\/h3><\/dt>\n<dd><p>Go to <strong>Document Signatures \u2192 Signatures<\/strong>, select the signatures you want, choose <strong>Export CSV<\/strong> from the bulk actions dropdown, and click Apply.<\/p><\/dd>\n<dt id=\"can%20i%20restrict%20who%20can%20access%20the%20admin%20pages%3F\"><h3>Can I restrict who can access the admin pages?<\/h3><\/dt>\n<dd><p>Yes. Use the <code>wpsv_admin_capabilities<\/code> filter to change the required capability (default: <code>manage_options<\/code>).<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20data%20if%20i%20delete%20the%20plugin%3F\"><h3>What happens to my data if I delete the plugin?<\/h3><\/dt>\n<dd><p>By default, data is kept. To remove all data, go to <strong>Document Signatures \u2192 Settings \u2192 Advanced<\/strong> and enable <strong>Delete Data on Uninstall<\/strong> before deleting the plugin.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed the \"Upgrade to Pro\" link in the dashboard pointing to the wrong URL.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Collect legally-binding eSignatures on any WordPress page, post, or WooCommerce order with full audit trails and SHA-256 integrity hashing.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/328026","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=328026"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/khaliddurani"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=328026"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=328026"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=328026"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=328026"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=328026"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=328026"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}