Nest Engineering
Atlas Mahjong / Privacy Policy

Privacy Policy

Applies to the mobile game Atlas Mahjong (io.nestengineering.mahjong) on Android and iOS.
Last updated 6 October 2026.

Atlas Mahjong has no accounts and no sign-up. We never ask for your name, your email address or your phone number, the game never asks your device where you are, and we do not use your internet address to work out where you are. What the game sends is listed below in full.

Who we are

Atlas Mahjong is made by Nest Engineering, the data controller for the purposes of the GDPR. For any privacy question, or to exercise any of the rights described below, write to support@nestengineering.io.

The age question comes first

On first launch the game asks which age range you are in: under 13, 13–15, 16–17, or 18 and over. Only the range is kept, on your device; we never ask for or store a date or year of birth. The game is the same for everyone — the answer decides which ads are suitable and what may be collected, as set out below and under Children. Until it is answered, nothing in the table below is sent.

Your saved game

The save file itself never leaves your device. Your progress — levels and stars, coins, gems, boosters, quests, settings and language — is written to the app’s own storage. There is no cloud save and no login, we hold no copy, and we cannot restore it for you. Deleting the app deletes it permanently.

Some of the same numbers do travel in the analytics events described below — how far you have played, your coin and gem balances, whether you have VIP or have removed ads. They travel as individual events tied to a random installation identifier, not as a copy of your save, and they cannot be turned back into one.

What the game sends

DataWhyWho receives it
Gameplay events
App launches and session length, screens opened, levels started, won, lost or left, tutorial steps, coin and gem balances and what changed them, boosters, offers and ads shown and their outcome, theme downloads, your answer’s consent status, and frame-rate and stutter measurements. Each event also carries the app version, platform, OS version, device model, graphics chip, memory size, quality setting, the game’s language, how far you have played, how many days since install, and whether you have VIP or have removed ads.
To understand which levels are too hard, where players stop playing, whether the game runs smoothly on a given phone, and whether a change made the game better or worse. Mixpanel
An installation identifier
A random string the app generates the first time collection is allowed, stored on your device.
To tell one player’s events apart from another’s without knowing who either of them is. The same identifier is attached to crash reports, so a crash can be matched to the session it happened in. Mixpanel and Sentry
Crash reports
The error, a stack trace, device model, OS version, app version, your language setting, the installation identifier above, the theme, level, mode and screen you were on, and a short trail of what you did just before (levels started, won, lost or left, boosters used, screens opened). No name, no email and no IP address: the crash reporter’s personal-data option is off, and email addresses and folder names are removed from error messages before they are sent.
To find and fix crashes, and to see how many players one crash affects. Sentry
Advertising data
Handled by Google’s ad SDK. May include your device’s advertising identifier (on iOS only if you allow tracking, see below), IP address, device and OS information, and which ads you were shown — subject to your age range and consent choices, see below. The game tells Google whether your age range calls for child-directed or under-age treatment; it never sends the range itself.
To show ads, to cap how often you see them, and to measure them. Google AdMob
Install attribution (Android and iOS, ages 16 and over)
When you first open the game an installation record is sent so we can tell which advertisement brought you here. It includes your device’s advertising ID (on iOS only if you allow tracking when asked; otherwise Apple’s privacy-preserving attribution is used instead), device and OS information and your IP address. Afterwards a short list of milestones is sent: each new furthest level you reach with the stars earned there, finishing the tutorial, and reaching levels 10, 25, 50 and 100. AppsFlyer’s answer — whether the install came from an advertisement, and which advertising source and campaign — is also recorded in our analytics (Mixpanel). When this happens: only if your age range is 16 or over and only when analytics is allowed — in places where the game shows a consent form (such as the EEA and the UK), only once you have given consent in it. If you later withdraw that consent in the game’s privacy options, attribution stops.
To know which advertisement or campaign an install came from, and to measure whether our advertising is worth buying. AppsFlyer
Purchases
Which product you bought or tried to buy, and whether it completed, failed or was restored. Attempts that fail or that you cancel are recorded too. Never your card number, billing address or store account.
To deliver what you bought, to keep a subscription active, to restore purchases, and to find out where purchases break. Apple / Google, RevenueCat, and Mixpanel. RevenueCat keeps your purchases under a random identifier it creates for your installation — not your name, email or store account. This one runs for every player regardless of age range, because without it a purchase cannot be delivered or restored. Where install attribution (the row above) is running, AppsFlyer’s identifier for your installation is also given to RevenueCat, and RevenueCat reports your purchases (product, price, currency) to AppsFlyer so a purchase can be linked to the advertisement that brought you; withdrawing consent removes that link.
Theme downloads
Most regions of the world map are downloaded when you approach them. On Android they are delivered by Google Play, which sees the request as it does any other download from the store.
To keep the first download small. Google Play

The installation identifier is not a device identifier

It is a random value created by the app itself and kept in the game’s own storage. It is not your device’s advertising ID, not a hardware serial, and not shared with any other app. If you withdraw consent it is deleted, together with any events not yet sent, and a new, unrelated one is made if collection is allowed again. Uninstalling the game destroys it.

Your internet address

Every request any app makes carries your IP address, and the services above receive it as part of the connection. We ask Mixpanel not to use it to locate you and not to store it on events, and the crash reporter is set not to record it. Google and AppsFlyer use it as described in their own policies.

Advertising and your consent

Atlas Mahjong shows ads between some levels, and optional ads you choose to watch in exchange for a reward. Ads are served by Google AdMob.

Google’s handling of this data is governed by the Google Privacy Policy and how Google uses data from apps that use its services.

Purchases

All payments are taken by Apple or Google. We never see or receive your card number, your billing address or your store account details. The VIP subscription renews through your store account until you cancel it there; see the Terms of Service.

Legal bases for processing (GDPR)

How long it is kept

Analytics events and crash reports are kept only as long as they are useful for improving the game, under the retention limits of Mixpanel and Sentry. Advertising data is kept by Google, attribution data by AppsFlyer and purchase records by RevenueCat, each under its own retention policy, linked under Third-party services below. Data on your device is kept until you delete the app.

Your rights

If you are in the EEA, the UK, Switzerland, California or another region with comparable law, you have the right to access, correct, delete, restrict, port or object to the processing of your personal data, and to withdraw consent at any time.

To exercise any of these, email support@nestengineering.io and tell us your device model and roughly when you installed the game. We respond within 30 days. You also have the right to complain to your local data protection authority.

We hold no account for you and the installation identifier exists only inside the app on your device, so we have no reliable way to match a request by email to a particular set of analytics events. That is a consequence of collecting as little as we do — and it is why the most complete step available to you is to uninstall the game, which destroys the saved game, the installation identifier and the link between you and what was already collected. Attribution and purchase records held by AppsFlyer and RevenueCat are not on your device, so uninstalling cannot erase them; to have those deleted, email us with the approximate date you installed the game and, if you made a purchase, its date.

Children

Atlas Mahjong is made for a general audience aged 13 and over and is not enrolled in Google Play’s Designed for Families programme. Players who say they are under 13 can still play, and for them:

If you are a parent and want a child’s data removed, email support@nestengineering.io; deleting the app stops any collection immediately.

Permissions

The only permission the game asks for is Apple’s App Tracking Transparency on iOS, for players aged 18 and over, as described under Advertising and your consent above; you can refuse it and the game works the same. It does not use your location, camera, microphone, contacts, photos or notifications, and on Android it asks for no permission at all.

International transfers

Our service providers process data in the United States and the European Union. Where data leaves the EEA it is transferred under the European Commission’s Standard Contractual Clauses or an adequacy decision.

Third-party services

Changes to this policy

If we change what the game collects, we will update this page and change the date at the top. Material changes will also be announced in the app.