Privacy Policy
Last updated: September 24, 2026
Merchant promotional images are compressed in the browser and stored by Haffez. They are public assets accessible through their URLs, not private document storage. Merchants can remove unused images from the library; stored images are deleted when their account is deleted. Browser caches may retain a copy for up to five minutes after deletion, and backups follow their retention schedule.
Haffez helps Salla and Zid merchants improve conversion with short games, instant rewards, offer messages, confidence cards and a one-question product finder. We minimize data by design: we do not retain a shopper's name, phone number or delivery address, use advertising cookies, or sell data. An email address is retained only after the shopper explicitly opts in to the separate email experience. We process limited operational identifiers to connect an issued coupon with an order and report campaign performance.
1. What the service includes
Haffez consists of a storefront experience, a merchant dashboard, and an API that stores accounts, campaign settings, platform integrations and measurement. Merchants may use it directly or install it through commerce platforms including Salla and Zid.
2. Merchant and integration data
| Data | Purpose |
|---|---|
| Email and store name | Account creation, access, verification, recovery and campaign presentation. |
| Password | Authentication. It is hashed with scrypt and is never stored as readable text. |
| Campaign settings | Experiences, rewards, timing, visual identity and eligibility rules. |
| Store identifier, install status and approved scopes | Connect the platform store to the correct campaign. |
| Salla or Zid access credentials | Perform the actions approved by the merchant. Credentials are encrypted at rest and removed when the app is uninstalled. |
A merchant may use a shared coupon they created, or authorize Haffez to provision single-use coupons. Single-use codes are encrypted at rest and matched to orders using a keyed hash.
3. Shopper and commerce measurement
- Haffez does not create a shopper profile or collect a shopper name, phone number or address. Product-finder answers increment only an aggregate choice counter and then open a same-store path. Haffez collects an email address only when the merchant enables the email capture experience and the shopper actively accepts the displayed consent statement.
- Daily campaign metrics are aggregate counts such as impressions, opens, plays, reward claims, applications, closes, play time, score, new opt-ins and broad device class. When impact measurement is enabled, the loader randomly assigns the current tab session to an exposed or silent group and records only the group counter and whether an add-to-cart occurred. These counters do not link a shopper across visits.
- When a Haffez code appears on an order, we retain the store and order identifiers, order status, value, currency, reward mapping and keyed coupon hash. This supports cancellation and refund updates without retaining shopper contact data.
- Network addresses are processed briefly to protect public endpoints. Rate-limit storage uses a keyed hash rather than the raw address.
Linked order value means that the order used a Haffez code. It is not, by itself, proof that Haffez caused the full order value.
4. Browser storage
The storefront does not use advertising cookies. It uses localStorage and sessionStorage to cache campaign settings, enforce display frequency and one intervention per tab session, remember the measurement group within the current tab, and store sound and local high-score preferences. These values stay on the shopper's device, contain no contact details and create no durable visitor identifier.
5. Email
Resend delivers operational merchant email such as verification, sign-in and password recovery without a tracking pixel. For the email capture experience, Haffez stores the shopper address encrypted with the consent text and time inside the merchant campaign so the merchant can export or delete it. Haffez does not send shopper marketing campaigns; the merchant is responsible for sending, proving consent and providing unsubscribe controls.
6. Security
- HTTPS in transit and AES-256-GCM for sensitive values at rest.
- scrypt password hashing with a unique salt and server-side pepper.
- HMAC session tokens, bounded sessions and administrative two-factor authentication.
- Strict content policy, input allowlists, request limits and tamper-evident administrative audit records.
7. Retention and deletion
We retain account, campaign and integration data while the account is active and as needed to provide and secure the service. Opt-in addresses remain scoped to the campaign until the merchant deletes them, the shopper requests deletion, or the account is deleted. Processing a Salla uninstall event immediately removes platform access and refresh tokens. Completing an account deletion request erases the account, campaign, opt-in addresses, platform credentials, coupon inventory, integration event receipts, linked orders and redemption records. We may retain only information required by law or a documented dispute.
8. Service providers and platforms
Google Cloud hosts the production web interface, static assets, API and database. Vercel manages the domain and DNS, and Resend sends operational account email. Haffez exchanges only the required data with Salla or Zid after the merchant installs the app and approves its scopes. If a merchant adds an externally hosted image, the visitor's browser requests that image from its host. Social links are optional; displaying them does not load social tracking widgets or embedded content. We do not sell, rent or share data for advertising.
9. Your rights
Subject to applicable law, including Saudi Arabia's Personal Data Protection Law, you may request access, correction or deletion of your data and object to or withdraw consent where consent is the applicable basis. Contact us to exercise these rights.
10. Contact and changes
Material changes will be highlighted in the dashboard and the date above will be updated. Privacy requests: support@haffez.io.