Your data in the dark
Privacy Policy
This policy explains the information Trappy and playtrappy.com use to run the game and website.
Last updated: 2 November 2026
Who is responsible
Trappy is operated by Mert Arcan. For privacy questions or requests, contact contact@playtrappy.com.
Information we handle
We collect this information from the app as you play (it sends your moves, choices and settings to our server), from the website when you open our links, and, for Android installs, from Google Play's install referrer. We do not buy data about you or collect it from other sources.
- Account and recovery: the game creates a player ID when it first connects. We store your chosen display name and appearance, account creation and last-seen times, the dates on which the game connected, and hashes of sign-in tokens and any recovery code you create. When the app first connects it tells us the device platform and, for an Android install, the install referrer text Google Play passes on (the labels of the link followed and, for a Google ad, Google's click reference). We record which tutorial steps a player reached, to see where new players stop. Clicks on our own store links are counted per day by label and platform, with no player ID. To tell a repeat click from a new visitor, the server keeps, in memory and for that UTC day only, a one-way hash of the network address and browser under a key drawn afresh each day; it is never written to the database. The app keeps its sign-in token and save on your device. It also saves account credentials in iOS Keychain or Android Block Store, which may restore them on a reinstall or another device through your device provider's backup settings. We do not ask for an email address, real name, age or location to create a game account.
- Progress and purchases: we store an account cloud save and a server wallet, including coins, gems, owned items, rewards, and daily limits. The server records wallet operations. From version 1.1 you can buy gem packs in the App Store or Google Play. The store takes the payment: we never see your card or payment details, or your Apple or Google account. When you buy, the app sends us the store's proof of the purchase; we check it with Apple (its signature) or Google (the Google Play Developer API) and record the store, the pack, the store's transaction ID and the time, so that each purchase pays its gems once.
- Play and social activity: we store submitted moves with their timing (so replays play at the player's pace), results, trap placements and proof runs, cave and Tomb participation, deaths, rewards, rankings, Wanted status, season recaps, friendships, requests, dares, invites, referrals, notices and links you choose to create. Other players' visits to your traps also create records about your traps. The Journal stores progress and run history in your save.
- Reports, blocks and moderation: if you report another hunter's name, we record that you reported it and on which day; a moderator may then replace that name. If you block a hunter, we record who you blocked and when, so the game can hide their name, end a friendship and stop their requests. A name removed by a moderator is kept on a list of banned names, without a player ID, so it cannot be chosen again. If we suspend an account for abuse, we record when.
- Notifications: if you allow notifications, we store a Firebase Cloud Messaging token, device platform, and selected language to send game notices. Firebase and, on iOS, Apple deliver the messages. You can turn off notification permission in device settings; a token that Firebase reports invalid is removed from our server. For each notification sent we record its type, the device platform, whether Firebase accepted it and, if you open the game from it, that it was opened; these records carry no player ID.
- Diagnostics and requests: release builds use Firebase Crashlytics for crash reports, which can contain an installation identifier, device and operating system details, app version, time and stack trace. We add the game rules version, but do not add your Trappy player ID. Each request tells our server the app's version and build. Our server uses your network address to answer requests and limit abuse, in memory only: we do not store it, and our request logs record only the route, the result and how long it took. The API also keeps aggregate counts and timing by route.
The website has no account form, analytics script or advertising cookies. Its font and images are served from our domain. Public invite, replay and recap pages are part of the website.
Advertising
From version 1.1 the app offers optional video ads from Google AdMob: an ad plays only when you tap to watch one for a reward (an extra life, double coins, or a second daily reward). There are no banner ads and no ads that play on their own, and the first lessons show none.
When the app shows ads, the Google Mobile Ads SDK collects information from your device to show, measure and limit ads and to prevent fraud: your device's advertising ID (on iPhone only if you allow tracking), network address, device and app details, and how you interact with ads. Google may use it to personalise ads where you allow it. In the European Economic Area, the United Kingdom and Switzerland, Google's consent form asks for your choices before any ad is requested, and you can change them later in Settings (Ad privacy). On iPhone, Apple's tracking question asks whether the advertising ID may be used; you can change this in iOS Settings, Privacy & Security, Tracking. On Android you can reset or delete the advertising ID in your device settings. Ads are limited to content suitable for general audiences with parental guidance. Google explains how it uses data from apps that use its services.
To pay double coins or a second daily reward only for an ad actually watched, the app passes your Trappy player ID and an ID for that view to AdMob, and AdMob confirms the view to our server; we keep that confirmation for 30 days. An extra life is given when its ad ends, without this confirmation, at most once per cave visit. We do not use Firebase Analytics, and we do not sell your data.
Why we use it
Account, wallet, save, play and social records let us provide the shared game, restore progress, verify results, award items, and show features you use. Reports, blocks and moderation records keep names and play safe. Tutorial steps, connection dates and aggregate link counts help us understand, in our own records, where players get stuck and how they find the game. Network and diagnostic data help us deliver and protect the service and repair faults. Notifications are optional. Purchase records let us pay each purchase once. Ads, which are optional, earn money to run the game. We do not sell your data.
Who can see it
Other players may see your chosen name and look (hat, skin tone, outfit and lamp), your rank and renown this season and your best rank in past seasons (your public profile), your Wanted poster, trap credit, tombstones and some game events, such as a replay of a fall in your trap. Friends also see how often you have caught each other. Anyone with an invite, shared replay or season recap link can view the information on its public page and pass the link on; a replay can identify both the trap owner and victim. Public links may remain accessible until the underlying account or record is removed.
We share data only with the providers that run the service for us, and only for that purpose: DigitalOcean (our server, database and backups), Google Firebase (notification delivery and crash reports), Google AdMob (the optional ads, see Advertising), Apple (notification delivery on iOS, iCloud Keychain if you use it, and App Store purchases) and Google (Android Block Store, the Play install referrer and Google Play purchases). They are required to protect it at least as well as this policy describes. These providers may process data in other countries. Firebase explains its processing and retention.
Storage, security and retention
The shared-world database is hosted on a server. App traffic uses HTTPS. Sign-in tokens and recovery codes are stored on the server as hashes; access to game APIs uses a secret device token. The app keeps a local save and may queue visits while offline, then send them when reconnected. No system can guarantee absolute security: keep your recovery code and device private, and never email us a sign-in token.
Most account and player visit records have no automatic expiry while the account exists, and accounts are not deleted for inactivity. Friend requests and dares lapse after 14 days and are pruned after a further 30 days. Stored delivery responses expire after 30 days; seen notices after 30 days; ad view confirmations after 30 days; notification send records after 90 days; older trap-set versions after 60 days when no longer current. The list of recent deaths used for "while you were away" reports keeps the newest 2,000. Reports and blocks stay until you unblock or either account is deleted. Daily link-click counts and the banned-name list are kept without a time limit; they carry no player ID. Purchase records are kept so a purchase can never be paid twice; deleting the account removes their link to it. Container logs are rotated by size, with no fixed time limit. Nightly database backups on our server are kept for seven days. Firebase says Crashlytics retains crash traces and associated identifiers for 90 days before beginning removal from live and backup systems. Device backups are controlled by Apple or Google.
Deleting an account removes its account, cloud save, wallet, current traps, friends, blocks and reports, player visits, tutorial and connection records, rankings, linked replay records and related active records from the live database. Older cave versions can still contain a player ID (not the nickname) for up to 60 days, and we do not ask for a real name to create an account. Records other players keep in their own saves (for example a replay of you falling into their trap) are theirs and stay until they leave those players' logs. Backup copies and data held by service providers may remain for their respective retention periods. See Account deletion for the current steps and limits.
Children
Trappy is rated for players aged 9 and up. The game does not ask for a real name, email address, age or location, has no chat, and is not designed to collect children's personal information. Its ads are optional, never play on their own, and are limited to content suitable for general audiences with parental guidance. If you believe a child under 13, or under the minimum age for consent where you live, has used Trappy and given us personal data, contact us and we will delete the account.
Your choices and rights
You can change your display name and appearance, manage friends and requests, block or report other hunters, choose whether to share links, turn off notifications in device settings, and decide whether to watch ads and how ads use your data (see Advertising). In Settings, you can delete your account while online. Uninstalling the app does not delete server records. Email contact@playtrappy.com to request access to, correction or deletion of your data, or to ask about other rights available under applicable privacy law. We may need to verify that a request concerns your account without asking for your secret token. Depending on where you live, you may also have rights to object to or restrict processing, receive a copy of your data, and complain to a data protection authority.
Changes
We will update this policy when the game, providers or data handling change. The date above identifies this version.