{"id":295474,"date":"2026-04-17T08:35:00","date_gmt":"2026-04-17T08:35:00","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/demitr\/"},"modified":"2026-04-17T10:46:10","modified_gmt":"2026-04-17T10:46:10","slug":"demitr","status":"publish","type":"plugin","link":"https:\/\/xho.wordpress.org\/plugins\/demitr\/","author":20771130,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.2.0","stable_tag":"1.2.0","tested":"6.9.4","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"Demitr","header_author":"dcode technologies","header_description":"GDPR-compliant AI chat widget powered by Mistral (EU-sovereign). One-click setup, consent gate included, no personal data retained.","assets_banners_color":"1f1c4c","last_updated":"2026-04-17 10:46:10","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/demitr.ai","header_author_uri":"https:\/\/d-code.lu","rating":0,"author_block_rating":0,"active_installs":0,"downloads":96,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"dcodetechnologies","date":"2026-04-17 08:34:39"},"1.2.0":{"tag":"1.2.0","author":"dcodetechnologies","date":"2026-04-17 10:46:10"}},"upgrade_notice":{"1.2.0":"<p>Widget redesign, auto-language detection, LLM fallback chain, anti-injection security, lead capture AI, installation tracking, persistent chat history. Recommended update.<\/p>","1.1.0":"<p>Major widget upgrade: 6 European languages, SSE streaming, CSP-safe styles, Level 3 PII anonymization.<\/p>","1.0.2":"<p>Main plugin file renamed to match the slug convention (demitr.php). On a clean WordPress install you can simply install fresh; existing installs from a previous unreleased build should reactivate after updating.<\/p>","1.0.1":"<p>WordPress.org review fixes: inline script moved to <code>wp_add_inline_script()<\/code>, attribution link now opt-in.<\/p>","1.0.0":"<p>First release. Install, add your business info, enable the widget.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3508699,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3508699,"resolution":"256x256","location":"assets","locale":""},"icon.svg":{"filename":"icon.svg","revision":3508699,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3508699,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3508699,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.0","1.2.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Settings page with business card configuration","2":"Chat widget on a live website","3":"GDPR consent gate before first message","4":"Compliance checklist in admin"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2353,14160,2364,131785,2379],"plugin_category":[],"plugin_contributors":[260432],"plugin_business_model":[],"class_list":["post-295474","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-chat-widget","plugin_tags-chatbot","plugin_tags-gdpr","plugin_tags-live-chat","plugin_contributors-dcodetechnologies","plugin_committers-dcodetechnologies"],"banners":{"banner":"https:\/\/ps.w.org\/demitr\/assets\/banner-772x250.png?rev=3508699","banner_2x":"https:\/\/ps.w.org\/demitr\/assets\/banner-1544x500.png?rev=3508699","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/demitr\/assets\/icon.svg?rev=3508699","icon":"https:\/\/ps.w.org\/demitr\/assets\/icon.svg?rev=3508699","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Demitr adds an AI chat widget to your WordPress site. The AI answers visitor questions about your business \u2014 hours, services, prices, location \u2014 because you tell it what to say.<\/p>\n\n<h4>Why Demitr?<\/h4>\n\n<ul>\n<li><strong>Knows your business<\/strong> \u2014 Enter your details once, the AI handles the rest<\/li>\n<li><strong>GDPR by design<\/strong> \u2014 Consent gate, no cookies, no persistent storage, PII anonymization<\/li>\n<li><strong>EU-sovereign AI<\/strong> \u2014 Powered by Mistral (Paris). Hosted on Hetzner (Germany). Data stays in the EU<\/li>\n<li><strong>30-second setup<\/strong> \u2014 Install, enter your info, enable. Done<\/li>\n<li><strong>6 European languages<\/strong> \u2014 English, French, German, Dutch, Italian, Spanish. AI responds in the visitor's language<\/li>\n<li><strong>Customizable<\/strong> \u2014 Brand name, accent color, position, language<\/li>\n<\/ul>\n\n<h4>Two Modes<\/h4>\n\n<p><strong>Free mode:<\/strong> Configure business details in WordPress admin. The AI uses them to answer questions.<\/p>\n\n<p><strong>Paid mode:<\/strong> Enter your API key from <a href=\"https:\/\/demitr.ai\">demitr.ai<\/a>. Widget config is managed from the dashboard.<\/p>\n\n<h4>External Service<\/h4>\n\n<p>This plugin sends chat messages to the Demitr API for AI processing. You configure the endpoint in Settings &gt; Demitr Chat.<\/p>\n\n<ul>\n<li><strong>Default endpoint:<\/strong> <a href=\"https:\/\/demitr.ai\">demitr.ai<\/a><\/li>\n<li><strong>Provider:<\/strong> dcode technologies S.a r.l., Luxembourg<\/li>\n<li><strong>Terms of Service:<\/strong> <a href=\"https:\/\/demitr.ai\/terms\">demitr.ai\/terms<\/a><\/li>\n<li><strong>Privacy Policy:<\/strong> <a href=\"https:\/\/demitr.ai\/privacy\">demitr.ai\/privacy<\/a><\/li>\n<\/ul>\n\n<p><strong>Data sent:<\/strong> visitor message (PII tokenized), session ID (random UUID), business context, consent flag.\n<strong>Data NOT sent:<\/strong> IP address, cookies, personal identifiers, browsing history.<\/p>\n\n<p>You can self-host the API for full data control by configuring the API endpoint URL in the plugin settings.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to <code>\/wp-content\/plugins\/demitr\/<\/code> or install via Plugins &gt; Add New<\/li>\n<li>Activate the plugin<\/li>\n<li>Go to Settings &gt; Demitr Chat<\/li>\n<li>Enter your API endpoint URL (or use the default demitr.ai)<\/li>\n<li>Fill in your business name, type, hours, and services<\/li>\n<li>Check \"Enable Widget\" and save<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20it%20gdpr%20compliant%3F\"><h3>Is it GDPR compliant?<\/h3><\/dt>\n<dd><p>Yes. Explicit consent gate before any processing. No cookies. No persistent storage. PII anonymized. EU-only infrastructure.<\/p><\/dd>\n<dt id=\"does%20it%20use%20cookies%3F\"><h3>Does it use cookies?<\/h3><\/dt>\n<dd><p>No. SessionStorage only \u2014 cleared when the tab closes.<\/p><\/dd>\n<dt id=\"what%20ai%20model%20is%20used%3F\"><h3>What AI model is used?<\/h3><\/dt>\n<dd><p>Mistral Small by Mistral AI (Paris, France). EU-sovereign \u2014 no international data transfers.<\/p><\/dd>\n<dt id=\"can%20i%20self-host%20the%20api%3F\"><h3>Can I self-host the API?<\/h3><\/dt>\n<dd><p>Yes. Set the API endpoint URL in the plugin settings to point to your own Demitr API server instead of demitr.ai.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20caching%20plugins%3F\"><h3>Does it work with caching plugins?<\/h3><\/dt>\n<dd><p>Yes. The widget runs client-side. Compatible with all caching plugins.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Renamed main plugin file from <code>demitr-wp.php<\/code> to <code>demitr.php<\/code> to match the WordPress.org slug convention<\/li>\n<li>Removed remaining inline <code>style=\"\"<\/code> attributes from admin notice \u2014 moved to admin CSS class<\/li>\n<li>JS now toggles classes via <code>classList.toggle()<\/code> instead of writing to <code>element.style.display<\/code><\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Replaced inline <code>&lt;script&gt;<\/code> in admin settings with <code>wp_add_inline_script()<\/code> (WordPress.org review fix)<\/li>\n<li>Added opt-in attribution setting \u2014 \"Powered by demitr.ai\" link is now off by default (Guideline 10)<\/li>\n<li>Fixed broken GitHub URL in readme.txt<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>AI chat widget powered by Mistral (EU-sovereign)<\/li>\n<li>GDPR consent gate (Art. 6) and AI disclosure (EU AI Act Art. 50)<\/li>\n<li>PII anonymization (email and phone tokenization)<\/li>\n<li>Business Card mode with 5 context fields<\/li>\n<li>Paid mode with API key from demitr.ai dashboard<\/li>\n<li>WordPress color picker for accent color<\/li>\n<li>Bilingual (English and French)<\/li>\n<li>Widget position setting<\/li>\n<li>Clean uninstall<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Widget redesign: SVG icons, bigger chat window, warm welcome messages, consent-only view<\/li>\n<li>Auto-language detection: widget reads page language from html lang attribute and browser navigator.language<\/li>\n<li>SSE streaming with LLM fallback chain: Mistral Small + 3 free fallback models<\/li>\n<li>Anti-injection hardening: explicit security directives in every system prompt<\/li>\n<li>Lead capture AI: natural contact collection prompt for Pro customers<\/li>\n<li>PII anonymization Level 3: 8 regex + NLP (names, addresses, IBANs, credit cards, DOBs)<\/li>\n<li>Installation tracking: widget pings server on load for domain analytics<\/li>\n<li>Persistent chat history via localStorage (survives refresh and tab close)<\/li>\n<li>Clear chat button with localized label in all 6 languages<\/li>\n<li>Google Fonts: DM Sans + Instrument Sans<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Widget upgraded: CSP-safe stylesheet (constructable stylesheet with fallback), hex color validation, SSE streaming responses<\/li>\n<li>6 European languages: English, French, German, Dutch, Italian, Spanish (widget UI + admin language selector)<\/li>\n<li>Auto-detect language from WordPress locale for DE, NL, IT, ES (not just FR)<\/li>\n<li>Level 3 PII anonymization: 8 regex patterns (EMAIL, URL, IBAN, CREDIT with Luhn, SSN, DOB, PHONE, ADDRESS) + NLP for names, places, organizations<\/li>\n<li>\"Powered by demitr.ai\" badge remains opt-in (Guideline 10 compliant)<\/li>\n<\/ul>","raw_excerpt":"Add a GDPR-compliant AI chat widget to your WordPress site that answers visitor questions automatically.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/xho.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/295474","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/xho.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/xho.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/xho.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=295474"}],"author":[{"embeddable":true,"href":"https:\/\/xho.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/dcodetechnologies"}],"wp:attachment":[{"href":"https:\/\/xho.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=295474"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/xho.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=295474"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/xho.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=295474"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/xho.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=295474"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/xho.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=295474"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/xho.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=295474"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}