Privacy policy
Hexloom Duplicate Orders is a Shopify app made by Hexloom Labs. It looks at a store's recent orders, flags likely duplicates and lets the merchant cancel one. This page says what it keeps.
What the app reads
With the merchant's permission (read and write orders) the app reads recent orders from Shopify: order number, time, items, total, payment status, fulfilment status and the buyer's email, phone and shipping address. These are compared in memory to find orders that look like the same purchase. Apart from what is listed under "What the app stores" below, nothing it reads is written to the app's database.
What the app stores
- The shop: its myshopify.com address and the access token Shopify gives the app (stored encrypted).
- Flags: the Shopify ids of the orders in a flag, a salted hash of the buyer (made from the email, or the phone, or the customer id; the salt is random and per shop, so a hash from one shop does not match another shop and the email cannot be read from it), the confidence level, a one-sentence reason that may include the order total, the payment method name and the time between orders, and whether the flag is open, dismissed or resolved.
- Counts and settings: the duplicate window the merchant chose, how many orders were scanned and flagged each month (for the plan limit), the ids of orders already scanned (kept 70 days, so a rescan is not counted twice), the counts in the daily digest and the counts from the last scan (how many orders it read, how many it could not compare because Shopify shared no buyer email or phone, whether it stopped at the 1,000-order limit, and when it ran).
- An audit log of who did what and when (for example "flag dismissed"), without any customer detail, kept 365 days.
The app does not store buyers' names, emails, phone numbers, addresses, card details or item lists. Order names such as #1001 are fetched live from Shopify when a flag is shown.
Who sees it
Only the merchant, through the app inside Shopify admin. Data is hosted with Cloudflare (Workers and Durable Objects). We do not sell it, share it or use it for advertising. We do not send email to merchants or to buyers: the daily digest is a card inside the app.
Cancelling orders
The app never cancels anything on its own. An order is cancelled only when the merchant presses Cancel duplicate and confirms, and never if it is already fulfilled. The buyer is not notified by the app.
Deletion
When the app is uninstalled the access token is deleted at once. Shopify then sends a store erasure request (about 48 hours later) and all remaining data for that store is deleted, except one audit entry (the store address, the action "webhook.redact", Shopify as the sender and the time) that is kept for 365 days as the record that the erasure ran. A buyer erasure request from Shopify deletes every flag naming that buyer's hash or order ids. A buyer data request has nothing readable to return, because only hashes and order ids are stored; it is logged.
Where data is kept
Data is held in Cloudflare Durable Objects and Workers, which run on Cloudflare's global network. We do not choose or promise a single country for storage. Nothing is sent to any other third party.
Privacy contact
Privacy questions and erasure requests: use the support page and put your store address (example.myshopify.com) in the message. We reply within two business days.
Your rights
Under laws such as the GDPR, the CCPA and Canadian privacy law, a buyer can ask the store to see or delete their data; the store owner can ask us to act through the app's Shopify privacy requests or the support page.