Short version: we ask for four permissions, all about products and stock. We never ask for your customers, and Shopify itself blocks anything you don’t tick.
The app lives in your Shopify admin, and you choose its permissions when you create it. Shopify’s servers enforce that list — an app physically cannot read data outside the boxes you ticked. It isn’t a promise we make; it’s how the Shopify API works. Shopify’s access-scope documentation →
On top of that, when you paste your token we ask Shopify what that token is actually allowed to do. If it can read customer data, we refuse the connection and tell you to untick it. If we can’t read the permission list at all, we refuse too — we won’t connect a store we haven’t checked.
read_productsTitles, prices, photos and variants — so your catalogue can come across without you retyping it.
read_inventoryHow many of each item you have, so we never list something you've already sold.
write_inventoryA sale on IonxSupply drops that item's Shopify count by exactly the quantity sold. This is the whole point — it's what stops the same part selling twice.
read_locationsShopify requires this to adjust stock at all. It reads location names only — nothing about you or your customers.
In your Shopify admin: Settings → Apps and sales channels → Develop apps → your IonxSupply app. The Configuration tab shows the exact permission list — no hidden extras are possible. Hit Uninstall app and our access ends that second; your listings here stay put and simply stop syncing.
Your token is stored encrypted (AES-256-GCM) and is never shown again, not even to us in plain text.
It’s the standard way Shopify inventory-sync tools work. Apps like Syncio and Stock Sync on Shopify’s own App Store use the same product and inventory permissions for the same reason. Creating an app inside your own admin is Shopify’s documented method for connecting one store to one integration.