RepeatStop
Privacy policy
Last updated: 8 October 2026
RepeatStop is a Shopify app that helps merchants spot shoppers who reuse a welcome or first-order discount code by creating a new account or email address. This policy explains what data the app reads, what it keeps, and how it is deleted. It applies to merchants who install RepeatStop and to their customers, whose orders the app checks on the merchant's behalf.
RepeatStop is developed and operated by Bin Rozenblum ("we"). For anything in this policy, write to support@binrozenblum.co.il.
The short version
- RepeatStop compares customer details (email, phone, address, name and zip code) to find the same person behind different accounts.
- It stores those details only as one-way hashes, never as readable text. A hash can tell that two orders share a phone number, but the number can't be read back from it.
- Uninstalling the app deletes its access to your store right away, and everything it stored 48 hours later.
What the app reads from your store
- Orders (new orders, and orders from the last 60 days when you install): order number and date, discount codes and discount amount, and the customer's email, phone number, name, shipping and billing address.
- Customers: email, phone number, name, default address, number of orders and tags.
- Discounts: code, title and whether a discount is limited to one use per customer.
- Fulfillment orders, to put a flagged order on hold and release it.
- Basic store details: name, domain, timezone, country, currency and your RepeatStop plan.
RepeatStop never reads payment details.
What the app changes in your store
On paid plans, if you turn on checkout blocking, RepeatStop adds one automatic discount that gives no discount. It only lets the app's checkout check run, which rejects a first-order code when the buyer's email or phone number has ordered from your store before. Turning the option off removes it.
On orders it flags, only what you set it up to do:
- adds a tag and, if turned on, a line to the order note with the reason;
- on paid plans, puts the order on hold for your review;
- on Protect Plus, and only if you turn it on, cancels the order with a refund and restock. You can also release or cancel an order yourself from the app.
How the data is used
Only to provide the app's features to you: the audit of the last 60 days, flagging new orders, the blocklist and the review page. We do not use store or customer data for advertising, for building profiles or to train any model, and we never combine data across stores: every store has its own secret hashing key, so the same email gives a different hash in every store.
What we store, and for how long
- Hashed identity keys. The normalized email, phone number, address and name with zip code of each customer and order are turned into keyed hashes (HMAC-SHA256 with a secret key per store and a secret server key). Next to each hash we keep the Shopify order and customer IDs, the order number (such as #1012) and the date. Hashes from orders older than two years are deleted automatically.
- Checkout keys. For checkout blocking, each email and phone number is also stored as a short 64-bit hash made with a per-store key that is not secret, because Shopify's checkout check has to compute the same value. A compact Bloom filter of these hashes (a bit array from which no email or number can be read back), the first-order codes and your rejection message are saved in Shopify, in app-owned fields of the RepeatStop discount, where only the app and its checkout check can read them.
- Flagged orders and audit results: order number and ID, date, the discount codes used, the discount amount, the reason (such as "Same phone as #1012"), and the status.
- Blocklist: hashes of the details you enter, your note, and a masked hint such as "j•••@gmail.com" so you can recognise the entry.
- Customers marked legit: the pair of Shopify customer IDs (or hashed guest identities) you confirmed are different people.
- Your settings and the Shopify access token the app needs to work.
- Background tasks: short-lived records with hashes and IDs, deleted after 14 days.
- Server logs: the store domain, the time and the type of request or error. They never include customer details. Web server access logs are deleted after 14 days.
Readable customer details are never stored. When you open a flagged order, the names, emails and addresses you see are fetched live from Shopify and are not saved.
Everything is kept while RepeatStop is installed. When you uninstall it, the access token is deleted at once and the rest 48 hours later, when Shopify sends its shop data erasure request, so that reinstalling by mistake doesn't lose your blocklist and history.
Automated flags
RepeatStop flags orders automatically when the details match. A match is a signal, not proof: family members and roommates can share an address or phone number. Orders that match only on name and zip code are never held or cancelled automatically, and we recommend reviewing flagged orders before cancelling them. Automatic cancellation is off unless you turn it on.
Who we share data with
We do not sell, rent or trade any data. We share data only with the service providers that run the app, and only as needed:
- Shopify, the platform the app runs on, which also handles billing.
- DigitalOcean, which hosts the app server and its database in Frankfurt, Germany.
We may disclose data if the law requires it, and we will tell you unless we are not allowed to.
Deletion and privacy requests
- Uninstalling RepeatStop deletes the access token and stops all processing right away.
- Shopify's shop data erasure request, sent 48 hours after you uninstall, deletes everything else: hashes, flagged orders, audit results, blocklist and settings. If that request never arrives, we delete the data 30 days after the uninstall. If you reinstall within 48 hours, your data is kept and RepeatStop scans your store again.
- Shopify's customer data erasure request deletes that customer's hashes, the flags and audit results on their orders, references to them in other flags, the legit marks that include them, and blocklist entries that match their email or phone number.
- Shopify's customer data request: RepeatStop holds no readable personal data, only hashes and Shopify IDs. On request we confirm what is held for a customer.
For your customers, you, the merchant, decide how their data is used, and RepeatStop processes it on your behalf. Please mention fraud and discount-abuse checks in your store's privacy policy. If a customer asks you to access or delete their data, the requests above cover RepeatStop, and you can also write to us.
As a merchant, you can ask us at any time to access, correct or delete the data we hold about your store, including under the GDPR or the CCPA. We answer within 30 days.
Security
All traffic is encrypted with HTTPS. Customer details are stored only as keyed hashes, and the server key is kept outside the database. The database is not reachable from the internet, and access to the server is limited to the developer. If a security incident ever affects your data, we will tell you and Shopify without undue delay.
Changes to this policy
If we change how RepeatStop handles data, we will update this page and its date. For significant changes we will tell you in the app before they take effect.
Contact
Questions, requests or complaints: support@binrozenblum.co.il.
See also the Terms of service.