Privacy Policy
Zazema for Shopify
Last updated: August 18, 2026
1. Introduction
Zazema Inc. ("Zazema," "we," "us," or "our") provides a loyalty rewards platform for Shopify merchants through our Shopify app ("the App"). This Privacy Policy explains what data we collect, what we do with it, who else touches it, how long we keep it, and what rights you have. It covers merchants who install the App and the customers who take part in a loyalty program powered by Zazema.
2. Our Role: Controller and Processor
Who is responsible for which data depends on whose data it is.
- Buyer data: the merchant is the controller, Zazema is the processor. The merchant decides to run a loyalty program, decides its rules, and decides what customer data enters it. Zazema processes that data only to deliver the App and only on the merchant's documented instructions, which are given through the App's settings and these terms. We do not use buyer data for our own purposes, and we do not use it to build a profile of a buyer across merchants.
- Merchant account data: Zazema is the controller. Contact details, billing records, and support correspondence for the merchant account are ours to manage.
- Zazema website visitors: Zazema is the controller. Visits to zazema.com are covered by our website privacy policy and cookie policy.
Where a merchant needs a written data processing agreement, contact privacy@zazema.com.
3. Data We Collect
3.1 Merchant Data (via Shopify)
When a merchant installs the App, we access the following through Shopify's authorized API:
- Store information: Shop name, domain, currency, timezone, and Shopify plan
- Order data: Order totals, line items, fulfillment and refund status (used to trigger loyalty rewards)
- Customer profiles: Name, email, and order history (used to identify loyalty members and calculate rewards)
- Product catalog: Product titles, types, and tags (used for campaign targeting)
3.2 Loyalty Program Data (generated by Zazema)
- Points balances: Current balance, lifetime earned, lifetime redeemed
- Tier status: Customer tier level as named by the merchant
- Transaction history: Points earned, redeemed, or adjusted with timestamps and reasons
- Campaign evaluations: Which campaigns a customer qualified for and why
- Reward codes: Discount codes issued at redemption, and whether they were used within their 24 hour window
3.3 Email Addresses a Buyer's Browser Sends to Zazema
A buyer's browser talks to Zazema when the buyer uses loyalty features: redeeming points from the cart page, the loyalty panel, or their account's rewards page, verifying as a guest, and the checkout messaging described below. Those requests carry what the action needs, such as a chosen redemption amount. Two of them carry an email address, and they work differently, so each is described here.
Guest verification on the storefront. A buyer who is not signed in can redeem points from the store's cart page or its loyalty panel. To do that they type their email address into a Zazema form on the store's own website. The address travels to the store's own domain, and Shopify's App Proxy forwards it to Zazema. We use it for two things and nothing else:
- To check whether the address belongs to a loyalty member of that store
- If it does, to send a one-time code to that address, so we can confirm the buyer controls it
If the address does not belong to a loyalty member, no code is sent and no identity is created; the only trace is a short-lived rate-limit record that expires on its own. For members, verification runs through Amazon Cognito, which creates and holds an identity for that buyer, and the code is delivered by email. We store the verification attempt itself, which holds the email address, the store, and timestamps: see the retention table in section 9. A verified session lasts 30 minutes, extended by activity, and the browser holds only an opaque reference to it, never the credential. Code requests are limited to one every five minutes and five per hour per address per store.
The balance lookup at checkout. The Zazema checkout block shows the buyer what the order will earn. It requests that information from Zazema's API directly from the checkout page, a cross-origin request that happens automatically when checkout loads. When an email address is present at checkout, whether typed into Shopify's own contact field by a guest or already on file for a signed-in buyer, it is included in the request so we can check whether it belongs to a loyalty member of that store and show accurate earn and balance messaging. There is no separate Zazema form. A guest who has not verified is never shown a balance from this lookup, no code is sent, and no identity is created from checkout.
Points cannot be spent at checkout, so no redemption choice is collected there. None of these flows are analytics or tracking, and neither address is ever used for marketing by Zazema.
3.4 Ledger and Blockchain Data
Every point issuance and redemption is written to an append-only internal ledger that Zazema keeps for audit purposes. Zazema may also record token transactions on the XRP Ledger as Multi-Purpose Tokens (MPTs). Where it does, the record contains:
- A transaction hash (unique identifier)
- A token amount (points issued or redeemed)
- Wallet addresses (Zazema-managed omnibus wallets, not personal wallets)
No personally identifiable information is written to a ledger record. Names, email addresses, and postal addresses stay in our own systems. Customers are referenced by internal identifiers only. Records written to a public ledger cannot be edited or removed afterwards. Zazema does not currently offer a customer-facing tool for verifying a balance on a public blockchain.
4. How We Use Data
- Reward calculation: To determine whether an order qualifies for a reward under the rules the merchant configured and approved
- Balance management: To track points earned, redeemed, and outstanding
- Point redemption: To match a buyer to their loyalty account, hold redeemed points behind a discount code, and release the hold if the code is cancelled or expires
- Checkout messaging: To look up loyalty membership by the checkout email address so the earn and balance messaging shown at checkout is accurate, as described in section 3.3
- Notifications: To send loyalty notifications and one-time verification codes on the merchant's behalf
- Fraud prevention and review: To detect patterns such as rapid point farming or refund abuse. An automated check may pause a points award before it is added, and a Zazema staff member may review the related order and points history to resolve that check. An account can be suspended from earning and redeeming as a result; a suspension is applied and lifted only by a person, never automatically. Points already earned are never deducted by this process.
- Metafield sync: To write loyalty data (balance, tier, recent activity) to Shopify customer metafields so the merchant can display it in their storefront
- Program design help: To generate the drafts and suggestions described in section 5, which the merchant reviews before anything takes effect
- Analytics for the merchant: To show merchants how their own program is performing
5. AI Processing
Reward payouts are computed by deterministic rules, not by an AI model. For a given order and a given program configuration, the same rules produce the same result every time. No order is sent to an AI provider in order to decide what a customer is paid.
We use AI (Anthropic Claude) to help merchants design and tune their program. Specifically:
- During onboarding, drafting a starting set of tiers, an earning rate, and first campaigns from the merchant's answers, with the reasoning shown
- Suggesting changes to a running program based on how it is performing
- Suggesting tier structures and thresholds
- Proposing reward amounts as smart defaults the merchant can change
What we send for those tasks is program-level, not person-level: the merchant's onboarding answers, the store's program configuration, and aggregated performance figures such as redemption rates, campaign totals, and tier distribution. We do not send customer names, email addresses, postal addresses, phone numbers, or payment information to the AI provider. Anthropic does not use this data to train its models. See Anthropic's Privacy Policy for details.
Everything the AI produces is a proposal shown to the merchant. It has no effect on any customer balance until the merchant approves it and it becomes part of the configuration that the deterministic rules read.
6. Data Storage and Security
- Infrastructure: Data is stored on Amazon Web Services in the US West (N. California) region
- Encryption: Data is encrypted at rest (AES-256) and in transit (TLS 1.2+)
- Access controls: Multi-tenant isolation is enforced at the database level. A merchant can only reach their own data.
- Credential security: Shopify access tokens are stored in AWS SSM Parameter Store (encrypted). XRPL wallet seeds use KMS envelope encryption (AES-256-GCM).
- Audit trail: Balance changes are recorded in an append-only ledger with per-row hash chaining, so an edit is detectable
- Least privilege: Zazema staff access to production data is limited to what is needed to run and support the service
No method of transmission or storage is completely secure, and we do not claim otherwise.
7. Subprocessors and Data Sharing
We share data only with the parties below, and only as needed to run the service. Each one is listed with what it receives and why.
| Party | What it receives | Why |
|---|---|---|
| Shopify | Loyalty balance, tier, and recent activity written back as customer and order metafields | So the merchant sees loyalty data in their admin and can display it in their storefront |
| Amazon Web Services | All data described in section 3, at rest and in processing | Cloud hosting, storage, and compute for the whole platform |
| Amazon Cognito (AWS) | Email address and identity attributes for a buyer who verifies on the storefront (cart page or loyalty panel) | Creates and holds that buyer's identity so they are recognized on later visits without verifying again |
| Amazon SES | Recipient email address and the message content | Delivers loyalty notifications and one-time verification codes |
| Klaviyo (only if the merchant enables it) | Buyer email address plus loyalty tier and points balance | Lets the merchant send loyalty emails from their own Klaviyo account and segment on loyalty status. Off unless the merchant connects it. |
| Anthropic | Onboarding answers, program configuration, and aggregated performance figures. No customer names, emails, addresses, or payment data. | Generates the program drafts and suggestions described in section 5 |
| XRP Ledger | Transaction hashes, token amounts, and Zazema-managed wallet addresses. No personal information. | Records token issuance and redemption |
We may also disclose data where we are legally required to, for example in response to a valid legal process. We will tell the affected merchant unless we are legally prevented from doing so.
We do not sell, rent, or trade merchant or customer data. We do not use customer data for advertising, and we do not use it for any marketing beyond the merchant's own loyalty program.
8. International Transfers
Your information may be transferred to and processed in countries outside your country of residence, including the United States. We ensure appropriate safeguards are in place, such as Standard Contractual Clauses approved by the European Commission. The subprocessors listed in section 7 are engaged under terms that carry equivalent safeguards forward. A merchant can request a copy of the relevant transfer terms at privacy@zazema.com.
9. Data Retention
- Active accounts: Data is retained while the merchant's account is active
- After uninstall: Shopify sends us a shop redaction request roughly 48 hours after an app is uninstalled, and a daily job then deletes the shop's data. In practice a shop's data is removed within about three days of uninstall. Export anything you want to keep before you uninstall.
- Webhook events: Raw webhook payloads are retained for 90 days on a time to live, then deleted automatically
- Verification records: One-time codes are short lived and expire quickly. The record that a verification happened is retained with the loyalty account for audit purposes.
- Ledger records: Records already written to a public blockchain cannot be deleted. This is a property of public ledgers. They contain no personal information.
- Redaction requests: Customer redaction requests received from Shopify are processed within 30 days. Personal information (name, email, phone) is removed or anonymized. Non-identifying loyalty totals may be retained in anonymized form for the merchant's analytics.
10. Security Incidents and Breach Notification
We maintain an incident response process covering detection, containment, investigation, and remediation, and we log access to production systems.
If we become aware of a personal data breach affecting a merchant's data, we will notify that merchant without undue delay and in any event within 72 hours of confirming the breach. The notice will describe what we know at the time: the nature of the incident, the categories and approximate number of records involved, the likely consequences, the steps we have taken, and a named contact for follow-up. We will send updates as the investigation develops.
As the controller for buyer data, the merchant is responsible for any notification owed to supervisory authorities and to affected individuals. We will give reasonable assistance and the information needed to make those notifications.
11. Merchant Rights
Merchants can:
- Export data: Request a full export of their loyalty program data at any time
- Delete data: Uninstall the App and request deletion of all associated data
- View audit logs: Access an activity log of actions taken within the App
- Instruct us: Direct us in writing on how buyer data should be handled, consistent with our role as processor
12. Customer Rights under GDPR and UK GDPR
If you are a customer of a merchant using Zazema and you are in the EEA, the UK, or Switzerland, you have the rights below. Because the merchant is the controller, the fastest route is usually to contact them, or to use Shopify's data request flow. You can also write to us and we will route the request to the merchant and assist.
- Access: Ask for a copy of the loyalty data held about you
- Rectification: Ask for inaccurate or incomplete data about you to be corrected
- Erasure: Ask for your personal data to be deleted. When Shopify sends a customer redaction request, we remove or anonymize personal information as described in section 9.
- Restriction: Ask us to limit processing while a dispute about accuracy or lawfulness is resolved
- Objection: Object to processing carried out on the basis of legitimate interests
- Portability: Receive your loyalty data in a structured, commonly used, machine-readable format, or have it sent to another provider where technically feasible
- Withdraw consent: Where processing relies on your consent, withdraw it at any time. Withdrawal does not affect processing already carried out.
- Complain to a supervisory authority: Lodge a complaint with the data protection authority in your country of residence, place of work, or where you believe an infringement occurred. In the UK that is the Information Commissioner's Office.
Customer data requests reach us through Shopify's mandatory compliance webhooks, which we implement in full (customers/data_request, customers/redact, shop/redact).
13. California Privacy Rights (CCPA and CPRA)
This section applies to California residents. Under California law Zazema generally acts as a service provider to the merchant, processing personal information only to perform the services described in this policy.
13.1 Categories of Personal Information
In the past twelve months we have processed these categories on behalf of merchants:
- Identifiers: Name, email address, phone number where provided, and the Shopify customer identifier. Source: the merchant's Shopify store, or the buyer directly as described in section 3.3.
- Commercial information: Order totals, line items, refund status, points earned and redeemed, tier, and reward code history. Source: the merchant's Shopify store and the App itself.
- Internet or network activity: Limited technical records of requests to the App, such as timestamps and request identifiers, kept for security and debugging
- Inferences: Loyalty tier and campaign eligibility derived from purchase history under the merchant's configured rules
We do not collect sensitive personal information as that term is defined by California law. We do not collect biometric data, precise geolocation, government identifiers, health information, or the contents of your messages.
13.2 Your Rights
- Right to know: Request the categories and specific pieces of personal information we hold about you, the categories of sources, the purpose, and the categories of third parties we disclose to
- Right to correct: Request correction of inaccurate personal information
- Right to delete: Request deletion of personal information, subject to the exceptions California law allows, such as records we must keep to complete a transaction or meet a legal obligation
- Right to opt out of sale or sharing: Zazema does not sell personal information and does not share it for cross-context behavioral advertising, so there is nothing to opt out of. We have not sold or shared personal information in the past twelve months.
- Right to limit use of sensitive personal information: We do not collect or use sensitive personal information, so this right has nothing to act on here
- Right to non-discrimination: We will not deny service, charge a different price, or provide a different level of quality because you exercised a privacy right
- Authorized agent: You may use an authorized agent to make a request. We will ask for written proof of the agent's authority and may ask you to verify your identity directly.
To make a request, contact the merchant whose store you shopped at, or write to privacy@zazema.com and we will route it. We verify requests by matching the details you give us against the loyalty account. We do not collect extra identity documents for this purpose.
14. Cookies
The Zazema Shopify app is embedded in Shopify Admin and does not set cookies of its own. Authentication uses Shopify session tokens, not cookies. The storefront and checkout extensions do not set advertising cookies and do not track buyers across sites. A buyer's browser talks to Zazema through the storefront loyalty actions and verification described in section 3.3, and through the checkout balance lookup described there. None of those requests set cookies. Cookies on the zazema.com marketing site are covered by our cookie policy.
15. Children's Privacy
Our services are not directed at persons under 16 years of age. We do not knowingly collect personal information from children. Merchants are responsible for making sure their stores meet applicable age requirements.
16. Changes to This Policy
We may update this Privacy Policy to reflect changes in our practices or for legal, operational, or regulatory reasons. We will update the "Last updated" date at the top of this page. Material changes, including any new subprocessor, will be communicated to merchants through the Shopify app or by email.
17. Contact Us
For questions about this Privacy Policy, data requests, or to exercise your rights:
- Privacy: privacy@zazema.com
- Support: support@zazema.com
Registered address:
Zazema Inc.
8334 Clairemont Mesa Blvd, Unit 101 #1191, San Diego, CA 92111, United States