Price Fusion Privacy Policy
Version: 1.0 · Effective date: 14 October 2026 · Last updated: 24 October 2026
1. Who we are
Price Fusion is a pricing app for Shopify merchants. It analyses a store's products, orders and storefront activity, recommends prices, and runs pricing campaigns that the merchant approves.
Price Fusion is provided by Price Fusion AI Ltd ("Price Fusion", "we", "us", "our"), a company registered in England and Wales with company number 17504479, whose registered office is at 9 Alma Road, Stockport, SK4 4PU, England. We are registered with the UK's data protection regulator, the Information Commission (still known as the ICO), under number ZC269673.
Contact for privacy matters: support@pricefusion.ai.
This policy explains what personal data we handle, why, on what legal basis, who we share it with, how long we keep it, and what rights people have. It applies to:
- merchants who install Price Fusion, and their staff;
- visitors to our website, pricefusion.ai;
- people who contact us; and
- shoppers on our merchants' stores, to the limited extent described in sections 2 and 4.
2. Our two roles: controller and processor
Data protection law (the UK GDPR, the Data Protection Act 2018 and, where it applies, the EU GDPR) treats us differently depending on whose data it is.
We are a controller for merchant account and usage data
We decide why and how we use:
- the details of the merchant's account with us and the store's connection to Price Fusion;
- how merchants and their staff use the app, including logins (usage and telemetry);
- billing records, including the record that a store has used its free trial;
- support correspondence;
- security records, such as rate-limiting counters and logs;
- a sample of what goes into and comes out of our AI features, which we use to check their quality (section 3.4); and
- data about visitors to pricefusion.ai.
For this data, we are the controller and this policy is our notice to you.
We are a processor for the merchant's store data, including shopper data
When a merchant installs Price Fusion, we process the store's data on the merchant's behalf and on their instructions. This includes the store's settings, product catalogue, sales and orders, the storefront events collected by our pixel, and the Shopify user ids of the merchant's staff recorded against campaign edits (section 3.2). Some of this data relates to the merchant's shoppers (customers and visitors), in pseudonymous form (see sections 3.5 and 3.6).
For this data, the merchant is the controller and we are their processor. Our processing is governed by our Data Processing Agreement with the merchant, which forms part of our Terms of Service.
If you are a shopper on a store that uses Price Fusion, the merchant is responsible for telling you how your data is used and for handling your requests. Please contact the store directly. If you contact us, we will pass your request to the merchant and help them answer it (see section 10).
Shopify's role
Shopify runs the platform our merchants' stores are built on. We receive store data from Shopify through Shopify's APIs and webhooks, under the Shopify Partner Program terms and the permissions the merchant grants when installing the app. Shopify also bills merchants for Price Fusion. Shopify is not our sub-processor; it handles personal data under its own terms and privacy policy.
3. What we collect
We do not store shoppers' names, email addresses, phone numbers, postal addresses or IP addresses in our database. The categories we do handle are below.
3.1 The merchant's store data
When you install Price Fusion, we receive from Shopify:
- Store identity and settings: your shop domain, currency, timezone, Shopify plan, business type, tax settings, install times, the app installation id, the web pixel id, and whether the store is a development store.
- Shopify access credentials: the access and refresh tokens that let Price Fusion call Shopify's API for your store. We encrypt them (section 9).
- Catalogue and pricing data: products, variants, SKUs, prices, costs (including costs you upload by CSV, and that file's name), stock levels, price history and the price guardrails you set.
- Campaign records: your pricing campaigns and their items, the log of every price change we make (kept as evidence of previous prices), and post-campaign reviews.
- Operational records: records of webhooks received and data sync jobs, which can include error messages.
A store's data is normally business data. It may be personal data where the merchant is an individual (for example a sole trader whose shop domain includes their name).
3.2 Merchant staff identifiers
When a member of the merchant's staff edits a campaign from the Shopify admin, we record their Shopify user id (taken from the Shopify admin session) against the edit, as an audit trail. We hold this id as the merchant's processor, as part of the store's data (section 2). We also record logins and other activity in the app (section 3.4).
3.3 The merchant's free text
Merchants and their staff can type text into Price Fusion, which we store and use for the AI features:
- campaign notes;
- questions and instructions to the Strategy assistant, and summaries of those conversations;
- facts the merchant tells us about their business; and
- labels for API keys the merchant creates.
Please don't enter personal data about shoppers or anyone else in these fields.
3.4 Usage and telemetry
We record how the app is used, so that we can run, support and improve it:
- an activity log of actions in the app, including logins;
- which features a store has adopted;
- daily account health snapshots; and
- service-wide counts and statistics that are not linked to any store, product or person (section 4.2).
We don't use a product analytics service in the app. If we add one, we will update this policy first.
When you use Price Fusion's AI features, we keep the generated insights and recommendations, a usage log (tokens used and any error text), and, for quality control, the full input and output of about 10% of AI requests. These contain store data and what the merchant typed; they do not contain shoppers' contact details (unless someone typed them into a free-text field, section 3.3) or the pixel's identifiers.
If you connect an AI assistant to Price Fusion through our API or our Claude.ai connector, we store the hashed API keys, OAuth client registrations, authorisation codes and hashed access tokens, and a log of the requests made. Data that the assistant retrieves from Price Fusion is then handled by that assistant's provider under your own arrangement with them; that provider is not our sub-processor.
Our servers also keep short-lived technical data, including the IP address of the device calling our service, which we use for rate limiting and security (section 9), and application logs that can contain shop domains, IP addresses and error messages.
3.5 Storefront pixel data about shoppers
Price Fusion installs a Shopify web pixel on the merchant's storefront. It runs inside Shopify's sandbox and, where Shopify's consent controls apply, only after the shopper has given the consent Shopify requires (section 8.3). For each relevant event it sends us:
- the event type: a product view, an add-to-cart, or a checkout step (started or completed);
- the product and variant, the price the shopper saw, the currency and the quantity;
- the shopper's per-browser id, a persistent pseudonymous identifier assigned by Shopify to the browser (the "client id");
- a hashed checkout token: a one-way hash of the shop domain and Shopify's checkout token, so we can link checkout events without storing the token itself; and
- the shop domain, an event id and the time.
We keep none of the following from the pixel: names, email addresses, phone numbers, postal addresses, the page address or browser details. We don't store the shopper's IP address, but our hosting provider necessarily sees it, and the browser details, when the pixel's request reaches our servers (section 5). The checkout token is hashed by our server on arrival; only the hash is kept. Any fields beyond those listed above are discarded at our server before the event is stored or queued.
This data is pseudonymous, not anonymous: the client id and the hashed checkout token could be linked to a person by the merchant or by Shopify. We treat it as personal data.
From these events we also build, each day, daily counts per product, variant and price seen (views, add-to-carts, checkouts) that contain no visitor-level fields.
3.6 Order data
To measure demand and price sensitivity, we copy orders from Shopify: the Shopify order id, the date processed, totals, discount codes used, payment status, cancellation date, whether it was a test order, and each line (variant, quantity, prices and line id). On install we import the store's past orders. When an order is created, updated or refunded, Shopify notifies us and we read the order again from Shopify; refund notifications add no new kinds of data.
We do not request or store the customer's name, email, phone number or address for an order. Each order is still linkable to a shopper by the merchant or Shopify through its order id, and a discount code may in some cases identify a person, so we treat order records as pseudonymous personal data.
We do not collect a customer reference for orders today. In future we may store a hashed customer reference on each order (a one-way hash of the store and Shopify's customer id) to recognise repeat purchases without knowing who the customer is. We will update this policy, and tell merchants in advance, before we do. Merchants would then need to check that their own privacy notices cover it.
3.7 Billing
Merchants pay for Price Fusion only through Shopify's billing system; we don't take payments directly. Price Fusion has a Free plan (£0) and two paid monthly plans: Growth (£499 or US$649) and Enterprise (£749 or US$999). The paid plans come with a 14-day free trial (or an offer's period), one per store; the Free plan has no trial.
We receive the subscription's status, plan and currency; we don't receive card or bank details. To enforce one free trial per store, we keep a trial record when a trial starts. After uninstall it is reduced to a hashed record that the store has used its trial, kept for 12 months after uninstall, then deleted (section 7).
3.8 Support email
If you email us, we keep your name, email address, the content of your message and any attachments, and our replies.
3.9 Visitors to pricefusion.ai
When you visit our website or open the app, our hosting provider processes your IP address and browser details to serve the page, and keeps them for a short time in its logs (section 7).
Website analytics, only if you accept. On our public website we use Google Analytics to see how people use it, so we can improve it, but only if you accept analytics cookies when we ask (section 8). We never use it on the sign-in pages, on the page where you approve an AI assistant's connection to Price Fusion, on the pages where you confirm or leave our waitlist, or in the app. If you accept, Google Analytics receives: the address of the page you visited, without its query string except for any campaign tags (utm_source, utm_medium, utm_campaign, utm_content and utm_term); the address of the page you came from, without its query string; the page's title; your approximate location (country and region); your type of device and browser; a random identifier stored in a cookie; and, if you join our beta waitlist, the fact that someone joined it (never your email address or anything else you enter in the form). We don't send it your name, email address, store name or shop domain. Google uses your IP address to work out your approximate location; Google says that Google Analytics doesn't log or store IP addresses. We have set Google Analytics not to use Google signals, advertising features or ads personalisation, and not to collect city-level location or data that people provide about themselves. You can change your mind at any time with "Cookie settings" at the foot of any page of our website.
Referral tracking, only if you accept. We run a partner programme: partners who recommend Price Fusion to retailers are credited when someone they referred signs up. For it we use Tolt, our referral partner platform, but only if you accept the referral cookie: with "Accept cookies" when we ask about cookies, or with "Accept referral cookie" on our referral page, where a partner's link takes you (that page asks about the referral cookie only, and you can continue without it). When a partner's link brings you to our website, the link's code stays in the page address so that Tolt can read it if you accept. If you accept, Tolt's script runs in your browser and sets two cookies (section 8): one holds a random click identifier, and the other Tolt's details of the referral. Like any service a web page loads, Tolt receives your IP address and browser details, together with the page address and the partner link's code. When you join our waitlist, our website reads the partner and click identifiers from Tolt's script and sends them with your sign-up (section 3.10). We never use Tolt on the sign-in pages, on the page where you approve an AI assistant's connection to Price Fusion, on the pages where you confirm or leave our waitlist, or in the app. You can change your mind at any time with "Cookie settings" at the foot of any page of our website; if you reject or withdraw your consent, we remove Tolt's script and delete its cookies straight away.
3.10 Waitlist
If you join the beta waitlist on our website, we keep your email address, the platform you chose, and, if you give them, your store's website and a short note about what you would build with a Price Fusion API, together with when you agreed and to which wording. We use them only to tell you when Price Fusion is available for your platform, and to invite API design partners. Our lawful basis is your consent, which you can withdraw at any time.
Confirming your address. When you join, we email you a link to confirm your email address, and only confirmed addresses get updates from us. If you don't confirm, we delete your entry 7 days after our last confirmation email. If you sign up again with the same email address, we leave your existing entry as it is; if it isn't confirmed yet, we send the confirmation email again, at most once a day. If you joined before we started confirming addresses, we email you once to ask you to confirm.
If a partner referred you. If you join from our referral page, we also keep the code of the partner link you came through (taken from the page address), whether or not you accepted the referral cookie: it is our own record of how you found us. If you accepted the referral cookie, we also keep the partner and click identifiers that Tolt's script holds in your browser, and when you had accepted it, which makes you eligible for the referral offer described on that page. Once you confirm your email address, and only if those identifiers are on your entry, we send Tolt your email address, an internal reference to your waitlist entry and the two identifiers, so that Tolt can record you as a lead and the partner who referred you can be credited (section 5). If you didn't accept the referral cookie, nothing about you is sent to Tolt. Our lawful basis for the identifiers and for sending them to Tolt is your consent; for the link's code, our legitimate interests in knowing which partner introduced you (section 4.1). Signing up again doesn't add or change any of these details.
Our email provider. We send these emails, and keep the list of confirmed addresses, with Brevo, our email provider, in the EU (section 5). Brevo receives your email address and, once you confirm, which platform's list you're on; never your store's website, your note or your consent record. As part of sending an email, Brevo may record whether it was delivered and whether it was opened or a link in it clicked. We don't use that to profile you or for marketing, and we've asked for open and click tracking to be off where Brevo allows it.
Leaving. Every email we send you has a link to leave the list, or you can email support@pricefusion.ai. When you leave, we mark your entry as removed and clear any referral details from it, delete your address from our lists at Brevo and, if a partner referred you, your record at Tolt, then delete your entry. Brevo keeps its sending logs for its own retention period, and may keep your address on its blocklist so that it never emails you again. So that we never email you again, we keep a keyed hash of the address of anyone who leaves the list, asks us to erase it, or whose address bounces or reports our email as spam: a code made from the address with a secret key, which can't be turned back into the address. We keep it while the waitlist runs, on the basis of our legitimate interests in respecting your choice (section 4.1). Signing up again with that address changes nothing; to rejoin, email support@pricefusion.ai.
We keep your entry until you tell us you've joined Price Fusion, until you ask to leave the list, or for 12 months after Price Fusion launches on your platform, whichever comes first. We don't sell the list, and we don't share it, except that if a partner referred you and you accepted the referral cookie, Tolt receives your email address as described above; otherwise it is held only by the hosting, database and email providers listed in section 5, on our behalf. We don't store your IP address with your entry. To stop abuse of the form and of the links in our emails (our legitimate interests in security, section 4.1), we keep short-lived rate-limit counters keyed by your IP address (for an IPv6 address, its network prefixes) and by a keyed hash of your email address: the per-minute counters expire within about 2 minutes, and the daily counters for your IP address and its network within about 2 days (section 7).
4. How we use data, and our lawful basis
4.1 Where we are the controller
| What we do | Data used | Lawful basis |
|---|---|---|
| Set up and run your account, connect to your store and authenticate you | Account data: the merchant's account with us and the store's connection to Price Fusion (part of 3.1), and login activity (3.4) | Contract, where the merchant is an individual (such as a sole trader). Otherwise legitimate interests: providing the service to the business you work for |
| Monitor quality and cost of the AI features, using usage logs and a sample of about 10% of AI input and output | 3.4 | Legitimate interests: keeping the AI features accurate, safe and affordable |
| Understand and improve how the app is used; measure account health; offer support | Usage and telemetry (3.4) | Legitimate interests: running and improving our product |
| Measure how visitors use our public website | Website analytics (3.9) | Consent, which you can withdraw at any time with "Cookie settings" at the foot of any page of our website |
| Keep the service secure: rate limiting, preventing abuse, detecting and fixing errors | IP addresses, logs, error reports (3.4, 3.10) | Legitimate interests: security and reliability |
| Billing, and enforcing one free trial per store | Billing data and trial record (3.7) | Contract or legitimate interests as in the first row; legitimate interests (preventing repeated free trials) |
| Keep accounting and tax records; respond to regulators and lawful requests | Billing data | Legal obligation |
| Keep a record of the privacy requests we have handled | Records of privacy requests | Legitimate interests: showing that requests were handled |
| Answer your emails | Support correspondence (3.8) | Legitimate interests: answering people who contact us; contract where you are an individual customer |
| Tell you when Price Fusion is available for your platform, and invite API design partners | Waitlist entry (3.10) | Consent, which you can withdraw at any time |
| Make sure we never email anyone again who left our waitlist, asked us to erase their address, or whose address bounced or reported our email as spam | A keyed hash of the email address (3.10) | Legitimate interests: respecting your choice, and sending email only to people who want it |
| Credit the partner who referred you, and offer referred retailers the referral offer | Referral tracking (3.9); the partner and click identifiers on a waitlist entry, and the email address we send to Tolt (3.10) | Consent, which you can withdraw at any time with "Cookie settings" at the foot of any page of our website, or by leaving the waitlist |
| Keep a record of the partner link someone came through when they join our waitlist from our referral page | The partner link's code (3.10) | Legitimate interests: knowing which partner introduced someone |
This table covers the data for which we are the controller. We do not use it to train or fit any AI or machine-learning model. The store's settings, catalogue, sales and order data, the pixel data, and the staff Shopify user ids recorded against campaign edits are store data that we process as the merchant's processor (section 4.2), including when we use them for the AI features and to fit that store's own statistical and machine-learning models (for example, to estimate how its sales respond to price). Those models are fitted on that store's data only and used only for that store. No general or shared AI model is trained on store data unless the merchant opts in under Terms 7.8.
Where we rely on legitimate interests, we have balanced our interests against yours, and you can object (section 10).
4.2 Where we are the processor
We use the merchant's store data, including the pixel and order data about shoppers, only to provide Price Fusion to that merchant: to estimate demand and price sensitivity, recommend prices, measure how much of the store sells at full price and the discount given away, run and evaluate campaigns, provide the AI features (insights, the Strategy assistant and recommendations), keep an audit trail of which staff member changed a campaign, and report results. To run, secure, maintain and improve Price Fusion, we also keep counts and statistics that identify no store, product or person and are not derived from data about shoppers (for example, how often a feature is used, or how often a job or check fails); we are the controller of these (sections 3.4 and 4.1). We use them only inside Price Fusion: we never publish, sell or share them, use them to compare merchants, or use them to train or improve any model.
Each merchant's estimates are produced from that merchant's own data. We don't combine merchants' data (apart from those counts and statistics), we don't use one merchant's data for another merchant, and we don't use store data, in any form, to train or improve AI or machine-learning models for anyone else. We don't sell it, and we don't use it for advertising. If we ever offer an optional feature that uses data from more than one store, such as benchmarking, it will be off by default and used only by merchants who switch it on, under separate terms (Terms of Service, clause 7.8).
The merchant, as controller, chooses the lawful basis for this processing. For the storefront pixel, consent is collected through Shopify's consent controls where they apply (section 8.3). The merchant is responsible for their own privacy notice to shoppers and for configuring consent on their store.
4.3 The AI provider
Price Fusion's AI features use Anthropic's Claude API. When the app generates an insight or a recommendation, or answers a question in the Strategy assistant, we send Anthropic:
- the shop domain;
- product, price, stock and sales figures; and
- the merchant's free text (3.3).
We do not send shopper contact details or customer fields to Anthropic, unless someone types them into a free-text field (see Terms of Service, clause 5.4).
We use Anthropic (Claude API) to generate AI text. Anthropic processes the data we send under its Commercial Terms and Data Processing Addendum, does not use it to train its models, and keeps inputs and outputs for a limited period under its commercial data retention policy. Zero data retention is not enabled.
The AI features use Anthropic's existing language models; we do not train or fine-tune any language model. The statistical and machine-learning models that estimate a store's demand and price sensitivity are fitted by us, on that store's data only, and used only for that store. No general or shared AI model of ours is trained on store data unless the merchant opts in under Terms 7.8, and Anthropic's models are not trained on it.
4.4 Automated decisions
Price Fusion recommends product prices, and writes prices to a store only when the merchant launches or schedules a campaign. It doesn't make decisions about individual people, and it doesn't set different prices for different shoppers.
5. Sharing and sub-processors
We don't sell personal data, and we don't share it for advertising.
We share data only with the service providers below, who process it on our instructions, and with Shopify as described in section 2. Each provider processes it under written data processing terms. The same list, for merchants, is published at https://www.pricefusion.ai/legal/subprocessors.
| Sub-processor | What they do for us | Data they handle | Where |
|---|---|---|---|
| Vercel Inc. (US) | Hosting, server functions, application logs | All data in transit, including shoppers' IP addresses and browser details on pixel requests, and website visitors' IP addresses | Functions in London (UK); logs may be held outside the UK, including in the United States |
| Neon (US) | Database, backups and point-in-time restore | All stored data | AWS London (eu-west-2) |
| Upstash, Inc. (US) | Short-lived cache (Redis) | Shop domains, caller IP addresses and keyed hashes of waitlist email addresses (rate limiting), webhook ids | AWS London (eu-west-2) |
| Inngest Inc (US) | Background job processing and job history | Pixel events, minimised as in section 3.5; privacy-request events carrying the shop domain, the Shopify customer id (a pseudonymous shopper identifier), order ids and the data-request id; other Shopify notifications reduced to ids, plus variant prices and their timestamps (product updates) and stock levels (inventory updates); for a referred waitlist sign-up, an internal reference to the waitlist entry (no email address); no shopper or store-owner contact details. Held while jobs run, and afterwards in Inngest's job history for the period set by its plan | United States |
| Anthropic (US) | AI features | Shop domain, catalogue and sales data, merchant free text | United States |
| Sentry (Functional Software, Inc.; US) | Error monitoring, configured to send no personal data (paths lose query strings; emails, tokens and shop domains are redacted) | Error reports | Sentry's EU data region |
| Google (Google Workspace) | Email for support@pricefusion.ai | Support correspondence | Google's data centres |
| Brevo SAS (France) | Email for our waitlist: the confirmation emails and updates, and the list of confirmed addresses (3.10) | Waitlist email addresses and which platform's list each is on; whether each email was delivered, opened, clicked, bounced or reported as spam | The EU |
| Google (Google Analytics) | Website analytics, only if you accept analytics cookies (3.9) | The pages you visit and the page you came from (without query strings, except campaign tags), approximate location, device and browser, a cookie identifier, and that someone joined our waitlist (never their email address or details); Google uses your IP address to work out your location | Google's data centres, including in the United States |
| Tolt, Inc. (US) | Referral tracking for our partner programme, only if you accept the referral cookie (3.9, 3.10) | From your browser: the partner and click identifiers in its cookies, the page address and partner link's code, your IP address and browser details. From us, for a referred waitlist sign-up that accepted the referral cookie and confirmed its address: the email address, an internal reference to the waitlist entry, and the partner and click identifiers | The United States |
Google Analytics is used only on our public website, for our own purposes, and receives no merchant store data, so it isn't a sub-processor under our Data Processing Agreement and isn't on the list at https://www.pricefusion.ai/legal/subprocessors; Google processes this data for us as our processor, under its data processing terms for Google Analytics. The same goes for Brevo, which handles only our waitlist and processes it for us as our processor, under its data processing agreement, and for Tolt, which handles only our partner programme's referral tracking and referred waitlist sign-ups, and processes them for us as our processor.
Shopify is the source of store data and bills merchants for Price Fusion. It acts under its own terms and isn't our sub-processor.
Inngest and Shopify's notifications. Before a Shopify notification is queued for background processing, we reduce it to the fields the job reads: an order notification to the order id, so the order's other details (including any customer details Shopify includes) don't reach Inngest; a product update to ids, variant prices and their timestamps; an inventory update to the item id and stock level; and any other notification, such as the one Shopify sends when the app is uninstalled, to nothing beyond our internal store id. Shopify's privacy requests (section 10) are queued with the shop domain, the Shopify customer id (a pseudonymous shopper identifier), the order ids and the data-request id only, and no shopper contact details.
Future infrastructure. We are building a demand-forecasting engine that is not live and receives no data today. When it goes live, it is expected to run on additional infrastructure (Google Cloud, London region, and a separate Neon database) using order lines, stock levels and the daily pixel counts. We will add any new sub-processor to this list and give merchants at least 30 days' notice before any data flows to it.
Other disclosures. We may disclose data if the law requires it, to protect our rights or the safety of others, or to a buyer or successor if our business is sold or reorganised, in which case this policy would continue to apply to the data.
6. International transfers
Our database, cache and server functions are hosted in London, UK. Some of our providers are US companies, and some process data in the United States: Inngest and Anthropic process it there; Tolt, our referral partner platform, processes referral data there; Google may process website analytics there (Google is certified under the EU–US Data Privacy Framework and its UK Extension, with the standard clauses in its data processing terms as a fallback); Vercel may keep logs there; Neon, Upstash and Sentry host our data in the UK or EU but are US companies whose staff may access it from the US for support. Brevo, which sends our waitlist emails, processes the waitlist in the EU.
When personal data leaves the UK (or, for data covered by the EU GDPR, the European Economic Area) for a country that has not been found to give adequate protection, we use one of these safeguards:
- Certification. Where a provider is certified under the EU–US Data Privacy Framework and its UK Extension (the "UK–US data bridge"), which the UK and the EU treat as giving adequate protection.
- Standard clauses. The EU Standard Contractual Clauses with the UK Addendum, or the UK International Data Transfer Agreement, in the provider's data processing terms. We rely on these for each provider above that processes data in the United States, including as a fallback where a provider is also certified.
We send waitlist email addresses to Tolt only under a data processing agreement with Tolt that includes one of these safeguards.
Transfers from the EU to us in the UK rely on the European Commission's adequacy decisions for the United Kingdom.
You can ask us for a copy of the relevant safeguards (section 13).
7. How long we keep data
Our general rule is that a store's data is kept while Price Fusion is installed, and deleted after uninstall. Within that, some data has shorter limits.
| Data | How long we keep it | How it is deleted |
|---|---|---|
| Shopify access and refresh tokens | Until uninstall | Cleared at the moment of uninstall |
| Store data: settings, catalogue, costs, campaigns, price-change log, free text | While installed | Deleted after uninstall (see "After uninstall" below) |
| Operational records: webhook records and sync jobs | While installed | Deleted after uninstall |
| Activity log (actions in the app, including logins) | While installed | Deleted after uninstall |
| Order data | While installed | A shopper's orders are handled as section 10 describes on that shopper's erasure request; deleted after uninstall |
| Raw storefront pixel events (section 3.5) | 90 days, except that events not yet counted into the daily totals are kept until they have been counted | Deleted automatically after 90 days; deleted after uninstall |
| Daily pixel counts (no visitor fields) | While installed, for seasonal analysis | Deleted after uninstall |
| AI insights | 13 months | Deleted automatically; deleted after uninstall |
| AI usage logs (tokens used, error text) | While installed | Deleted after uninstall |
| The sample of AI input and output (about 10%) | While installed | Deleted after uninstall |
| Staff Shopify user id on campaign edits | While installed | Deleted after uninstall |
| API and connector credentials for a store (hashed keys, codes and tokens) | While installed | Deleted after uninstall |
| OAuth client registrations (an AI assistant's name and return address; not linked to a store) | While the registration is in use | Not part of a store's data |
| Daily service-wide totals (not linked to a store) | Indefinitely | Not deleted; they contain no store or personal identifiers |
| Trial record (section 3.7) | 12 months after uninstall, then deleted | After uninstall the record is reduced to a keyed hash of the shop domain and the fact that the trial was used, so a store can't restart its free trial by reinstalling. The plan, trial length and dates are replaced with fixed blank values. The hash can't be turned back into the domain; with our secret key we can only check whether a given domain has had a trial. It is pseudonymous data. It is deleted 12 months after uninstall |
| Login session cookie | Up to 30 days, or until sign-out | Expires |
| Website analytics data in Google Analytics (section 3.9) | We have set Google Analytics to keep event data for 2 months; after that, only aggregated reports remain | Deleted by Google |
Google Analytics cookies (_ga and _ga_ZE72FTK3TT) | Up to 12 months | Expire; deleted by our website straight away if you reject or withdraw your consent |
Tolt cookies (tolt_referral and tolt_data) | 30 days | Expire; deleted by our website straight away if you reject or withdraw your consent |
| Your cookie choice on our website (browser local storage) | 12 months, then we ask again | Expires; you can also clear it in your browser |
| Daily counts of how often our cookie question was shown, accepted and rejected (Upstash; no identifier) | 90 days | Expire automatically |
| Cache entries (Upstash): login state, webhook ids, rate-limit counters keyed by IP address, store or a keyed hash of a waitlist email address (section 3.10) | Login state 5 minutes; webhook ids 24 hours; rate-limit counters within about 2 minutes, except the daily ones: per store for the AI features, 24 hours, and the waitlist form's per IP address and IPv6 network, within about 2 days | Expire automatically |
| Background job history (Inngest) | The period set by Inngest's plan | Expires |
| Application logs (Vercel) | The short period set by Vercel's plan | Expire |
| Error reports (Sentry) | The period set by Sentry's plan | Expire |
| Data sent to Anthropic | A limited period under Anthropic's commercial data retention policy (zero data retention is not enabled) | Deleted by Anthropic |
| Database backups and restore history (Neon) | 7 days | Overwritten as the window rolls forward |
| Billing and accounting records | 6 years after the end of the financial year they relate to | Deleted at the end of the period |
| Support email | 2 years after the last message in the conversation | Deleted at the end of the period |
| Waitlist entry (section 3.10) | Until you tell us you've joined Price Fusion, until you ask to leave the list, or 12 months after Price Fusion launches on your platform, whichever comes first | Marked as removed, then deleted |
| Unconfirmed waitlist entry (section 3.10) | 7 days after our last confirmation email | Deleted automatically |
| Referral details on a waitlist entry: the partner link's code, the partner and click identifiers, and when the referral cookie was accepted (section 3.10) | While your entry is on the list | Cleared when you leave, then deleted with your entry |
| Your record at Tolt, if a partner referred you and you accepted the referral cookie (section 3.10) | While your entry is on the list | Deleted at Tolt when you leave the list |
| Your waitlist address on our lists at Brevo (section 3.10) | While your entry is on the list | Deleted from our Brevo lists when you leave, before your entry is deleted; Brevo may keep it on its blocklist so that it never emails you again |
| Brevo's sending records for our waitlist emails (delivered, opened, clicked, bounced or reported as spam) | As Brevo's service keeps them | Deleted by Brevo |
| Keyed hash of the address of anyone who left the waitlist, asked us to erase it, or whose address bounced or reported our email as spam (section 3.10) | While the waitlist runs | Deleted when the waitlist ends |
| Records of privacy requests (an entry in the store's activity log for each data request, with counts only and no shopper details) | While installed | Deleted after uninstall |
After uninstall
At uninstall, we clear the store's Shopify access tokens, so we can no longer read the store's data.
About 48 hours later, Shopify sends us a "shop redact" request, and we delete all of the store's data: store settings, catalogue, orders, pixel events, daily counts, campaigns, price-change logs, free text, AI outputs and logs, and usage data. First, the store's trial record is reduced to the hashed record described above.
Separately, a daily check starts the same deletion for uninstalled stores whose last data sync was 48 hours or more ago, which can happen before Shopify's request arrives.
So a store's data is normally deleted about 48 hours after uninstall, when Shopify sends its shop redact request. The exceptions are:
- the keyed hash in the trial record;
- the service-wide totals, which contain no store or personal identifiers;
- any storefront pixel events recorded under an earlier record of the store (for example before a reinstall), which this deletion can miss; the 90-day deletion removes them instead; and
- copies in backups and vendor logs, until they expire (above).
8. Cookies and similar technologies
We don't use advertising cookies or cross-site tracking.
8.1 Our website and the app
| Technology | Purpose | Type | Duration |
|---|---|---|---|
| Authentication session cookie | Keeps you signed in | Strictly necessary | Up to 30 days |
| CSRF cookie | Protects sign-in from cross-site request forgery | Strictly necessary | Session |
| Theme preference (browser local storage) | Remembers light or dark mode | Functional: remembers a choice you made | Until cleared |
| Onboarding flag (browser session storage) | Remembers your place in onboarding | Functional: needed for the set-up you are carrying out | Until the tab closes |
| News preferences (browser local storage) | Remembers which industry news sources and region you chose to show on the dashboard | Functional: remembers a choice you made | Until cleared |
| Cookie choice (browser local storage) | Remembers whether you accepted or rejected analytics and referral cookies on our website, each choice separately | Strictly necessary: records your choice | 12 months |
_ga (Google Analytics cookie) | Tells visits to our public website apart, with a random identifier | Analytics: only if you accept | 12 months |
_ga_ZE72FTK3TT (Google Analytics cookie) | Keeps track of your current visit to our public website | Analytics: only if you accept | 12 months |
tolt_referral (Tolt cookie) | Holds a random click identifier for the partner link that brought you, so the partner who referred you can be credited | Referral tracking: only if you accept | 30 days |
tolt_data (Tolt cookie) | Holds Tolt's details of that referral, for the same purpose | Referral tracking: only if you accept | 30 days |
On our public website we ask before setting any analytics or referral cookie: Google Analytics and Tolt run only if you accept, and rejecting is as easy as accepting. On our referral page, where a partner's link takes you, we ask about the referral cookie only, and you can continue without it. You can change your choice at any time with "Cookie settings" at the foot of any page of our website; if you reject or withdraw your consent, Google Analytics stops straight away and we delete its cookies, and we remove Tolt's script and delete its cookies. The sign-in pages, the page where you approve an AI assistant's connection to Price Fusion, and the app never use analytics or referral tracking. To see how well our cookie question works, our website counts how many times a day it was shown, accepted and rejected; these counts hold no identifier, nothing is stored on your device for them, and we keep them for 90 days. You can remove the theme and news preferences at any time by clearing your browser's storage for our site; the app then goes back to its defaults.
8.2 The app dashboard
Sentry records errors in the browser: error monitoring hosted in Sentry's EU data region, configured to send no personal data (paths lose query strings; emails, tokens and shop domains are redacted). Session replay is off. There is no product analytics in the dashboard (section 3.4).
8.3 The storefront pixel
Our pixel runs inside Shopify's sandbox on the merchant's storefront and uses Shopify's per-browser client id.
Shopify controls when the pixel may run, through its Customer Privacy API. Our pixel tells Shopify that it is used for analytics only, not for marketing or preferences, and not for the sale of data. Where a store's settings require consent (as they should for shoppers in the UK and the EU), the pixel runs only for shoppers who have accepted analytics. Where the merchant's store does not require consent (for example, for shoppers in some countries outside the UK and EU), the pixel runs without a prompt. Merchants are responsible for configuring consent on their store in line with the law that applies to them.
9. Security
We protect data with:
- encryption of Shopify access tokens at rest with AES-256-GCM, with separate encryption keys for production and other environments;
- encryption in transit (TLS) for connections to our app, our database and our providers;
- hashing of API keys, OAuth tokens and checkout tokens, so the original values are not stored;
- verification of Shopify webhooks (HMAC signatures) before acting on them;
- access control: access to our internal administration functions is limited to an allowlist of administrator accounts; and
- error reports with personal data removed: Sentry receives no user details, headers, cookies or request bodies, and email addresses, tokens and shop domains are redacted.
Breaches. If a personal data breach affects data we hold, we will notify the regulator within 72 hours where the law requires it, and tell affected merchants without undue delay and in any event within 48 hours of becoming aware of it.
No system is completely secure. If you think your data has been put at risk, please contact us straight away.
10. Your rights
Under UK and EU data protection law you have the right to:
- access the personal data we hold about you;
- correct inaccurate data;
- erase your data;
- restrict how we use it;
- object to our use of it where we rely on legitimate interests;
- data portability: receive data you gave us in a machine-readable format, or have it sent to another provider; and
- withdraw consent, where we rely on consent, without affecting what we did before (for website analytics, use "Cookie settings" at the foot of any page of our website).
These rights have some exceptions, for example where we must keep data by law.
Merchants, staff and website visitors
Email support@pricefusion.ai. We may need to verify your identity, or ask you to clarify your request. We will respond within one month, which the law lets us extend by up to two further months for complex or numerous requests; we'll tell you if we need to. There is normally no fee.
Merchants can also delete their store's data by uninstalling Price Fusion (section 7).
Shoppers
For data about shoppers we are the merchant's processor, so please make your request to the store you shopped with. Shopify passes shoppers' requests to us through its mandatory privacy webhooks, and we act on them for the merchant:
- Access requests: we record the request and, within 30 days, send the merchant, at their account email, a file listing the order records we hold for that shopper (the orders Shopify names in the request, and any we hold linked to the shopper), with what we hold for each order, and a statement about storefront data. The statement says that storefront events are stored with a per-browser identifier assigned by Shopify and a hashed checkout token, not with a customer id, name, email address, phone number or postal address; that we hold nothing that links those events to a customer and so cannot pick out this shopper's events; and that the merchant or Shopify may be able to. The merchant can then answer the shopper.
- Erasure requests: Shopify sends us an erasure request for a shopper some time after the shopper asks the merchant, and we act on it within 30 days. On the shopper's orders, we remove any link between the shopper and the order, and remove discount codes that only that shopper used. We keep discount codes that other customers also used. Discount codes are store data that we copy from the merchant's Shopify store, so a removed code can come back when we next sync that order if it is still on the order in Shopify; the merchant should remove it in Shopify as part of their response. The order records themselves are kept for the merchant's pricing analysis, as pseudonymous sales data; the merchant or Shopify can still link an order to the shopper through its order id, but we hold nothing that does. Storefront pixel events carry no customer id, so we can't match them to the shopper; they are deleted on the 90-day schedule (section 7).
If a shopper contacts us directly, we will acknowledge the request, pass it to the merchant within five working days and help them respond.
Complaints
If you're unhappy with how we've handled your data, please tell us first, by email to support@pricefusion.ai with "Data protection complaint" in the subject line. We will acknowledge your complaint within 30 days, look into it, and tell you the outcome without undue delay.
You also have the right to complain to the UK regulator, the Information Commission (ICO): ico.org.uk/make-a-complaint, or 0303 123 1113. If you're in the EU, you can complain to the data protection authority in your country.
People in the United States
For shoppers' data we act only as the merchant's service provider or processor, and our Data Processing Agreement (Annex 4) carries the terms US state privacy laws require. We do not sell or share personal data.
11. Children
Price Fusion is a business tool for Shopify merchants. It isn't directed at children, and we don't knowingly collect personal data from children as our customers. Shoppers' data is collected by the pixel on the merchant's behalf, as described above, and does not include age.
12. Changes to this policy
We'll update this policy when our practices change, and show the effective date at the top. If a change is significant, we'll tell merchants by email or in the app at least 30 days before it takes effect, unless the change is needed sooner for legal or security reasons.
13. Contact us
Price Fusion AI Ltd, 9 Alma Road, Stockport, SK4 4PU, England. Registered in England and Wales, company number 17504479. ICO registration number: ZC269673. Email: support@pricefusion.ai.