Privacy Policy
Last updated 25 September 2026
Cardtell is a party card game. This policy describes exactly what the app and its server store, why, and for how long. It is written to match what the software actually does rather than to cover every possibility.
The short version
- You can play without an account. If you choose to sign in, we store your name, your email address and the username you pick. If you signed in with an email address rather than with Apple or Google, we also store a cryptographic hash of your password — never the password itself.
- We do not sell your data, and there are no advertising trackers in the app.
- We keep a running count of the games you play and win, so the app can show you your own statistics and pay out achievements. Nobody else is shown it. We also keep a record of each game itself — who was at the table and their final score — for 90 days, so we can see how the game is being played and look into a reported room. While the app is open it also keeps a connection to us so we can count how many people are using Cardtell right now; that is held in memory only while the connection is open, and never stored.
- If it is switched on, a crash reporting service receives technical details when the app fails. That service, the one that checks your purchases are genuine, and the messaging service that carries our own fault alerts are the only third parties that receive anything about your use of the app.
- Your display name, your avatar and any reaction you throw at the table are shown to the other players in your room. Nothing else is.
What we store
On your device
| What | Why |
|---|---|
| An identity token | Lets you return to your seat and your cards after your phone locks or your
connection drops. Stored in the operating system keychain (iOS Keychain /
Android Keystore). In a web browser it is stored in localStorage,
which is less protected. |
| Your display name and chosen avatar | So you do not re-enter them each game. |
| Settings, and whether you have seen the intro and age confirmation | So you are not asked again. |
All of this is removed when you uninstall the app or clear your browser storage.
On our server
| What | Why | Kept for |
|---|---|---|
| A random player identifier | Generated by us, not derived from your device or anything about you. It is how the game knows which hand of cards is yours, and it is what the record of a game you played is filed under too. This identifier is never itself your real name or your email — those appear only in the sign-in row below, if you choose to create an account. | While the room is open, and for as long as any row below it exists |
| Your display name and avatar choice | Shown to other players in the same room. | While the room is open, and for 90 days on the record of any game played at a table you sat at — see below |
| Which cards a group has already been dealt | So you are not shown the same cards every time you play. Stored against a one-way cryptographic value derived from your room code — we cannot work out your room code from it. | Indefinitely, until unused |
| That your device has the app open, against the random player identifier | While the app is open it keeps a connection to us open (older versions of the app check in every thirty seconds instead). That is how we count how many people are using Cardtell at any moment — a number we show you on the home screen, and watch ourselves to know when the game is busy. It stops the moment you leave the app or put your phone down, and it does not say which screen you are on or what you are doing. It only happens once you have played a game: until then your device has no identifier to check in with, and is not counted at all. | Held in memory only and never written to our database: your identifier is dropped as soon as the connection closes, or within about ten seconds if it is lost without closing — and, for older versions, ninety seconds after the last check-in |
| Server logs, including IP addresses | Diagnosing faults, and limiting abuse such as connection floods. We log the outcome of security checks, never your identity token. | Rotated automatically, typically a few weeks |
| Only if you sign in: your name, your email address, the username you choose, your avatar, and — if you used Apple or Google — that provider's own identifier for you | So your purchases and your player follow you to a new phone. Your username is what other players see in a room. Apple accounts often use a relay address rather than your real one; we take whatever we are given and do not try to resolve it. | Until you delete the account |
| Only if you sign in with an email address: a cryptographic hash of your password, and the six-digit codes we email you | The hash is what lets us check a password without holding one — it cannot be turned back into your password, and we cannot tell you what your password is. The codes confirm the address is yours, or let you set a new password. | The hash until you delete the account; a code expires fifteen minutes after we send it |
| Only if you write a card: the text, and which player wrote it | Cards written during a game are reviewed before they can ever be shown to anyone outside that room. If somebody reports a card, the text is copied into a moderation queue for us to read. | Until reviewed |
| Only if you block somebody: that you blocked them | So their written cards stay hidden from you on your next game. It is one-way and private: the person you blocked is not told. | Until you unblock them |
| Only if you buy something: what you are entitled to use | So a purchase works on your other devices. See Purchases below. | While the entitlement lasts |
| That a game happened, when, how many rounds it ran, whether it finished, was abandoned or simply timed out, and who was at the table — the name each player was using, their final score, whether they won and whether they left early | So we can see how many games are being played and whether the game is working, and so a report about something that happened in a room can be looked into. | Who was at the table, and the room code, for 90 days. After that the row keeps only the date, how many players, how many rounds, the language, whether the table was private, and whether the game finished, was abandoned or simply timed out — with nothing left on it that names or identifies a player. |
| How many games you have played and won, how many rounds you have taken, and your best single game | Four counters, so the app can show you your own statistics and pay out the achievements that go with them. They are yours to look at: no other player is shown them, and there is no leaderboard. | Against the random identifier, indefinitely. See Your rights. |
| Your balance of in-game coins, and a line for each time it moved | Coins are spent on writing your own cards, and are earned, bought or paid out by an achievement. Each line records the amount and the reason — for example “achievement” or “custom card” — so a balance can be explained, a refund can be undone, and a purchase that arrives twice is only paid once. | Against the random identifier, indefinitely. See Your rights. |
What we do not collect
- No phone number, date of birth or postal address. If you sign in with an email address we store a hash of your password, never the password itself.
- No contacts, photos, microphone, camera or precise location.
- No advertising identifiers, and no advertising SDKs.
- We do not record which cards were in your hand, and we do not store the text of any card except one you wrote yourself. The only card history we keep is the list of cards a group has already been dealt, described in the table above — it is stored against a one-way value derived from the room code, so that you are not shown the same cards next time, and it is not tied to any individual player.
- The score of a game exists only while that game is running, except for the final score of a finished game, which is kept with that game for 90 days as described above. What survives beyond that is the four counters described above — how many games you played and won, how many rounds you took, and your best single game.
Crash reporting
Builds of the app may include Sentry, a crash reporting service. When the app fails, it sends the error, the type of device and operating system, and a short trail of which screens you had visited. It is configured to strip request bodies and web addresses, and it identifies the report only by the same random player identifier described above — never your name or your email. We use it to find and fix crashes and for nothing else. Sentry's own privacy policy is at sentry.io/privacy.
Age
Cardtell is rated 18+ and is not intended for children. The card content is adult humour. You are asked to confirm that you are 18 or over before playing. We do not knowingly collect information from children, and we do not ask anybody for a date of birth — the confirmation is a declaration, not a record. If you believe a child has used the app and you want anything removed, contact us below.
Purchases
If you buy a subscription or an add-on, the payment is handled entirely by Apple or Google. We never see your card details. The confirmation that a purchase is valid reaches us through RevenueCat, which sits between the app stores and our server for exactly that purpose; it is told the random player identifier and what was bought, and nothing else about you. We store a record of what you are entitled to use so those items work across your devices.
Who else is involved
Each of these receives only what is described here, and each is required to protect it to the same standard this policy sets out. None of them is permitted to use it for their own purposes.
- Oracle Cloud — hosts the game server and its database.
- Apple and Google — app distribution, sign-in, and payment processing. When you sign in, they give us your name and an email address; we give them nothing.
- RevenueCat — checks with Apple or Google that a purchase is genuine, and tells our server what you are entitled to use. It receives the random player identifier described above and the details of the purchase itself. It never receives your name, your email address or your card details.
- Sentry — crash reports, where enabled. See Crash reporting above.
- Telegram — carries our own fault alerts. When something fails in a way a person has to put right, the server sends us a short message about it. Four things can trigger one, and only two carry anything about a person at all: a refund for a written card that did not go through, which names the random player identifier so we can pay it back by hand, and repeated failed attempts to sign in to our admin tools, which names the IP address making them. Never a name, an email address or the text of a card.
- Expo — used to build and sign the app. It does not receive player data.
Your rights
Depending on where you live, you may have rights to access, correct or delete personal information we hold about you, and to withdraw consent you have given.
- If you have an account: delete it from inside the app, under Settings → Delete account. That removes your name, your email address, your username and the link between your sign-in and your player. What is not thrown away is your play counters, your coin balance and its history, and what you were entitled to use — rows that carry no name at all and stay attached to the random identifier and to nothing else. The record of the games you played is the one exception: it also holds the display name you used at the table, which is removed 90 days after that game was played, not 90 days after you delete your account. Ask us and we will delete all of it sooner. You can also request deletion from the web if you have already uninstalled the app.
- If you play as a guest: deleting the app removes your identity token, after which the random identifier on our server cannot be linked back to your device by anyone, including us. The one exception is the display name on a game you played: it stays on that game's record until 90 days after the game was played, not 90 days after you delete the app.
- A group's stored card history: contact us with the room code.
Changes
If this policy changes materially we will update the date at the top and, where the change affects how your information is used, tell you in the app.
Contact
Questions or requests: support@cardtell.fun
← Back to Cardtell