Privacy Policy
This describes the Paceloop app for Shopify: what it reads from your store, what it keeps, where that lives, and when it is deleted. Every statement below reflects what the app actually does.
Last updated: 25 August 2026
Who we are
Paceloop is a growth planning and pace analytics app for Shopify stores. It is the controller of the data described on this page.
Contact us about anything on this page — including access, correction, or deletion requests — at kevin@paceloop.app. We reply within one business day.
What Paceloop can access in your store
When you install the app, Shopify asks you to approve three permissions. Paceloop requests no others.
| Permission | What it is used for |
|---|---|
write_reports | Reads your store's sales, sessions, conversion rate, and new-vs-returning customer analytics — these produce your 90-day baseline, the feasibility check on your goal, the constraint diagnosis, and the weekly pace scoreboard. The same permission lets Paceloop write one thing back: a growth target in your Shopify Analytics, mirroring the goal you set in Paceloop so it appears where you already look. Paceloop creates and updates that target; it never deletes one. |
read_products | Product and variant unit costs, used to estimate margin. |
read_inventory | Inventory levels, used as one of the factors when diagnosing what is limiting growth. |
Your store's data stays untouched. The only thing Paceloop can write anywhere in your store is a growth target in Shopify Analytics — the goal you set in the app. It cannot create, edit, or delete products, orders, customers, inventory, themes, or settings, and it is never granted the ability to.
What Paceloop stores
Everything below is stored per store and is never mixed with, or made visible to, another merchant.
| What | Contents |
|---|---|
| Your Shopify session | The access token issued when you installed the app, plus the Shopify staff account's name and email address where Shopify provides them. Managed by Shopify's official session storage library. |
| Your plan record | The identifier of the pricing plan you selected. Kept for bookkeeping only — your access is checked against Shopify's billing API on every request, never against this record. |
| Your app preferences | Interface state such as whether you dismissed the setup guide, plus the most recent snapshot of your pace figures so Sidekick can answer instantly without re-querying your analytics. |
| Your email send log | One row per coaching email: your store’s myshopify domain, which kind it was, the week it covered, and whether it was delivered — plus, if a message bounced or you reported one as spam, a note to stop sending. Your email address is not stored — see Coaching emails below. |
| Your growth cycles | The goal you set, the plan Paceloop proposed, the behaviors and cut list, your weekly check-ins, and the recommendations returned against them — together with snapshots of the aggregated analytics figures behind each of them (totals, rates, averages). |
Paceloop never stores your customers' personal data. No customer names, email addresses, shipping addresses, phone numbers, payment details, or individual order records are read into storage. Only aggregate figures — totals, rates, averages — are kept.
This is why, when Shopify sends us a customer data request or a customer erasure request on a shopper's behalf, we have nothing to return and nothing to erase: no customer-level data about them exists in Paceloop.
Where your data is stored
Paceloop runs on Fly.io in the US-East region (Ashburn, Virginia), with a managed PostgreSQL database. If your store is in the European Economic Area or the United Kingdom, this means your data is transferred to and processed in the United States.
All traffic to the app is encrypted in transit over HTTPS.
Shopify Sidekick
Paceloop can answer questions inside Shopify's Sidekick assistant. When you ask Sidekick about your pace, your constraint, a past cycle, whether a goal is realistic, or for a proposed plan, Sidekick calls Paceloop and Paceloop returns that information to Sidekick so it can answer you.
This only happens when you ask. Paceloop does not push your data to Sidekick in the background. Anything that would change your saved plan is never done from the conversation — you confirm it inside the app.
Shopify's own handling of Sidekick conversations is governed by Shopify's privacy policy, not this one.
Coaching emails
Paceloop can email your store when the loop needs you. There are six kinds, and every one of them is triggered by your own cycle or your own store — never by a marketing calendar:
- Check-in day. The morning a new cycle week opens, with your current pace.
- Behind pace. Mid-week, at most once a week, and only when your scoreboard shows you behind. Silence means you are on pace or we could not read it — never that everything is fine.
- Missed check-in. A couple of days after a check-in slips.
- Getting started. Once, if you installed the app but never ran the audit.
- Weekly milestone. Once a week while your store has no sales yet, naming the single milestone worth your week. It stops as soon as your store has sales we can measure, and in any case after eight of them.
- Your store can be measured. Once, when your store has enough sales for Paceloop to read a run-rate.
These emails carry your own figures and nothing else: no other merchant’s numbers, no cross-store benchmarks, and none of your customers’ data. Where a figure is a day or two old, the email says so rather than implying it is live.
Where the address comes from. At the moment of sending, Paceloop asks Shopify for your store’s contact email address and uses it for that one message. It is never written to our database and never written to our logs.
Turning them off. Every email carries an unsubscribe link that works without logging in, and can switch off either that one kind or all of them at once. You can also switch each kind on or off inside the app, under Preferences. Opting out is a setting, never a paid feature.
We also stop on our own. If a message permanently bounces, or if you report one as spam, we record that and send you nothing further — you should not have to ask twice, and continuing would be rude to you and bad for everyone else’s mail. That record holds the reason and the date, and no more.
We keep a send log so the same message cannot reach you twice: your store’s myshopify domain, which kind was sent, the week it covered, and whether it was delivered. Your email address is not part of it, and the log is deleted when you uninstall.
Who else sees your data
Paceloop does not sell or rent your store data, and never sends it to an advertising network or a data broker. We train no AI model on it ourselves, and your cycle history is not shared with anyone. There is one exception worth reading in full: the AI provider described below, which receives the milestone amounts we compute for you — figures worked out from your own sales — and, if you use the in-app support assistant, the messages you type into it, under terms that let it use what it receives to improve its models.
Beyond Shopify, which is where the data comes from, and our hosting provider, which stores it on our behalf under contract, five service providers are involved. The AI provider appears twice in the list below, because its two jobs send it different things and each deserves its own reading:
- Microsoft Clarity. Records how the app’s screens are used — clicks, scrolling, and a replay of the interface — so we can find where the app confuses people. It runs in strict masking mode: every number and label on your screens is replaced with dots inside your browser before anything is sent, so your revenue, targets, cycle names, and store figures are never captured by it. What it does receive is the page address, which contains your store’s myshopify domain, along with your browser, device, approximate location, and whether your store is on the free or the paid plan.
- AI provider, job one: wording. A third-party AI provider writes some of the wording you see in the app — the title, description, and congratulation line of each suggested win — so it reads as written for your store rather than boilerplate. What it receives per request: how many products you have, your most common product types, up to ten product titles, whether your sales are growing or declining, your store’s country, the milestone amounts Paceloop has computed for you, and, if you filled it in, your answers to the four setup questions. Those milestone amounts are worked out from your own sales — your best week, your average order value, your recent run rate — so for a money milestone, a figure of yours does reach it. It never receives your customers’ data, your order line items, your sales history, or your contact details. Two further things you should know: the provider processes and stores these requests in the People’s Republic of China, and its own terms let it use what it receives to train and improve its models — we have no contract exempting us from that. Every number you see is still computed by Paceloop itself; the wording service cannot change or invent a figure. If it is unavailable, or if we switch it off, the app shows its standard wording instead and nothing else changes.
- AI provider, job two: the support assistant. If you open the assistant panel in the app and ask a question, the same third-party AI provider writes the answer, and everything above about that provider applies here too: it processes and stores these requests in the People’s Republic of China, and its terms let it use what it receives to train and improve its models. What it receives: the message you type, up to eight earlier messages in the same conversation, and a summary of where you are in Paceloop — whether you have finished setting up, which week of your cycle you are in and how many days remain, your goal and its target figure, how many check-ins you have submitted, whether you left a cycle half-set-up, and how far ahead of or behind pace you are as a percentage. Before your message is sent, we remove email addresses and phone numbers from it. That is a pattern match on those two things and nothing more: a name or a street address you type will be sent as written, so please do not paste your customers’ details into the panel. It never receives your customers’ data, your order line items, or your setup answers. The assistant can only explain things and point you at a screen; it cannot change anything in your store or your account, and there is no way for an instruction typed into it to become an action. We keep your conversations in our own database so we can see where people get stuck — for at most 90 days, and they are deleted when you uninstall. What you type is never sent to any other service: not to our usage analytics, not to our chat provider. If the assistant is switched off, the panel does not appear and nothing else changes.
- Crisp. Runs the live-chat bubble in the app, so you can message us without leaving your admin. Loading the app loads the widget, and that alone tells Crisp what any embedded script learns — the page address, your browser, and your approximate location — along with your store’s myshopify domain and a per-store identifier, sent so your conversation can resume on your next visit and so we know which store is asking. What you type in the chat, and your email if you choose to leave one, reach Crisp only if you use the chat. Your revenue, targets, and cycle data are never sent to it. Crisp (Crisp IM SAS, France) hosts chat data in the European Union — messages in the Netherlands, backups in Ireland. If you used the chat, that conversation stays at Crisp after you uninstall, so we can still answer a follow-up — ask us and we delete it.
- Mixpanel. Receives usage events so we can see where stores get stuck and improve the product: that your store installed the app, opened a screen, started or completed a setup step, activated a cycle, submitted a check-in, closed a cycle, earned a win, reached the payment step, answered an in-app feedback prompt (the verdict you picked — never the text you typed), asked Sidekick a question that Paceloop answered (which tool ran and whether it succeeded), or uninstalled — each keyed to your store’s myshopify domain, with the install date and whether the store is on the free or the paid plan. These are sent from our server; Mixpanel places no script in your browser and no cookies. It never receives your customers’ data, your revenue or baseline figures, your targets, or anything you type into the app. When you uninstall Paceloop, we delete your store’s Mixpanel profile immediately; when Shopify sends the store-erasure request about 48 hours later, we file a deletion request for the usage records, which Mixpanel processes over the following weeks.
- Resend. Delivers the coaching emails described above. It receives what any mail provider needs to deliver a message — your store’s contact email address, the subject line, the body (which carries your own pace figures), and the unsubscribe link. It receives nothing else: not your customers’ data, not your cycle history, not anything you type into the app. Resend (Resend, Inc.) is a United States provider, so these messages are processed in the United States. If no mail provider is configured, Paceloop sends no email at all and the rest of the app is unchanged.
We do not give Clarity a customer identifier for your store, so it holds no profile keyed to you — only these session records.
How long we keep it, and how it is deleted
Your data is kept while the app is installed, so your cycle history stays available to you.
| Event | What happens |
|---|---|
| You uninstall Paceloop | Every record described above is deleted — cycles, behaviors, cut lists, check-ins, preferences, pace snapshots, your email send log, your plan record, your support-assistant conversations, and your session. Your store’s Mixpanel profile is deleted immediately. Anything you sent us in the chat stays at Crisp until you ask us to delete it. |
| About 48 hours later | Shopify sends a store erasure request. We run the same deletion again, so that if the first one failed for any reason, nothing is left behind — and we file the deletion request for your store’s Mixpanel usage records, which Mixpanel processes over the following weeks. |
| A shopper requests their data | We confirm there is none to return or erase, because Paceloop holds no customer-level data. |
Support-assistant conversations go sooner even if you stay: any conversation whose last message is more than 90 days old is deleted automatically.
Deletion is permanent. We keep no archived copy of an uninstalled store's cycles. Routine encrypted infrastructure backups may retain data briefly before rolling off.
Your rights
Depending on where you are, you may have the right to access, correct, export, or erase your personal data, to object to or restrict processing, and to complain to your local data protection authority.
You can exercise the erasure right at any time by uninstalling the app. For anything else, email kevin@paceloop.app and we will respond within one business day.
Changes to this policy
If what Paceloop reads, stores, or shares changes, we update this page and change the date at the top. Material changes affecting installed stores will also be communicated in the app.
This website
Separately from the app, paceloop.app is our marketing site. It collects the following:
- Microsoft Clarity. Records how pages are used — clicks, scrolling, heatmaps. There are no forms on this site, so nothing you type is ever involved.
- Vercel Web Analytics. Aggregate page views and referrers. No cookies, no cross-site tracking.
- Google Analytics 4. Page views, referrers, and which buttons on this site get clicked. It sets cookies in your browser to recognise a returning visit.
- Crisp. Runs the live-chat bubble on this site. Loading a page tells Crisp the page address, your browser, and your approximate location — the same as any embedded script. You stay anonymous to it unless you type contact details into the chat.
If you email us at kevin@paceloop.app, we keep the correspondence to answer you; ask in the same thread and we will delete it.