S
Stackhall Basic
Data Protection Agreement →

Privacy Policy

This policy covers Stackhall Basic — the Shopify app that includes Product Viewer, Catalog Check, Analytics, Inventory Health and Sales Map. "We" and "us" means Stackhall, the company that makes it. "You" means the merchant who installed it. "Your customers" means the people who buy from your store.

It doesn't cover Shopify itself. Shopify has its own privacy policy, and the data we describe below is data that already lives in your Shopify admin — we only ever get a copy of it, and only the parts you gave the app permission to read.

What we store

When you open the app, it asks Shopify for a copy of three things and keeps them in our database so the reports load quickly and so we aren't hammering Shopify's API every time you click something.

1. Your store's profile

Your store name, your .myshopify.com address, your public domain, the contact email on your Shopify account, your country, currency, timezone and Shopify plan name. Plus a record of which Stackhall apps you've installed, when, and what permissions you granted.

2. Your catalogue

Products and their variants: titles, descriptions, handles, vendor, product type, tags, status, SKUs, barcodes, prices, compare-at prices, unit costs, inventory counts, weights, SEO titles and descriptions, and image addresses and alt text. Also your collections and which products are in them.

3. Your sales data

Only if you granted the orders and customers permissions. Specifically:

What we never receive

This is the part most people actually want to know. The app does not ask Shopify for any of the following, so it cannot arrive and we could not store it even by accident:

One more limit worth knowing: by default Shopify only lets an app read orders from the last 60 days. Stackhall has asked Shopify for — and been approved to request — your full order history instead, so the permission screen you see at install (or the next time you open the app, if you installed before this changed) includes that wider access alongside the others. Approving it is what lets older orders be stored; declining it, or an install that hasn't picked up the updated permissions yet, keeps the app to the standard 60-day window until it does.

Why we store it

That's the whole list. We don't use your data for anything you didn't install the app to get.

Who else can see it

We keep this list as short as we can. These are the only companies involved in running the app, and none of them is allowed to use your data for their own purposes:

Two of those deserve spelling out, because they are the ones people mean when they ask whether an app is “tracking” them. Sentry is told when the app hits an error, so we find out about bugs without waiting for you to report them. Google Analytics counts page views and button clicks, so we can see which features get used. Both watch the app being used — neither is sent your products, your orders or your customer records, and the page addresses we send to Google have Shopify's parameters (which include your store's domain and your session token) stripped off first.

And to be explicit about what isn't on that list. We do not sell or rent your data. We do not share it with advertisers, ad networks or data brokers. We run no advertising pixels and no remarketing tags. We don't use your data to train AI models, ours or anyone else's. We don't combine your store's data with another store's to build an industry benchmark or a report we sell.

The only other situation where we'd hand anything over is a valid legal order, such as a court order or a subpoena. If that ever happens we'll tell you, unless the law forbids it.

Where it's stored and how it's protected

No system is perfect, and we won't pretend otherwise. If something happens to data belonging to your store, we'll tell you about it within 72 hours of finding out, along with what we know and what we're doing about it.

How long we keep it

Your choices

You're in control of all of this, and you don't have to accept all of it to use the app:

Deleting your data

Email [email protected] from the address on your Shopify account, tell us your .myshopify.com domain, and say what you want removed — everything, or just the sales data.

We'll confirm we got it, delete what you asked for within 30 days (usually much faster), and email you when it's done. Deletion means deletion: the rows are removed, not flagged as hidden, and they cycle out of backups inside the same window.

You can also ask us for a copy of what we hold about your store, and we'll send it in the same timeframe. Since the app is free, there's no billing history or invoice we're required to hang on to.

When you uninstall

Your customers' privacy rights

If one of your customers asks you to delete their data or send them a copy of it — under GDPR, the CCPA, or any similar law — that request goes to you, because it's your store and your relationship with them. Here's how we help:

The Data Protection Agreement covers this in more formal terms, if that's what your compliance process needs.

Cookies

Five, and we'll name them all:

There are no advertising cookies and nothing is sold or shared for marketing. But we're not going to call the analytics pair something softer than what they are — a cookie that recognises your browser later is a tracking cookie, whoever sets it and whatever they use it for.

On our public pages, we ask first

On our website and on the two pages you're reading now, the analytics pair is not set until you say yes. Google Analytics loads in a mode where it has no permission to store anything, a banner asks, and only an explicit Accept changes that. Reject and it stays as it was — there's no second ask, no “essential cookies” loophole, and the page works identically either way. We remember your answer for 365 days, whichever way it went, and you can change it by clearing the cookie for this site.

Inside the app, we don't yet

We'd rather tell you this than let you find it. Pages that load inside Shopify admin still set the analytics pair without asking. A consent banner inside somebody else's iframe is poor footing for a real choice, and we haven't settled on the right answer — the likely one is to run analytics there with no cookies at all, which costs us the ability to tell a returning merchant from a new one and costs you nothing. Until then: your browser's cookie controls, a content blocker, or Google's own opt-out add-on all stop the analytics pair, and every feature of the app keeps working without it.

The sessionid and csrftoken pair is not optional anywhere, because without them the app cannot tell it's really you. The two pages you're reading now set neither, having no session to keep and no form to protect.

One thing that isn't a cookie

The app notes in your browser's own storage that you've seen the welcome tour, so it runs once rather than every time you open it. It holds a version number — nothing about you, nothing about your store — and unlike a cookie it is never sent to us or to anyone else; it only ever gets read by the page you're on. Clearing this site's data forgets it, and the tour runs again.

Children

Stackhall Basic is a tool for running a business. It isn't meant for anyone under 16, and we don't knowingly collect anything from children.

Changes to this policy

If we change it we'll update the date at the top. If a change actually affects what we collect or how long we keep it, we'll also say so inside the app before it takes effect, so you can uninstall or ask us to delete your data if you don't like it. We won't start using data we already hold for a new purpose without telling you first.

Contact us

Privacy, data protection and deletion requests: [email protected]
Anything else about the app: [email protected]

We read every one of these ourselves, and we'd rather answer a question before you install than after.