Legal
Privacy Policy
Diaglee is a Shopify app that puts an FAQ block on a store and answers shopper questions from the merchant's own FAQ content. This policy explains what data the app handles, why, for how long, and how to have it removed.
Who we are
Diaglee is operated by William Beinö, enskild firma (organisation number 000922-1094), Björketorpsvägen 13, 168 42 Stockholm, Sweden. We are established in Sweden and the EU General Data Protection Regulation (GDPR) applies to everything we do. You can reach us at [email protected].
What this policy covers
This policy covers three things:
- The Diaglee app that merchants install from the Shopify App Store and manage inside Shopify admin (Apps → Diaglee).
- The FAQ block the app adds to a merchant's storefront, which shoppers interact with.
- This website, diaglee.com, including the live demo on the home page and the free shopper questions tool.
For data about merchants (store owners and staff) we act as a data controller. For questions shoppers type into a merchant's storefront, the merchant is the controller and we process that data on the merchant's behalf as a processor. The merchant's own privacy policy governs their store; this document describes our part.
Data about merchants
When a merchant installs Diaglee, Shopify gives us access to the store. We store:
- Store identity: the store's myshopify.com domain and Shopify's internal identifier for the store.
- Shopify session and access tokens that let the app read and write FAQ content in the store, plus the permissions granted and when the token expires. We request only the permissions the app needs: metaobjects, products, the app proxy, translations and locales. We do not request access to customers, orders or payment details.
- Billing state: the chosen plan, subscription identifiers, trial dates, usage caps and running usage totals, and whether the store is a development store. We never see card numbers; Shopify handles all payment.
- Usage counts per store per month, used to apply plan limits and bill overage.
FAQ content itself lives in your Shopify store, as metaobjects and a product metafield, not in our database. It is readable by anyone who can view your storefront, which is what makes the FAQ block work. We read it when a shopper asks a question and keep the FAQ question and answer pairs that were shown alongside each stored question (see below).
We do not collect merchant names or email addresses through the app. If you email us for support, we keep that correspondence so we can answer you.
Data about shoppers
The FAQ block does not set cookies, does not use local storage, and does not ask shoppers to log in. We have no access to Shopify customer accounts. When a shopper uses the ask box, the block sends the following to our servers through Shopify's app proxy:
- The question text. The block checks a question as it is typed, so partial text is sent to us while the shopper is still writing (a "preview"), and the full text is sent when they press Enter (a "submission"). Both are stored: submissions for up to 90 days, previews for up to 7 days.
- The page the question was asked on: the product (id, handle, title, description, price, availability, tags, collections), the FAQ block's identifier, and which store it belongs to.
- Store context used to answer: the store name and description, currency, shipping and refund policy text, and the FAQ items on the page.
- Storefront language and market country as selected in the storefront. This is the store's localisation setting, not a lookup of the shopper's location.
We store each question together with the answer that was generated, the product and FAQ identifiers, the FAQ pairs used as context, language, country, whether it was a preview or submission, whether it was judged relevant, and a timestamp. We do not record IP addresses, browser details, customer ids, email addresses, carts or orders. Shopify does add the logged-in customer id to app proxy requests as a URL parameter; our app does not use, store or forward it, but the request URL may appear in standard server request logs. Questions are therefore not linked to a Shopify customer account.
Merchants can see the questions submitted on their store, with the answer, product, language and date, on the Questions page in the Diaglee app, and can delete any single question there. Obvious email addresses and phone numbers are masked on that page.
Shoppers should not type personal details (names, addresses, order numbers, card numbers) into the ask box. If they do, that text is stored as part of the question for up to 90 days (or until the merchant deletes it or uninstalls the app), and it is sent to the AI providers listed below to produce an answer.
How AI answers are generated
Each question goes through two external services:
- Relevance check. The question text alone is sent to TypeSafe (api.typesafe.ai) to decide whether it is a question the FAQ can answer. Unrelated questions are turned away without generating an answer.
- Answer generation. For relevant questions we send a prompt to OpenRouter (openrouter.ai), which forwards it to a large language model. By default that model is Google Gemini 2.5 Flash, and OpenRouter may route the request to any provider hosting that model. The prompt contains the question, the store name, description and currency, product details, shipping and refund policy text, the FAQ items, and the storefront language. The prompt does not contain the store's domain, and we do not send any identifier for the shopper.
These providers process the data under their own terms. We have not enabled any provider setting that prevents them from retaining prompts, and we cannot rule out that a model provider stores requests for a limited time for abuse monitoring. We do not use shopper questions to train models of our own, and we do not build embeddings or a vector index from them.
Analytics
To show merchants how their FAQ is used, the block records two events: when an FAQ block is viewed and when a question in the list is opened. Each event contains the store, FAQ and item identifiers, the product id if any, the storefront language and country, the page path, and a timestamp. Events carry no cookie, device id, IP address or customer id.
The block checks Shopify's customer privacy API before sending events. If a shopper has declined analytics under the store's consent settings, no events are sent. Events are also never sent from the Shopify theme editor. Events are stored in our ClickHouse database for 24 months and then deleted automatically; daily totals derived from them are kept until the store's data is deleted.
This website
diaglee.com is a static site. It sets no cookies and runs no analytics or tracking scripts. Fonts are loaded from Google Fonts, so your browser sends a request, including your IP address, to Google when the page loads.
The demo FAQ block on the home page sends what you type to our answer service in the same way a real storefront would, using a sample store. Demo questions and answers are stored like any other question and are processed by the AI providers above. To protect the demo from abuse our server rate-limits it by IP address; the IP is held in memory for one minute and is not written to disk.
The free tool at /tools/shopper-questions takes a product page URL you paste (or open from a link). To ground its answers our server may fetch publicly available information about that product, such as Shopify's public product JSON for the page. The product title and an excerpt of its description (or, if the page cannot be read, the product name from the link) are sent to OpenRouter, which forwards them to Google Gemini 2.5 Flash, the same providers listed under Subprocessors. We do not store the URL you paste, the generated questions or the answers. To limit abuse we rate-limit the tool to 3 requests per IP address per rolling 24 hours; the IP address is kept as a counter in memory only and is not written to disk.
Purposes and legal bases
| Purpose | Data | Legal basis |
|---|---|---|
| Running the app for a merchant | Store domain, tokens, FAQ content | Performance of our contract with the merchant (Art. 6(1)(b)) |
| Billing and plan limits | Plan, subscription ids, usage counts | Performance of contract; legal obligation to keep accounting records (Art. 6(1)(c)) |
| Answering shopper questions | Question text, page and store context | Processed on the merchant's instructions (Art. 28). The merchant relies on its own basis, typically legitimate interest in customer service. |
| Usage analytics for the merchant | View and open events | Processed on the merchant's instructions, subject to the shopper's consent choices in Shopify |
| Free shopper questions tool | The product page URL you paste and public product information; not stored | Legitimate interest in offering the tool (Art. 6(1)(f)) |
| Abuse prevention on this site | IP address, in memory only | Legitimate interest (Art. 6(1)(f)) |
| Support | Your email and correspondence | Legitimate interest in answering you (Art. 6(1)(f)) |
Subprocessors
We use the following third parties to run Diaglee:
| Provider | Role | Location |
|---|---|---|
| Shopify | App platform, billing, app proxy, FAQ content storage | Canada / global |
| Hostup | Hosts our server and databases (Postgres, ClickHouse) | Sweden |
| OpenRouter, Inc. | Routes answer prompts to a language model provider | United States |
| Google (via OpenRouter, default model) or other model providers selected by OpenRouter | Generates answers | United States / global |
| TypeSafe AI, Inc. | Checks whether a question is relevant | United States |
| Google Fonts | Serves fonts for this website | United States / global |
| Cloudflare, Inc. | DNS, TLS and edge proxy for our domains | United States / global |
Our own servers and databases are in Sweden. Where a provider is outside the EU/EEA, transfers rely on the European Commission's Standard Contractual Clauses or, for US providers certified under it, the EU-US Data Privacy Framework. We will update this list before adding a subprocessor that handles shopper questions.
Retention and deletion
- While the app is installed: submitted shopper questions and their answers are deleted automatically 90 days after they were asked, and typing previews after 7 days. Merchants can delete a single question earlier from the Questions page in the app. Usage counts are kept for as long as the app stays installed, and analytics events are deleted automatically after 24 months.
- On uninstall: as soon as Shopify tells us the app was uninstalled, we delete the store's sessions and tokens, all stored questions and answers, usage counts, billing batches, and all analytics events and totals. FAQ content stays in your Shopify store because it belongs to you. We keep a minimal billing record (store domain, trial dates and plan history) so that a free trial cannot be claimed twice.
- Shop redaction: 48 hours after uninstall, Shopify sends us a shop/redact request. On receipt we delete the remaining billing record and run the full deletion again.
- Customer requests via Shopify: Shopify forwards customers/data_request and customers/redact webhooks to us. Because we hold no customer identifiers, we have no record that can be matched to a customer id and these requests return nothing. If a shopper has typed personal data into a question, the merchant can delete that question from the Questions page in the app, or contact us with the store and the text and we will find and delete it.
- Accounting records relating to paid subscriptions are kept for seven years as required by Swedish accounting law.
- Server logs stay on our own server and are not sent to any log or error tracking service.
Security
All traffic to the app, the storefront block and this site is encrypted with TLS. Shopify webhooks are verified by signature before they are acted on. API keys that link the app to our answer service are stored hashed. Our servers and databases are not reachable from the public internet except through the application itself. Access to production is limited to the operator.
Your rights
Under the GDPR you can ask us to access, correct, delete or export the personal data we hold about you, to restrict or object to its processing, and to withdraw consent where processing is based on consent. Write to [email protected]. We answer within one month.
Merchants can delete everything we hold by uninstalling the app, and can request a copy of their stored questions by email.
Shoppers should contact the store they used, which is the controller of that data. We will assist the merchant with any request.
You also have the right to complain to a supervisory authority. Ours is the Swedish Authority for Privacy Protection (Integritetsskyddsmyndigheten, IMY), imy.se.
Changes
We will update this page when the app's data handling changes and change the date at the top. Continued use of the app after a change means you accept the updated policy.
Contact
William Beinö, enskild firma
Björketorpsvägen 13, 168 42 Stockholm, Sweden
[email protected]