Privacy Policy
IFG GEO Optimizer — a Shopify app for Generative Engine Optimization Last updated: October 2026
1. Data Controller
The data controller for personal data processed through IFG GEO Optimizer is:
IFG eCommerce — based in Rome, Italy Email: info@ifgecommerce.com
2. What We Collect
- Merchant account data (via Shopify OAuth): your store domain and an API access token.
- Store owner email and store name (via Shopify Admin API): read at install time for the sole purpose of sending the welcome email described in section 3. The email address is not stored in our records.
- Catalog data (read-only): product titles, descriptions, vendor, prices, options, and technical specifications — used to run audits, simulate crawler behavior, score content extractability, and draft FAQs or rewritten descriptions.
- Store configuration: your active plan, the return and shipping policy details and company data you enter in Settings, saved audits, FAQ and content-rewrite drafts, and the prompts you choose to track for AI visibility.
- Support chat messages: the text you exchange with the in-app AI assistant, including the transcript forwarded to us if you explicitly ask to speak to a human.
- Anonymous storefront traffic (Web Pixel, all plans): when a visitor arrives at a product page from a recognized AI engine (ChatGPT, Perplexity, Claude, Gemini, Copilot), we record the engine, the page URL, and a timestamp — only if the visitor has already given analytics consent through your store’s cookie banner. No visitor identifier, cookie, or session data is collected.
- Technical data: request timestamps, internal record identifiers, and system logs.
- Text of your Pages and blog Articles (read-only, Unlimited): read for two catalog-audit checks that you start yourself. The uncited-statistics scanner sends the text of candidate passages to OpenAI to check whether a statistical claim has a verifiable source nearby; the duplicate-content detector compares the same text with a fully deterministic similarity calculation and never sends it to any language model.
- Text of your published theme’s Liquid files (read-only): read by the structured-data conflict checks; for the entity-consistency check (Unlimited) it is also sent to OpenAI together with a sample of product descriptions, to flag statements that contradict each other.
- Aggregate recent order count (read-only): a single number — how many orders the store received in the last 30 days (Admin GraphQL
ordersCount) — available from an internal endpoint in preparation for a future reporting feature, not yet connected to any screen of the app. Never the details of an order, an amount, a purchased product or any customer data. - Suggestions sent from the “Suggest an improvement” form (Support page): the text you write, your store’s .myshopify.com domain and, only if you enter it, an email address to receive a reply. The email field is optional.
The app never requests or receives personal end-customer data — no names, emails or addresses — and never reads the details of any order. It asks Shopify for nine permissions, each tied to a function the app actually performs:
read_products— reads the catalog for the audit, the crawler simulator, FAQ drafting, content rewriting, image alt text and technical-spec extraction.write_products— writes the structured-data metafields (one-click schema fix) and the FAQs, rewritten descriptions and product title, description and SEO edits that you approve or save.read_themes— checks that the “GEO Schema” theme block is active, and reads the text of the theme’s Liquid files for the structured-data conflict checks and the entity-consistency check.write_themes— writes the three AI-readability files (agents.md, llms.txt, llms-full.txt) as Liquid templates on the published theme when you click publish in the Catalog audit, and automatically whenever you publish a different theme (themes/publishwebhook); files that already exist and were not created by the app are not overwritten without your explicit confirmation.write_pixelsandread_customer_events— activate and subscribe to the events of the anonymous traffic Web Pixel described above, never customer-identifying data.write_files— writes the alt text of a product image (Files API) when you approve or save it, never the image itself.read_online_store_pages— reads the text of Pages and blog Articles for the uncited-statistics scanner and the duplicate-content detector described above.read_orders— reads the aggregate count of recent orders described above, in preparation for a future reporting feature. Never the details of an order or any customer data.
3. Why We Process It, and Under What Legal Basis
We process this data to provide the service you installed the app for — under Art. 6(1)(b) GDPR, performance of a contract: analyzing and improving your catalog’s visibility on generative search engines, including AI-assisted FAQ drafting and content rewriting, the in-app support chat, weekly AI-visibility tracking on prompts you choose, and anonymous AI-referral traffic measurement — all either merchant-initiated or, for the traffic pixel, consent-gated on your storefront.
Welcome email. After a new installation we send one single welcome email to the email address of the store owner’s Shopify account, which we read from Shopify’s Admin API at install time (the public contact email of the store is never used). We also read the store name, to address you. The email is sent by Francesco Guiducci (IFG eCommerce), thanks you for installing the app, introduces him as its freelance developer and invites you to reply with any question. It is a service message, not a newsletter or a promotion, and nothing else is sent afterwards. It is delivered through Resend (United States, Standard Contractual Clauses). Legal basis: performance of the contract (Art. 6(1)(b) GDPR) and, for the introduction, legitimate interest (Art. 6(1)(f) GDPR). You can object at any time by replying to the email, using the unsubscribe link in it, or writing to info@ifgecommerce.com. The owner’s email address is not stored in our records. What we keep after uninstall is described in section 6. The email and content already handed to Resend remain in its logs under its own retention.
Suggestions and replies. When you send a suggestion from the Support page, the text and your store domain reach our support address by email through Resend (United States, Standard Contractual Clauses). We use them to assess and improve the app, based on our legitimate interest (Art. 6(1)(f) GDPR). If you enter an email address, we use it only to reply to you, based on your request (Art. 6(1)(b) GDPR): we don’t store it in the app’s database, don’t use it for any other communication and don’t share it with anyone else. The message stays in the support mailbox for as long as needed to handle your request, and in Resend’s logs under its own retention. You can ask for it to be deleted at any time by writing to info@ifgecommerce.com.
4. How We Collect It
Account data is collected once, through Shopify’s OAuth flow, at install. Catalog data is read through Shopify’s Admin API only when you trigger an action from the dashboard. The traffic pixel runs on your storefront and reports events only after consent; nothing else runs in the background without you asking for it.
5. Who We Share It With
- Google Firebase / Cloud Firestore — stores your configuration, sessions, and drafts. Google LLC (USA) participates in the EU-US Data Privacy Framework. Data is stored in the europe-west1 region (Belgium).
- OpenAI, Inc. (USA) — provides the language model (GPT-5 nano) used for FAQ drafting, content rewriting, image alt text, technical-spec extraction, the in-app support chat, the uncited-statistics and entity-consistency checks, and weekly AI-visibility tracking. Receives only the product attributes, text, or tracked prompt a feature needs — never customer data. Transfers to the US rely on the Standard Contractual Clauses approved by the European Commission.
- Perplexity AI, Inc. (USA) — used exclusively for weekly AI-visibility tracking on the prompts you explicitly choose to monitor. Receives only the tracked prompt text — never customer data.
- Google LLC (USA) — provides the Gemini model, used the same way as OpenAI and Perplexity above for visibility tracking (a distinct use from Firebase/Firestore, which is storage only). Gemini monitoring has been suspended since 26 July 2026: no calls are being made. The entry stays here for transparency and will apply again only if monitoring resumes.
- Resend, Inc. (USA) — sends us a notification, with the store name and support-chat transcript, only when you explicitly ask to talk to a human in the support chat, and delivers the welcome email to the store owner. It also delivers to us the suggestions sent from the Support page, with the optional email if you enter one.
- Shopify Inc. — the platform itself, and the source of the Admin API and Web Pixel infrastructure the app uses.
We don’t sell data, and we don’t use it for marketing or behavioral profiling. The welcome email described in section 3 is a service message, not marketing.
6. How Long We Keep It
- Session tokens: managed by Shopify’s offline-token lifecycle, rotated automatically.
- Configuration, audits, drafts, and traffic events: kept for as long as the app is installed. Uninstalling triggers Shopify’s
shop/redactwebhook, which deletes your store’s configuration and sessions entirely, with the one exception of the welcome email record below. - Welcome email record: after uninstall and the erasure request (
shop/redact) we keep, in a separate record, only the store’s .myshopify.com domain, the sending status with dates and, for anyone who unsubscribed, the date of the objection and a keyed cryptographic fingerprint (HMAC-SHA256) of the email address. The fingerprint is pseudonymised data, not anonymous; it is used only to avoid sending again and to honour the objection (Art. 21 GDPR), also if the same person installs the app on another store. It is deleted after 24 months. Objections recorded before this record existed are kept without an end date, as the store’s .myshopify.com domain and the date only (no personal data), so that they continue to be honoured. - Technical logs: retained under Google Cloud’s standard logging retention.
7. Your Rights
Under Articles 15–22 GDPR, you can request access to your data, correction of inaccurate data, or deletion — the simplest way is to uninstall the app — or object to processing. You can also lodge a complaint with your local data protection authority. Since the app never processes personal end-customer data, the customers/data_request and customers/redact compliance webhooks respond confirming there’s nothing to export or delete.
8. Security
All traffic runs over HTTPS/TLS 1.2+. Shopify authentication tokens are never exposed to the browser. Every webhook is verified with a constant-time HMAC SHA-256 check before it’s processed. The database is reachable only from the backend, authenticated via the hosting platform’s own service identity — there are no static credentials in the code, and direct client access is denied by the database’s own security rules. Data is encrypted at rest and in transit.
9. Changes
We may update this policy from time to time. Material changes will be reflected here, with the date at the top kept current.
Questions about your data? info@ifgecommerce.com