Shopify App Privacy Policy

Effective October 24, 2026

This policy explains how Compiled Intelligence, Inc. ("RoutingCat", "we", "us") handles data through RoutingCat's app for Shopify (the "app"), whether a store installs it from the Shopify App Store or as a custom version made for it. Our Privacy Policy covers our websites and RoutingCat outside Shopify.

The business that owns the store (the "merchant") decides how it uses RoutingCat. For the data of its visitors and buyers, we are the merchant's processor, under our Data Processing Addendum as the app's Terms of Service apply it, and a controller when we use that data to improve RoutingCat (section 4). For the data of the people at the store who use the app, we are a controller.

1. What the app reads through Shopify

When a person opens the app, Shopify tells it who they are: their Shopify user id, name, email address, language and role at the store. The app also reads the store's own details, such as its name and domains, and, from Shopify's billing, its plan.

With the permissions the merchant grants when installing it, the app reads:

  • read_themes: the store's themes, with their templates, sections and settings and the state of RoutingCat's embed, to set up and run tests;
  • read_markets: the store's domains and markets, to accept records from the store's pages and to name markets in the app;
  • read_rollouts: the store's Rollouts and the themes they serve, so that tests run beside them;
  • read_orders: paid orders and refunds, at level 1 of Shopify's protected customer data, so that each order counts toward the versions its buyer saw: data such as their ids, times, amounts, taxes, discounts and discount codes, shipping, the items ordered, the pages they started from, and RoutingCat's ids carried in the cart (section 3);
  • read_customers: an order's customer id and their number of orders, to tell new buyers from returning ones;
  • read_products: the title, vendor and type of each product ordered, to read results by product;
  • write_app_proxy: a path on the store's own domain, through which the store's pages can send RoutingCat's records;
  • write_pixels and read_customer_events, once the merchant grants them, for the app's web pixel: the cart and checkout events of visitors whose analytics processing Shopify allows, to link their purchases to their visits.

2. What the app records on the store's pages

The app's embed runs RoutingCat on the store's pages, and follows the consent the store collects through Shopify:

  • Visitors whose analytics processing Shopify allows: RoutingCat chooses which version they see in each tested place, and records their visit.
  • Other visitors see the version RoutingCat currently rates best for their kind of visit, chosen in their browser. Nothing about them is stored on their device, sent to RoutingCat or recorded.

For the visitors it records, RoutingCat collects, by category:

  • request details, such as the time, the browser, its languages and privacy signals, the page's address, and the market Shopify set for the visit;
  • device and browser characteristics, such as the screen size and the time zone;
  • where the visit came from, such as the referring site, campaign tags and ad click identifiers;
  • what the visitor was shown, including whether they were in the control group;
  • how they engaged with the page, such as what they saw, their clicks, scroll depth and the page's speed;
  • the country, region, network and consent choices Shopify reports for the visit;
  • an approximate location and network details, which RoutingCat derives from the IP address its records come from, keeping the address's network prefix.

It keeps a visitor id and the state of the visit in the visitor's browser, in the rc_vid cookie and in local storage.

3. Visitor ids, and the ids carried into orders

  • The visitor id is derived from Shopify's own visitor id, through a one-way hash keyed to the store, where the page offers one; otherwise it is random.
  • Ids in the cart. So that an order counts toward the versions its buyer saw, RoutingCat writes its ids into the cart, as the private attribute __rc and the private item property _rc, which then appear in the store's orders.
  • Buyers. RoutingCat links a signed-in buyer's Shopify customer id to their visitor id. Once the merchant grants its permissions, the app's web pixel links Shopify's client id, hashed for the store, to the visitor id.

4. How we use the data

  • To provide RoutingCat to the store: to choose which version each visitor sees and learn which versions lead to more orders, to measure the results and report them to the store's people and to the coding agents they connect, to count and bill the store's visitors, to secure and support RoutingCat, and to send the emails the store's people choose to get.
  • To improve RoutingCat, with the merchant's consent, which it gives by accepting the app's terms: we use the store's data, aggregated or de-identified where Shopify's terms require it, to develop and improve RoutingCat's products and services, including the models that serve all our customers, and we may share what we derive from it with them, in a form that identifies neither the store nor any person.

5. The people at the store

For each person at the store who opens the app, we keep their Shopify user id, name, language and role, their email address if they choose to get our emails, when they accepted the app's terms, and what they and the coding agents they connect do in RoutingCat.

6. Where the data goes

  • Our service providers, which process it for us: the subprocessors listed in Annex 3 of our Data Processing Addendum, which host and process it; the provider that sends our emails; and, for a custom version of the app that we bill directly, our payment processor.
  • Shopify, which bills the store's plan from the usage we report to it.
  • Authorities and others, when the law requires it.
  • A successor, if we are involved in a merger, an acquisition or a sale of assets.

7. How long we keep it

We keep data while we provide the app to the store. We delete a store's data within 30 days after the store uninstalls the app, or after we receive an enforceable request to delete it from the merchant, a buyer or Shopify, except as the law requires or allows.

8. Requests and rights

When a buyer asks a store for their data, or for its deletion, Shopify passes the request on to us, and we act on it within 30 days. The merchant can ask us to delete the data of a visitor, of a buyer or of the whole store. Wherever they live, anyone can ask to access, correct or delete their personal data, to receive a copy of it, to object to or restrict its processing, or to withdraw their consent, and can complain to a data protection authority. Write to privacy@routingcat.com; we may first need to confirm who is asking.

9. International transfers

We and our service providers process personal data in the United States and in other countries, with the safeguards our Data Processing Addendum sets out where the law requires them.

Where the GDPR or the UK GDPR applies, we rely, for the data of the store's people, on our legitimate interest in providing and securing RoutingCat and on their consent to our emails; and, for improving RoutingCat, on our legitimate interest in improving our service. For providing RoutingCat to the store, the merchant decides the legal basis, as the controller.

11. Changes

We may update this policy, and post each new version with its effective date.

12. Contact

Compiled Intelligence, Inc., 2810 N Church St, Ste 88797, Wilmington, DE 19802, USA. Privacy questions and requests: privacy@routingcat.com. Support: support@routingcat.com.