Tessella Privacy Policy
Last updated: 28 August 2026
Tessella ("the app") is a stained-glass triangle puzzle game. This policy explains what data the app handles and where it goes. The short version: your puzzle progress lives on your device and stays there. There are no accounts and no cloud save. The only data that ever leaves the device is purchase validation (RevenueCat), ad serving for the optional rewarded ads (Google), and anonymous, content-free usage and crash analytics through our own privacy relay.
Who we are (data controller)
The data controller for any personal data processed through Tessella is: Geometry Lab L.L.C-FZ, Licence No. 2651608.01, Meydan Grandstand, 6th floor, Meydan Road, Nad Al Sheba, Dubai, United Arab Emirates. Geometry is our trading style. See geometryapps.com.
EU representative (Art 27 GDPR): Prighter EU Rep GmbH,
Schellinggasse 3/10, 1010 Vienna, Austria.
UK representative (Art 27 UK GDPR): Prighter Ltd, 20 Mortlake
High Street, London, SW14 8JN, United Kingdom.
Exercise your rights:
app.prighter.com/portal/geometry
or email support@tessella.games.
What data Tessella handles
Puzzle progress: solved puzzles, unlocked windows, streaks, levels, XP, quests, and your settings (sound, haptics, reminders). All of this is stored locally on your device only. There is no account, no sign-in, and no cloud backup; deleting the app deletes this data.
Purchases (optional): if you buy Tessella Patron, the purchase is processed by the store you bought it in (Apple App Store or Google Play). RevenueCat, our subscription-management processor, receives your purchase history and an app-generated subscriber identifier to validate the purchase and manage your entitlement. We never see or store your payment details.
Rewarded ads (optional): windows outside the free daily can be opened by watching one rewarded ad, served by Google Mobile Ads (AdMob). When an ad is requested, Google processes device information (such as device identifiers and coarse ad-serving signals) under Google's own policies; see Google's advertising policies. Where the law requires it, the app asks for your consent before serving personalized ads, and you can use non-personalized ads instead. Patron removes ads entirely. Ad impression counts and estimated ad revenue (never your identity) are reported to RevenueCat alongside the same app-generated identifier used for purchases.
Reminders (optional): the daily-puzzle reminder is a local notification scheduled on your device. Nothing about it leaves the device.
Usage analytics (anonymous, no personal content)
To understand which features are used and improve the game, Tessella records anonymous in-app activity, for example that a puzzle was started or solved (with coarse numbers like duration and piece count), which onboarding step was reached, and how the paywall was interacted with. Analytics are content-free: they never include your name, contacts, precise location, advertising identifier, or anything you type. Tessella has no accounts, so no analytics event can ever be linked to an identity.
No analytics SDK in the app. The app sends events over a plain encrypted connection to our own relay (a Cloudflare Worker at e.tessella.games), which forwards them to PostHog (our analytics processor, EU hosting). The app holds no analytics key.
The relay anonymises by region. For users in the EEA, the UK, and Switzerland (and any user whose region can't be determined), each event gets a fresh random identifier per event, the IP address is stripped, and no profile is built; the events are unlinkable. For the rest of the world, events are tied only to a random, app-generated device identifier (never your identity), still with no IP.
Your choice: in Germany and Austria (and where your region is unknown), analytics are off until you opt in; a clear one-time prompt is shown and nothing is sent unless you tap Allow. Everywhere else analytics are on by default, and you can opt out at any time in Settings → Privacy & Data → Share Usage Analytics. When you opt out, events stop immediately and any stored device identifier is forgotten. Analytics are not used for advertising, involve no cross-app tracking and no IDFA (so there is no App Tracking Transparency prompt), and are never linked with third-party data or sold.
App-health diagnostics (crash & performance)
Tessella also reports anonymous app-health diagnostics gathered by Apple's MetricKit on iOS and Android platform diagnostics: aggregate performance figures and crash counts with code-level (not personal) information. These contain no personal data, only counts and your app/OS version, and exist solely to find and fix crashes and slowdowns. Because they are content-free and carry no persistent identifier, they are sent on a legitimate-interest basis and are not affected by the usage-analytics opt-out.
Sub-processors
Apple (App Store / StoreKit purchases), Google (Google Play Billing; Google Mobile Ads serving the optional rewarded ads), Cloudflare (analytics relay transport and this website; strips IP, stores no event payloads), PostHog (EU hosting; analytics processor, no onward sharing or advertising use), and RevenueCat (subscription-management processor under an Art 28 data-processing agreement; receives purchase history, ad-impression counts with estimated ad revenue, and an app-generated subscriber identifier).
Subscriptions and purchases
Tessella Patron is available as an auto-renewable subscription (annual with a free trial, or monthly) or a one-time lifetime purchase, processed by the store where you buy it. RevenueCat manages paywall and entitlement state for both stores. Tessella never sees or stores your payment information. Manage or cancel in your App Store or Google Play subscription settings.
Your control & rights
Opt out of usage analytics anytime in Settings → Privacy & Data. Your puzzle progress exists only on your device; deleting the app removes it entirely. GDPR / UK GDPR rights (access, rectification, erasure, objection, portability): contact us or use the rights portal above. The EEA/UK/CH analytics branch is anonymous at source, so there is no linkable analytics record tied to you, and Tessella holds no account data about you at all. California residents (CCPA/CPRA): you have the right to know, delete, and correct; email support@tessella.games or use the rights portal. We do not sell or share your personal information.
International transfers
Analytics are hosted in the EU (PostHog EU). Where data is processed outside the EEA/UK, it relies on appropriate safeguards (EU Standard Contractual Clauses / UK IDTA / Swiss FADP addendum) via our processors. The controller is established in the UAE; the Art 27 representatives above act as the EU/UK points of contact.
Children
Tessella is a general-audience puzzle game. It is not directed at children, has no social features, no chat, and no user-generated content, and does not knowingly collect personal data from children.
Contact
Questions about this policy: support@tessella.games.