{"id":336368,"date":"2026-07-10T20:49:17","date_gmt":"2026-07-10T20:49:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/subnotice-subscription-compliance-checker-ukuseu\/"},"modified":"2026-07-10T20:48:59","modified_gmt":"2026-07-10T20:48:59","slug":"subnotice-subscription-compliance-checker-ukuseu","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/subnotice-subscription-compliance-checker-ukuseu\/","author":20562051,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.3.3","stable_tag":"0.3.3","tested":"7.0.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Subnotice \u2014 Subscription Compliance Checker (UK\/US\/EU)","header_author":"Minisage Tech Ltd","header_description":"Scans your published Privacy, Terms, and Subscription policy text (or declared setup, for the EU withdrawal-button check) against UK DMCCA, US state auto-renewal, and EU withdrawal-button rules \u2014 0-100 readiness score with fix notes. Free.","assets_banners_color":"395649","last_updated":"2026-07-10 20:48:59","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.subnotice.com\/","header_author_uri":"https:\/\/www.minisage.co.uk\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":33,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.3.3":{"tag":"0.3.3","author":"minisage","date":"2026-07-10 20:48:59"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3603455,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3603455,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3603455,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3603455,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.3.3"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[270973,14361,131785,4079,286],"plugin_category":[41,45],"plugin_contributors":[270974],"plugin_business_model":[],"class_list":["post-336368","plugin","type-plugin","status-publish","hentry","plugin_tags-auto-renewal","plugin_tags-compliance","plugin_tags-gdpr","plugin_tags-subscriptions","plugin_tags-woocommerce","plugin_category-communication","plugin_category-ecommerce","plugin_contributors-minisage","plugin_committers-minisage"],"banners":{"banner":"https:\/\/ps.w.org\/subnotice-subscription-compliance-checker-ukuseu\/assets\/banner-772x250.png?rev=3603455","banner_2x":"https:\/\/ps.w.org\/subnotice-subscription-compliance-checker-ukuseu\/assets\/banner-1544x500.png?rev=3603455","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/subnotice-subscription-compliance-checker-ukuseu\/assets\/icon-128x128.png?rev=3603455","icon_2x":"https:\/\/ps.w.org\/subnotice-subscription-compliance-checker-ukuseu\/assets\/icon-256x256.png?rev=3603455","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Subnotice checks your store against three subscription-renewal compliance regimes, auto-detected from your WooCommerce store country (override any time):<\/p>\n\n<ul>\n<li><strong>UK<\/strong> \u2014 the Digital Markets, Competition and Consumers Act 2024 (DMCCA) subscription contracts regime: clear pre-contract information, renewal reminder notices, easy cancellation, cooling-off rights. Enforcement expected from Spring 2027.<\/li>\n<li><strong>US<\/strong> \u2014 state-level Automatic Renewal Laws (e.g. California, New York, Connecticut's annual-reminder rule). Not a federal FTC compliance check \u2014 there is no single federal auto-renewal statute currently in force.<\/li>\n<li><strong>EU<\/strong> \u2014 the withdrawal-button requirement under Directive 2023\/2673, in force EU-wide since 19 June 2026. This check is structural (declared yes\/no\/unsure), since a withdrawal button is a UI mechanism, not something policy text can confirm.<\/li>\n<\/ul>\n\n<h4>What this plugin does (v1)<\/h4>\n\n<ul>\n<li>Auto-detects your jurisdiction from your WooCommerce store country, or lets you pick manually<\/li>\n<li>UK\/US: auto-detects your WordPress Privacy Policy page and WooCommerce Terms &amp; Conditions page (or accepts pasted text) and scores the wording<\/li>\n<li>EU: asks two structural questions (withdrawal button present? two-step confirmation?) since there's no policy text to parse<\/li>\n<li>Shows fix notes for anything pending<\/li>\n<\/ul>\n\n<h4>What this plugin does not do<\/h4>\n\n<ul>\n<li>Does not read your live checkout or billing flow \u2014 policy text\/declared setup only<\/li>\n<li>Not legal advice \u2014 informational scoring only<\/li>\n<li>Does not send reminder emails or store any subscription\/customer data \u2014 this plugin is a one-time\/on-demand policy-text scan only<\/li>\n<\/ul>\n\n<h3>Privacy Policy<\/h3>\n\n<p>When you click \"Check my compliance\", the policy text you paste (or the auto-detected page content) is sent to Subnotice's hosted scoring API at subnotice.com over HTTPS, for scoring only. No data is stored by Subnotice \u2014 each scan is stateless.<\/p>\n\n<p>Full privacy policy: https:\/\/www.subnotice.com\/privacy<\/p>\n\n<p>This plugin stores no personal data locally and creates no WordPress options.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/subnotice-woo<\/code>, or install through the WordPress plugins screen.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to the \"Subnotice\" menu in wp-admin to run a check.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20require%20woocommerce%3F\"><h3>Does this require WooCommerce?<\/h3><\/dt>\n<dd><p>No \u2014 it works with just a WordPress Privacy Policy page. WooCommerce Terms &amp; Conditions auto-detection is a bonus when WooCommerce is active.<\/p><\/dd>\n<dt id=\"how%20does%20it%20pick%20my%20jurisdiction%3F\"><h3>How does it pick my jurisdiction?<\/h3><\/dt>\n<dd><p>It reads your WooCommerce store's base country (Settings \u2192 General) and maps it to UK, US, or EU automatically. You can override the detected jurisdiction any time from the checker page \u2014 useful if you sell into a jurisdiction different from where your store is registered.<\/p><\/dd>\n<dt id=\"when%20does%20the%20dmcca%20subscription%20regime%20take%20effect%3F\"><h3>When does the DMCCA subscription regime take effect?<\/h3><\/dt>\n<dd><p>Spring 2027 (subject to secondary legislation still pending UK government guidance). This only applies to the UK jurisdiction \u2014 US state Automatic Renewal Laws and the EU withdrawal-button requirement are already in force.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.3.3<\/h4>\n\n<ul>\n<li>Fixed WordPress.org manual review findings (review ID P0TDX336368HGN): removed the reminder-emails (Compliance Complete plan) code from this build entirely \u2014 it's not run\/downloadable from WordPress.org, only through the separate Freemius-licensed distribution. Previously this code shipped here too, just permanently disabled; the reviewer flagged that as dormant\/hard-disabled functionality.<\/li>\n<li>Renamed the Freemius bootstrap helper (<code>sw_fs()<\/code> \u2192 <code>subnotice_woo_fs()<\/code>, and related globals\/hooks) to use a WordPress.org-compliant 4+ character prefix.<\/li>\n<\/ul>\n\n<h4>0.3.2<\/h4>\n\n<ul>\n<li>Added WordPress core \"Erase Personal Data\" privacy tool support (<code>wp_privacy_personal_data_erasers<\/code>): erasing a customer now also removes their reminder records from the backend, not just via full-site uninstall.<\/li>\n<li>Refactored uninstall cleanup into a shared function (<code>includes\/uninstall-cleanup.php<\/code>) so it can run from either <code>uninstall.php<\/code> (WP.org build) or a Freemius <code>after_uninstall<\/code> hook (Freemius-deployed build, which cannot ship an <code>uninstall.php<\/code> file).<\/li>\n<li>Not yet uploaded to WordPress.org \u2014 v0.3.1 review still pending as of this release.<\/li>\n<\/ul>\n\n<h4>0.3.1<\/h4>\n\n<ul>\n<li>Fixed a WordPress.org review finding (Guideline 5, Trialware): removed the <code>sw_fs()-&gt;is_paying()<\/code> license check that gated the reminder-emails feature. That feature is disabled because it isn't finished yet (see FAQ), not because of payment \u2014 any future monetization enforcement will happen server-side, not as a local license check in this plugin.<\/li>\n<li>Fixed a WordPress.org review finding: replaced an inline <code>&lt;script&gt;<\/code> tag with <code>wp_enqueue_script()<\/code>\/<code>wp_localize_script()<\/code> (<code>assets\/js\/jurisdiction-toggle.js<\/code>).<\/li>\n<li>Corrected <code>Contributors<\/code> to match the actual WordPress.org submitting account.<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>Added the scaffolding for a paid \"Compliance Complete\" tier: automated pre-renewal reminder emails (WooCommerce Subscriptions) plus a downloadable audit trail. Dormant \u2014 not available for purchase yet, no charge, no data sent unless\/until released.<\/li>\n<li>Added a \"Reminder Emails\" section to the admin page showing paid-tier status.<\/li>\n<\/ul>\n\n<h4>0.2.1<\/h4>\n\n<ul>\n<li>Fixed text domain mismatch across all translation strings (was \"subnotice-woo\", now matches the WordPress.org-assigned slug \"subnotice-subscription-compliance-checker-ukuseu\").<\/li>\n<li>Fixed \"Tested up to\" header (was 9.4, a WordPress version that doesn't exist \u2014 corrected to the actual current WordPress core version).<\/li>\n<li>Shortened the readme short description to fit the 150-character limit.<\/li>\n<li>Removed the \"Domain Path\" plugin header (pointed to a non-existent languages\/ folder \u2014 no translations exist yet).<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Added US (state Automatic Renewal Law) and EU (withdrawal-button, Directive 2023\/2673) jurisdictions alongside UK DMCCA \u2014 auto-detected from WooCommerce store country, with manual override.<\/li>\n<li>EU jurisdiction uses structural declared-flag questions instead of a policy-text scan.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release: policy-text audit against DMCCA checks (audit-parity with the Subnotice Shopify app).<\/li>\n<\/ul>","raw_excerpt":"Scan your policy text against UK, US, and EU subscription-renewal rules and get a 0-100 readiness score with fix notes.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/336368","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=336368"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/minisage"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=336368"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=336368"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=336368"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=336368"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=336368"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=336368"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}