{"id":384699,"date":"2026-10-24T13:59:21","date_gmt":"2026-10-24T13:59:21","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/signdeer-forms\/"},"modified":"2026-10-24T13:58:53","modified_gmt":"2026-10-24T13:58:53","slug":"signdeer-forms","status":"publish","type":"plugin","link":"https:\/\/sa.wordpress.org\/plugins\/signdeer-forms\/","author":23584110,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.1","stable_tag":"1.1.1","tested":"7.1.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Signdeer Forms","header_author":"Signdeer","header_description":"Embed the Signdeer hosted forms experience in WordPress through the custom-website iframe SDK.","assets_banners_color":"85b9ad","last_updated":"2026-10-24 13:58:53","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/signdeer.com\/","header_author_uri":"https:\/\/signdeer.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":89,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"1.1.1":{"tag":"1.1.1","author":"signdeer","date":"2026-10-24 13:58:53","revision":3763347}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3763346,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3763346,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3763346,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3763346,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3763348,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"landingPage\":\"\\\/\",\"preferredVersions\":{\"php\":\"8.4\",\"wp\":\"latest\"},\"steps\":[{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"signdeer-forms\"},\"options\":{\"activate\":true}},{\"step\":\"setSiteOptions\",\"options\":{\"blogname\":\"Signdeer Forms Demo\",\"blogdescription\":\"Preview the Signdeer Review Sacco forms directory.\",\"signdeer_forms_origin\":\"https:\\\/\\\/signdeer.com\",\"signdeer_forms_directory_slug\":\"sacco-membership-demo-fixture\"}},{\"step\":\"runPHP\",\"code\":\"<?php require_once '\\\/wordpress\\\/wp-load.php'; $page = get_page_by_path('signdeer-demo'); $page_id = wp_insert_post(['ID' => $page ? $page->ID : 0, 'post_title' => 'Signdeer Forms Demo', 'post_name' => 'signdeer-demo', 'post_status' => 'publish', 'post_type' => 'page', 'post_content' => '[signdeer_forms]'], true); if (! is_wp_error($page_id)) { update_option('show_on_front', 'page'); update_option('page_on_front', $page_id); } ?>\"}]}"}},"all_blocks":{"signdeer\/form-list":{"name":"signdeer\/form-list","title":"Signdeer Form List"},"signdeer\/form-directory":{"name":"signdeer\/form-directory","title":"Signdeer Form Directory"},"signdeer\/form-links":{"name":"signdeer\/form-links","title":"Signdeer Form Links"}},"tagged_versions":["1.1.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3763346,"resolution":"1","location":"assets","locale":"","width":1088,"height":552},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3763346,"resolution":"2","location":"assets","locale":"","width":1200,"height":612}},"screenshots":{"1":"Browse published forms by category and choose a form to fill and eSign.","2":"Open an application and continue with Google or Signdeer, or fill it out directly."}},"plugin_section":[],"plugin_tags":[12813,166562,601,37731,288260],"plugin_category":[42],"plugin_contributors":[288261],"plugin_business_model":[],"class_list":["post-384699","plugin","type-plugin","status-publish","hentry","plugin_tags-document-management","plugin_tags-e-signature","plugin_tags-forms","plugin_tags-kenya","plugin_tags-sacco","plugin_category-contact-forms","plugin_contributors-signdeer","plugin_committers-signdeer"],"banners":{"banner":"https:\/\/ps.w.org\/signdeer-forms\/assets\/banner-772x250.png?rev=3763346","banner_2x":"https:\/\/ps.w.org\/signdeer-forms\/assets\/banner-1544x500.png?rev=3763346","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/signdeer-forms\/assets\/icon-128x128.png?rev=3763346","icon_2x":"https:\/\/ps.w.org\/signdeer-forms\/assets\/icon-256x256.png?rev=3763346","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/signdeer-forms\/assets\/screenshot-1.png?rev=3763346","caption":"Browse published forms by category and choose a form to fill and eSign."},{"src":"https:\/\/ps.w.org\/signdeer-forms\/assets\/screenshot-2.png?rev=3763346","caption":"Open an application and continue with Google or Signdeer, or fill it out directly."}],"raw_content":"<!--section=description-->\n<p>Signdeer Forms is a thin WordPress connector. WordPress supplies a shortcode\nor block mount point; Signdeer renders the published forms directory in an\niframe and owns form selection, modal presentation, onboarding, eKYC,\ndocuments, payment, eSigning, and case data.<\/p>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li>Current Signdeer hosted iframe integration<\/li>\n<li>Same custom-website SDK contract and secure postMessage validation<\/li>\n<li>Search, category tabs, selection, and form modal managed by Signdeer<\/li>\n<li>Optional partner attribution through a domain-bound <code>p7k<\/code> key<\/li>\n<li>Lazy iframe loading and content-hashed local plugin assets<\/li>\n<li>No WordPress catalog cache, API token, or duplicate form data store<\/li>\n<\/ul>\n\n<p>The shortcode always embeds the organization's full published forms directory.\nCategory tabs belong to the Signdeer catalog; there is no <code>category<\/code> shortcode\nor block filter.<\/p>\n\n<h3>Source and build<\/h3>\n\n<p>The readable SDK source is included in the plugin ZIP at\n    src\/signdeer-forms-embed.ts; the readable host adapter is\n    assets\/signdeer-forms-hosted.js. The build script is at\n    build\/build-sdk.mjs and builds both included source files.<\/p>\n\n<p>To rebuild the bundled SDK from the plugin directory, install Node.js and run:<\/p>\n\n<ol>\n<li><code>npm install --no-save esbuild<\/code><\/li>\n<li><code>node build\/build-sdk.mjs<\/code><\/li>\n<\/ol>\n\n<p>The script bundles the TypeScript SDK and the readable hosted adapter as\nES2018 browser IIFEs, writing <code>assets\/signdeer-forms-embed.min.js<\/code> and\n    assets\/signdeer-forms-hosted.min.js.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>When a visitor uses the hosted forms iframe, the browser communicates with\nSigndeer over HTTPS and sends standard request information such as IP address\nand user agent. The plugin does not receive or store the visitor's identity,\ndocuments, signatures, or case data. Update the site's privacy notice as\nneeded.<\/p>\n\n<h3>Compatibility<\/h3>\n\n<p>The plugin ships the bundled custom-website embed SDK, so the WordPress\nconnector and custom integrations use the same iframe behavior. The plugin\nloads its SDK from the plugin package. Custom website integrations use the\nstable <code>https:\/\/signdeer.com\/embed-sdk-assets\/signdeer-forms-embed.js<\/code> URL.\nThe root-level <code>\/signdeer-embed.js<\/code> and <code>\/signdeer-embed.css<\/code> files may still be\ngenerated by the app build, but they are not the integration URLs. The former\nWordPress catalog\/cache implementation is no longer part of the plugin.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>signdeer-forms<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate <strong>Signdeer Forms<\/strong> in <strong>Plugins \u2192 Installed Plugins<\/strong>.<\/li>\n<li>Open <strong>Settings \u2192 Signdeer Forms<\/strong>.<\/li>\n<li>Enter the Signdeer origin and organization slug.<\/li>\n<li>Optionally enter the domain-bound Partner portal <code>p7k<\/code> key.<\/li>\n<li><p>Add <code>[signdeer_forms]<\/code> to a page or post, or use a Signdeer forms block.<\/p>\n\n<p>[signdeer_directory] and <code>[signdeer_links]<\/code> remain shortcode aliases for\nexisting pages. They use the same hosted iframe; they do not render a legacy\nWordPress catalog.<\/p><\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Added the readable SDK source and documented reproducible build tooling.<\/li>\n<li>Corrected the Plugin URI and hardened URL and hostname setting sanitization.<\/li>\n<li>Expanded plugin-owned class, constant, option, and embed attribute prefixes.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Rebuilt the public connector around the current hosted iframe and custom-website SDK.<\/li>\n<li>Removed the legacy WordPress-rendered catalog, API cache, and duplicate iframe runtime.<\/li>\n<li>Added lazy loading, content-hashed assets, and domain-bound partner attribution.<\/li>\n<li>Kept shortcode and block names as hosted-iframe compatibility aliases.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Embed the current Signdeer forms experience in WordPress through the same custom-website iframe SDK used by other websites.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/384699","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=384699"}],"author":[{"embeddable":true,"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/signdeer"}],"wp:attachment":[{"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=384699"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=384699"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=384699"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=384699"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=384699"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=384699"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}