{"id":131,"date":"2026-08-21T16:20:18","date_gmt":"2026-08-21T16:20:18","guid":{"rendered":"https:\/\/f5digitalmarketing.com\/software\/?page_id=131"},"modified":"2026-08-21T16:20:18","modified_gmt":"2026-08-21T16:20:18","slug":"privacy","status":"publish","type":"page","link":"https:\/\/f5digitalmarketing.com\/software\/privacy\/","title":{"rendered":"Privacy"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong># AI Shopping Experience \u2014 Privacy Policy<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>**Effective 08\/21\/26**<\/strong> This policy covers the AI Shopping Experience<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">service operated by F5 Digital Marketing (&#8220;we&#8221;, &#8220;us&#8221;), S\u00e3o Paulo, Brazil,<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">260736410001-60. Privacy contact: contact@f5digitalmarketing.com.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Data protection officer \/ <em>*encarregado*<\/em> (LGPD art. 41): [DPO NAME], reachable at<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">contact@f5digitalmarketing.com. Our representative for data subjects in the EEA and the UK is<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[EU\/UK REPRESENTATIVE \u2014 or delete this sentence if none is appointed].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It explains what reaches our servers when a shopper talks to the assistant on a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">merchant&#8217;s store, what we do with it, and what we keep. It does not describe<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">what an individual merchant stores on their own site \u2014 that is theirs to<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">document, and the plugin supplies suggested wording for it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>## 1. Who is responsible for what<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>**The merchant is the controller**<\/strong> of shopper conversations. They decide to<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">install the plugin, they configure the assistant, and the conversations are<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">stored in their own WordPress database.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>**We are a processor**<\/strong> for that data: we process it on the merchant&#8217;s<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">instructions in order to return an AI reply, and for nothing else.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>**We are the controller**<\/strong> of merchant account data \u2014 the details you give us<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">when you register for a licence, and the record of your subscription and usage.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>## 2. What we receive, and when<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>**On each chat turn**<\/strong>, the plugin sends our gateway:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211; the shopper&#8217;s message;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211; a trimmed history of that conversation;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211; relevant excerpts from the merchant&#8217;s uploaded knowledge-base documents;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211; a compact summary of the products and cart under discussion \u2014 ids, names,<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp; prices, quantities;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211; when a signed-in shopper asks about their own orders: that shopper&#8217;s order<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp; numbers, statuses, dates, totals, currency, and the names and quantities of<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp; items ordered;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211; the merchant&#8217;s licence key, site URL and plugin version.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>**When a merchant uploads a knowledge-base document**<\/strong>, the extracted text of<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">that document is sent so it can be turned into embeddings.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>**When a licence is activated, re-validated (once a day) or deactivated**<\/strong>, the<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">licence server receives the licence key, the site URL and the plugin version.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>### What we do not receive<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Shopper names, email addresses, postal or shipping addresses, phone numbers and<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">payment details are not sent to the gateway. Order lookups deliberately omit<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">addresses and per-line totals. We never receive the merchant&#8217;s WordPress<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">credentials or database.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A shopper can of course type personal information into a chat message. Merchants<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">should tell shoppers not to, and the assistant is instructed not to ask for it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>## 3. Why we process it<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211; <strong>**To provide the service**<\/strong> (performance of a contract): generating replies,<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp; embedding documents, validating licences, metering usage and billing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211; <strong>**To keep the service secure and available**<\/strong> (legitimate interests): rate<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp; limiting, abuse prevention, and blocking attempts to extract credentials or<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp; bypass safety controls.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211; <strong>**To comply with law**<\/strong> where we are required to.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We do not sell personal data, we do not use it for advertising, and neither we<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">nor our AI provider use it to train AI models.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>## 4. What we keep, and for how long<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>**The gateway does not store conversations.**<\/strong> It is a stateless proxy: a request<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">arrives, it is checked and forwarded, the reply is streamed back, and nothing<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">about the content is written to disk. Prompts, replies and document text are<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">held in memory only for the life of the request.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">| Data | Where | Retention |<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">|&#8212;|&#8212;|&#8212;|<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">| Prompts, replies, document text | Gateway (in memory only) | Life of the request |<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">| Hash of the licence key + request timestamps, used for rate limiting | Gateway counter store | About 2 minutes. The key itself is never stored \u2014 only a SHA-256 hash of it |<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">| Licence key, plan, status, expiry, quota, tokens used, allowed models, document limit | Licence server | Life of the licence, plus [RETENTION] after it lapses |<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">| Site URLs a licence is activated on, with activation dates | Licence server | Same as above |<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">| A one-way key of stores that have used a free licence | Licence server | Kept indefinitely, so a free allowance cannot be reset by re-registering |<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">| Account, order and subscription records | Our storefront (WooCommerce) | As required for tax and accounting law |<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">| Operational logs (errors, availability) | Hosting platform | Short-lived platform retention; they contain no prompt content |<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>## 5. Who else processes it<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">| Subprocessor | Role | Where |<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">|&#8212;|&#8212;|&#8212;|<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">| OpenAI | Generates replies and embeddings from the content in section 2 | United States |<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">| Vercel | Hosts and runs the gateway | Global edge, US-based |<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">| [KV PROVIDER \u2014 Vercel KV \/ Upstash] | Rate-limit counters (hashed licence key only) | US\/EU region of the attached database |<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">| Our storefront hosting | Licence server, accounts, billing | [HOSTING REGION] |<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">OpenAI states that data submitted through its API is not used to train its<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">models and is retained only for a limited period for abuse monitoring. See<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&lt;https:\/\/openai.com\/policies\/row-terms-of-use&gt; and<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&lt;https:\/\/openai.com\/policies\/row-privacy-policy&gt;.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Merchants who bought their licence from a different storefront in our network<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">have their licence validated by that storefront&#8217;s licence server instead of<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ours; the AI gateway is the same.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>## 6. International transfers<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The gateway and OpenAI process data in the United States. Where data originates<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">in the EEA, the UK or Brazil, transfers rely on the European Commission&#8217;s<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Standard Contractual Clauses (and the UK addendum where applicable), together<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">with the technical measures in section 8. A copy of the relevant safeguards is<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">available on request.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>## 7. Your rights<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Depending on where you are, you may have the right to access, correct, delete,<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">port, restrict or object to the processing of your personal data, and to<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">withdraw consent where processing rests on it. Write to [PRIVACY EMAIL] and we<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">will respond within the time your law allows.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>**Shoppers**<\/strong> should contact the store they were chatting with: the merchant is<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">the controller of that conversation, and the conversation is stored on the<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">merchant&#8217;s own site. If you contact us instead, we will pass the request to the<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">merchant. Merchants can honour it directly \u2014 the plugin supports WordPress&#8217;s<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">personal-data export and erase tools for signed-in customers, and lets an admin<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">delete conversations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You may also complain to your local supervisory authority (in Brazil, the ANPD).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>## 8. Security<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211; All traffic runs over TLS.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211; The AI provider&#8217;s key exists only in the gateway&#8217;s environment. It is never in<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp; the plugin, never on the merchant&#8217;s server and never in a browser.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211; The merchant&#8217;s licence key is encrypted at rest on their site (AES-256-CBC,<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp; key derived from the site&#8217;s own WordPress salts) and is decrypted only<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp; server-side when calling us.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211; Licence entitlements are RSA-SHA256 signed by the issuing storefront and<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp; verified before they are trusted, so a spoofed licence server cannot grant<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp; access.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211; Replies are scanned and credential-shaped text is redacted before it reaches a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp; browser, on both the streaming and non-streaming paths.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211; Requests are rate limited per licence, and quotas are enforced per plan.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No system is perfectly secure. If we become aware of a breach affecting personal<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">data we will notify affected merchants and the relevant authority as required by<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">law.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>## 9. Children<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The service is sold to businesses and is not directed at children. We do not<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">knowingly collect personal data from children. A merchant whose store serves<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">minors is responsible for the additional obligations that brings.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>## 10. Changes<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We may update this policy. Material changes will be notified by email or in the<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">plugin&#8217;s admin screens at least 30 days in advance, and the effective date above<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">will change.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>## 11. Contact<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F5 Digital Marketing, S\u00e3o Paulo, Brazil \u2014 contact@f5digitalmarketing.com.<\/p>\n","protected":false},"excerpt":{"rendered":"<p># AI Shopping Experience \u2014 Privacy Policy **Effective 08\/21\/26** This policy covers the AI Shopping Experience service operated by F5 Digital Marketing (&#8220;we&#8221;, &#8220;us&#8221;), S\u00e3o Paulo, Brazil, 260736410001-60. Privacy contact: contact@f5digitalmarketing.com. Data protection officer \/ *encarregado* (LGPD art. 41): [DPO NAME], reachable at contact@f5digitalmarketing.com. Our representative for data subjects in the EEA and the UK [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"order-bump-settings":[],"_wpfnl_thankyou_order_overview":"on","_wpfnl_thankyou_order_details":"on","_wpfnl_thankyou_billing_details":"on","_wpfnl_thankyou_shipping_details":"on","footnotes":""},"class_list":["post-131","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/f5digitalmarketing.com\/software\/wp-json\/wp\/v2\/pages\/131","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/f5digitalmarketing.com\/software\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/f5digitalmarketing.com\/software\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/f5digitalmarketing.com\/software\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/f5digitalmarketing.com\/software\/wp-json\/wp\/v2\/comments?post=131"}],"version-history":[{"count":1,"href":"https:\/\/f5digitalmarketing.com\/software\/wp-json\/wp\/v2\/pages\/131\/revisions"}],"predecessor-version":[{"id":132,"href":"https:\/\/f5digitalmarketing.com\/software\/wp-json\/wp\/v2\/pages\/131\/revisions\/132"}],"wp:attachment":[{"href":"https:\/\/f5digitalmarketing.com\/software\/wp-json\/wp\/v2\/media?parent=131"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}