Privacy policy
Last updated 20 October 2026 · Operated by O2O for the SV9 Coupon Wallet Shopify app
This policy explains what the SV9 Coupon Wallet app ("the app") processes when a merchant installs it on a Shopify store, and why. The merchant is the controller of their customers' data; the app processes it on the merchant's instructions.
Data the app processes
| Data | Why | Where it is kept |
|---|---|---|
| Store domain, Shopify access token, optional Klaviyo API key | To operate the app for the store | Encrypted (AES-256-GCM) in Cloudflare KV |
| Customer ID (Shopify GID), order IDs, order subtotal | To decide whether an order earns cashback and to lock the coupon to that customer | In the store's own Shopify data (discount codes and an app-owned customer metafield); not copied to our storage |
| Coupon code, amount, minimum spend, expiry | To show the customer's wallet and send reminders | Shopify discount + customer metafield; temporary workflow state at Cloudflare until the coupon closes |
| Customer email | Only when the merchant connects Klaviyo: to send the "Cashback Earned" / "Expiring" event to the merchant's own Klaviyo account | Read from Shopify at send time and passed to Klaviyo; never stored by the app |
The app does not collect customer names, addresses, phone numbers or payment data.
Sharing
- Klaviyo — if the merchant adds a Klaviyo key, coupon events and the customer's email go to the merchant's Klaviyo account.
- Merchant-configured endpoints — if the merchant adds an event subscriber (for example a CRM or LINE tool), signed coupon events containing the customer ID (no email or phone) are sent to that endpoint. The merchant chooses and is responsible for these recipients.
- Sub-processors — Cloudflare (hosting, KV storage, Workflows) and Shopify.
We don't sell personal data or use it for advertising.
Retention and deletion
- Coupon data lives in the store's Shopify data; used, expired and voided discounts are deleted about 30 days after they close.
customers/redact: the customer's coupons and wallet are deleted and subscribers are told to delete their copy.customers/data_request: the customer's coupon data is made available to the merchant in the app for 30 days.- On uninstall the access token is removed immediately; all remaining store data is deleted when Shopify sends
shop/redact(48 hours after uninstall).
Security
Webhooks are verified with Shopify's HMAC signature before processing. Secrets are encrypted at rest; the encryption key is held in Cloudflare Workers secrets. Access tokens expire hourly and are refreshed.