1. Introduction
This Privacy Policy explains how Levelo, Inc., a Delaware corporation with its registered office at 16192 Coastal Highway, Lewes, Delaware 19958, United States (“Company”, “we”, “us”), processes information when you use the Zuzelle mobile application, the website at zuzelle.app, and related online services (collectively, the “Services”).
Zuzelle is designed so you can color and create without creating a traditional email or password account. That does not mean we process no data: depending on your build and settings, the Services may use anonymous identifiers, technical diagnostics, cloud content delivery, subscription verification, and — when advertising is enabled — advertising SDKs.
Current processing status. As of this Version 1.0, Zuzelle’s online API reports monetization as disabled: advertising mediation callbacks are not activated, and AppLovin MAX / Google AdMob request pipelines are not turned on in production configuration. Starter artworks work offline on device. Where online identity is used, it follows the anonymous session model described below. Sections about advertising describe the rules that apply when ads are enabled for a given market and age gate; we will not enable those SDKs in a way that contradicts this Policy.
2. Who we are (data controller)
For GDPR / UK GDPR purposes, the controller is:
Levelo, Inc.
16192 Coastal Highway, Lewes, Delaware 19958, USA
Privacy contact:
contact@zuzelle.app
3. Who Zuzelle is for (target audience)
Zuzelle is a romantic, premium-feel coloring and mixed-media creative app aimed at teens and adults who want a calm coloring experience. It is a general-audience product and is not directed to children under 13.
We apply the following age and advertising SDK limits:
- Under 13: we do not knowingly create online anonymous profiles for, or serve advertising SDKs to, children under 13. If we learn that such processing occurred, we will delete related server records we control and disable ad SDK use for that installation.
- Under the applicable digital-consent age in your region (for example 16 in some EEA countries, or another age set by local law): advertising SDKs that access advertising identifiers, perform tracking, or store/access information on the device for advertising purposes are not initialized unless required parental / guardian consent (or another lawful basis permitted for that market) has been obtained through an approved age-and-consent gate. Until then, those users keep offline starters and non-ad features that do not require the restricted SDKs.
- Eligible adults / consented teens: advertising SDKs may run only after the consent and platform requirements in Section 10 are met for that installation.
Age gates, ATT prompts, and GDPR/ePrivacy consent UIs are product controls. Declaring an age below the threshold, failing an age gate, or withholding required consent results in restricted or no advertising SDK activity — not in forced account creation.
4. Privacy at a glance
- No mandatory email/password registration to start coloring.
- Artwork progress is stored primarily on your device.
- Anonymous installation / session identifiers may be used for sync, anti-abuse, unlocks, and Premium entitlement checks when online services are configured.
- Cloud infrastructure uses Cloudflare Workers, D1, and R2 for APIs and protected content.
- Subscriptions (when live) are handled via Apple / Google and verified with RevenueCat.
- Advertising (when enabled) uses AppLovin MAX and Google AdMob only after age and consent gates; refusing consent is not the same as being required to buy Premium. Active Premium removes in-app ads.
- We do not sell personal information for money. California “sharing” for cross-context ads is addressed in Section 16.
5. Scope
This Policy applies to the Zuzelle Services operated by Levelo, Inc. It does not control:
- Apple App Store, Google Play, or their billing systems;
- third-party websites linked from the Services;
- employee or applicant data, which is covered separately if applicable.
6. Information we may process
| Category | Examples | Source |
|---|---|---|
| Anonymous identity | Anonymous user ID, hashed installation credential, hashed session tokens, optional RevenueCat App User ID mapping when subscriptions are configured | Generated by the app / servers |
| Device & usage | Device model, OS, app version, language, crash/diagnostic events, limited feature usage needed to operate the Services | Collected automatically |
| Network / security | Edge IP used only to derive short-lived HMAC rate-limit buckets (raw IP is not stored as a durable profile) | Collected automatically |
| Local creative data | Projects, preferences, favorites, background choices stored on device | You create it |
| Online unlocks / access | Earned content unlock records, short-lived download authorization grants, catalog/manifest metadata | App / servers when online features are used |
| Subscription metadata | Entitlement status, product identifiers, renewal/expiration, restore events (when Premium is live) | Apple, Google, RevenueCat |
| Advertising signals | Advertising ID / ATT status, consent strings, approximate location from IP, ad interaction and fraud signals — only when ads are enabled and lawful | Ad SDKs / networks |
| Support communications | Email content you send to contact@zuzelle.app | You provide it |
| Website technical data | Standard CDN / hosting telemetry for zuzelle.app (no marketing pixels intended on the static site) | Hosting / browser |
We do not require your name, email, or payment card details inside Zuzelle to color. Payment instruments are processed by Apple or Google according to their terms.
7. Why we process information
- provide offline-first coloring, local saves, and optional online features;
- deliver and update artwork packages (including via Cloudflare R2 / signed manifests);
- authenticate anonymous sessions and protect APIs from abuse;
- verify Premium entitlements and restore purchases when subscriptions are live;
- show rewarded or other ads only where configured, age-gated, and lawfully consented;
- diagnose crashes, improve stability, and understand aggregate usage;
- respond to support and privacy requests;
- comply with law and enforce our Terms of Use.
8. Legal bases (EEA / UK / Switzerland)
- Contract — operating the core Services you request (including local projects and starter content).
- Legitimate interests — security, fraud prevention, service reliability, and aggregate product improvement, where not overridden by your rights.
- Consent — where required for (a) access to advertising or device identifiers, (b) storing or accessing information on your device beyond what is strictly necessary to provide a service you requested (ePrivacy / equivalent rules), (c) personalized advertising, and (d) optional analytics that are not strictly necessary. You may withdraw consent at any time without affecting the lawfulness of prior processing.
- Legal obligation — where the law requires retention or disclosure.
9. Service providers and partners
Depending on what is actually enabled in your build and region, we may share information with:
- Cloudflare — Workers, D1, R2, DNS/CDN for APIs and content delivery;
- RevenueCat — subscription status and receipt validation (when Premium is configured);
- Apple / Google — app distribution, billing, restore, refunds;
- AppLovin MAX and Google AdMob (and mediated networks) — only when advertising is enabled and gated as described in Sections 3 and 10;
- email / support tooling used to answer messages you send us.
Providers process data under agreements and only as needed to deliver their services. Material changes to subprocessors will be reflected in an updated Policy.
10. Advertising and consent (including device storage / identifiers)
When advertising is enabled, Zuzelle may use AppLovin MAX mediation with Google AdMob as a connected network for rewarded or other ad formats. Partners may process device and advertising identifiers, coarse location derived from IP, interaction data, and fraud signals.
What consent covers
Where the law requires it, we obtain consent (and platform permission) not only for “personalized ads,” but also for related processing such as:
- accessing an advertising identifier or similar device identifier for advertising;
- storing or accessing information on the device for advertising measurement, frequency capping, or fraud prevention when that storage/access is not strictly necessary for a service you requested;
- sharing identifiers with mediation partners for cross-context behavioral advertising where applicable.
On iOS this includes Apple’s App Tracking Transparency prompt where required. In the EEA/UK and similar markets we use a consent experience appropriate to GDPR and ePrivacy before non-essential advertising SDK activity.
If you refuse or withdraw consent
- We will not use advertising SDKs in ways that require the consent you refused.
- You can continue to use free starter artworks and other features that do not depend on restricted advertising processing.
- Refusing consent does not require you to purchase Premium. Premium is an optional paid upgrade. Some optional content may be reachable by watching a permitted rewarded ad or by Premium when those systems are live — but we do not treat “decline tracking / decline storage consent” as an automatic paywall that forces a subscription.
- You may also limit ad tracking in your device settings (for example Reset Advertising Identifier / opt out of ad personalization).
An active Premium subscription removes in-app advertisements from the Zuzelle experience; that does not by itself erase historical technical logs already stored under this Policy.
11. Retention
The periods below reflect the current Zuzelle backend design and cleanup jobs. Where a partner (Apple, Google, RevenueCat, Cloudflare CDN, ad networks) applies its own retention, that partner’s policy also applies to data it controls.
| Data | Retention period | Notes |
|---|---|---|
| On-device projects, preferences, favorites | Until you delete them or uninstall the app (subject to OS backups) | Stored locally on your device |
| Anonymous user record | Until you request deletion / in-app profile deletion completes, or the record is otherwise closed | Soft-deleted via deleted_at; no longer authenticates |
| Session bearer token | Up to 7 days from issue or successful refresh | Hashed at rest; refresh cannot extend beyond the family window |
| Session family (rotation window) | Up to 90 days from session creation | Expired families are removed by scheduled cleanup |
| Revoked sessions | Purged about 24 hours after revocation (or earlier if the family has expired) | Revoke ends immediate use of that token |
| Rate-limit buckets | About 2 minutes | HMAC buckets; raw IP not stored as a profile |
| Content download authorization grants | 5 minutes | Bound to user / content / version; then deleted |
| Earned unlocks (server) | While the anonymous profile exists, or until deletion | Removed or dissociated when the profile is deleted |
| Signed catalog / manifest validity | Up to 7 days from issue for a given signed snapshot | Expired snapshots are not served as current |
| Subscription / entitlement metadata | While needed to provide Premium, prevent fraud, and meet accounting or tax rules (typically up to 7 years for financial records where required) | Store and RevenueCat records may persist under their policies |
| Support / privacy email correspondence | Up to 24 months after the request is closed, unless a longer period is required by law or an active dispute | Kept to handle follow-ups and abuse prevention |
| Website / CDN technical logs | Per Cloudflare’s standard edge logging practices (typically short-lived operational logs) | No marketing trackers intended on zuzelle.app |
| Advertising partner identifiers (when ads enabled) | Per the partner’s policy and your consent / opt-out state | Withdrawing consent stops new restricted processing from our side |
12. Security
We use commercially reasonable safeguards such as HTTPS, hashing of session and installation credentials before database storage, access controls on cloud resources, and least-privilege operational practices. API responses are configured not to store caches of credentials. No method of transmission or storage is perfectly secure.
13. International transfers
Levelo, Inc. is based in the United States. Cloudflare, RevenueCat, Apple, Google, and (when enabled) advertising partners may process data in the United States and other countries. Where required, we rely on appropriate transfer mechanisms (such as Standard Contractual Clauses) offered by those providers.
14. Children
See Section 3. Zuzelle is not directed to children under 13. Parents or guardians who believe a child under 13 used online features in a way that created server data should email contact@zuzelle.app with the subject line “Child Privacy Request.” We will take appropriate deletion and restriction steps.
15. Your rights and how to exercise them
Depending on your location, you may have rights to:
- access, correct, or delete personal information;
- portability of certain data;
- object to or restrict certain processing;
- withdraw consent where processing is consent-based;
- opt out of sale/sharing of personal information where applicable (Section 16);
- lodge a complaint with a supervisory authority.
Because Zuzelle is largely anonymous
We cannot always find your server records from an email address alone. To exercise rights over an anonymous profile, use one of the following paths:
- In-app local deletion (available on device). Delete individual projects or clear local creative data from the app / device settings as offered in your build. Uninstalling removes local app storage (OS backups may remain until you clear them).
- In-app / online session controls (when online identity is used). The client can revoke the current session token with the backend. Builds that expose “Delete anonymous profile” (or equivalent) will mark the anonymous user deleted, revoke sessions, and stop further authentication with that installation credential. Until that UI ships in your build, use the email process below.
-
Email privacy request. Write to
contact@zuzelle.app with subject
“Privacy Request” and include:
- the right you want to exercise (access, deletion, opt-out, etc.);
- platform (iOS / Android) and approximate install or last-use date;
- the anonymous user ID if shown in Settings / About (preferred);
- optionally, a short description of recent in-app activity that helps us locate records.
How we verify requests
- Match of anonymous user ID plus corroborating device/platform details; and/or
- successful in-app confirmation from an installation that still holds the credential; and/or
- for email-only correspondence data, verification that you control the inbox used to contact us.
If we cannot verify that a requester controls the anonymous profile, we may deny deletion of that profile while still helping with any data tied to the email thread itself. We aim to respond within 30 days (GDPR) or within the timelines required by California law (generally up to 45 days, extendable as permitted).
What deletion covers
- Server: anonymous user flagged deleted, sessions revoked/removed per retention, unlocks dissociated or removed, download grants expired/removed.
- Device: local projects you delete or clear; we cannot erase copies in your private OS backups or screenshots you exported.
- Stores / RevenueCat / ad partners: we instruct or request deletion where we are the controller and the partner supports it; their independent records follow their policies.
16. California (CCPA/CPRA) notice
We do not sell personal information for money. When advertising is enabled, some advertising technology may constitute “sharing” for cross-context behavioral advertising under California law.
California residents may request to know, delete, or correct personal information, and to opt out of sale/sharing, by emailing contact@zuzelle.app with the subject “California Privacy Request” or “Do Not Sell or Share My Personal Information.” You may also use in-app / consent controls to limit advertising identifiers where offered, and you may use a recognized universal opt-out signal where we are required to honor it.
We will not discriminate against you for exercising privacy rights. Refusing advertising consent or opting out of sale/share does not require purchasing Premium.
17. Website
The marketing site at zuzelle.app is a static site hosted on Cloudflare Pages. It does not use a contact form backend. Mailto links open your email client. We aim to avoid third-party marketing trackers on the website.
18. Changes
We may update this Policy when our practices change. The “Last updated” date will change when we do. If we enable advertising or new online processing that materially expands this Policy, we will update the Policy before or when that processing goes live and highlight material changes in the app or on the website as appropriate.
19. Contact
Levelo, Inc.
16192 Coastal Highway
Lewes, Delaware 19958
United States
Contact: contact@zuzelle.app