Privacy Policy
- Just your name and avatar (email only if you use Google)
- Voice is never recorded or sent to us
- Export or delete everything in one click
What we collect
- Your Discord account: user ID, username, display name and avatar (scope
identify). - Your Google account (only if you sign in with Google in a browser): your Google user ID, name, email address and profile picture. We only use your email to identify your account; we never email you or show it to other players.
- Server details: your server nickname and avatar, and whether you have moderator permissions (scopes
guilds,guilds.members.read). Used to show your name and let moderators manage rooms. Cached for up to 24 hours. - Your settings: nickname, avatar choice, 18+ confirmation, NSFW opt-in, and your stats and leaderboard preferences.
- When you last used Codebreakers (updated at most once a day), so accounts nobody uses any more can be deleted automatically.
- Games: the live room (words, clues, drawings, guesses, the game log) while it's running, plus a record of each finished game and your stat totals.
- Join requests: when you ask to join a room, your name, avatar and optional note are shown to that room's host until they answer, and deleted with the room.
- Room chat: messages you send in a room, with your name and avatar, so the people in that room can read them. Only the last 50 per room are kept, and only until the room ends. In 18+ rooms, chat only reaches players who confirmed they're 18+ and opted in.
- Sign-in session: a session token to keep you signed in, with the IP address and browser type you signed in from. Discord and Google OAuth tokens are stored encrypted.
- Guest accounts (browser): a random agent name and any nickname or avatar you pick. Guests are never tracked: no stats, no game history (you show up as “Anonymous agent”), and the whole guest account is deleted after 24 hours.
Our servers see your IP address as part of normal web traffic, and it may appear briefly in server logs. Besides your sign-in session, the app only uses it for short-lived limits that stop abuse (for example, how many guest accounts one network can create in a day). Those counters expire within 24 hours.
Voice & Discord status
If Discord grants the rpc.voice.read permission, the activity receives who starts and stops talking in its voice channel, so it can highlight the speaker. This happens entirely on your device.
To match a speaker to a player, your Discord user ID is shared with the other people in the same Discord activity game, unless you turn off “Show when I'm talking”. It's never shared in browser rooms. With rpc.activities.write we set your Discord status to show you're playing Codebreakers.
Google user data
This section applies only if you choose Sign in with Google in a browser. You can always play with Discord or as a guest instead.
| Google data | Details |
|---|---|
| What we access | Only the basic profile Google shares at sign-in (scopes openid, email and profile): your Google account ID, name, email address and profile picture. We never ask for access to your Gmail, contacts, Drive, calendar or any other Google data. |
| How we use it | To sign you in and keep your account yours, and to show your name and picture to the players in your games (you can change both in Codebreakers at any time). Your email address only identifies your account: it is never shown to other players, and we never use it to contact you or for marketing. |
| How we store it | In our database, together with your account. The sign-in tokens Google returns are stored encrypted, and we don't use them to call Google after you've signed in. |
| Who we share it with | Nobody. We don't sell, rent or share Google user data, don't use it for advertising, and don't use it to train AI or machine learning models. Other players only see the name and picture you play with. |
| How long we keep it | For as long as you have an account. Delete it any time under Profile & Privacy and your Google data is removed right away; accounts nobody has used for 12 months are deleted automatically. You can also remove Codebreakers's access at myaccount.google.com/permissions. |
What other players can see
- In a room: your name, avatar, team, role, online status (and a “Guest” tag if you play as a guest), and the clues, drawings and guesses you make.
- When you ask to join a room: its host sees your name, avatar and optional note until they answer. Hosts also see who they've banned.
- Your 18+ confirmation and privacy settings aren't shown to anyone. The one exception: a room's host sees which seated players still need to opt in before 18+ mode can be turned on.
- Which Discord server or voice channel a game was started from is never shown to other players.
- On the home page: people in the same Discord activity can see who's in its game (names, avatars, teams) before joining.
- Room codes: anyone with a room's code can join it, from Discord or a browser. Share codes with people you trust.
- Leaderboards: your name, avatar, wins and games played, unless you hide yourself or opt out of stats. A Discord server's leaderboard only lists that server's members.
What we don't collect
- Your Discord email address, DMs or friends list. (Your email is only stored if you sign in with Google.)
- Voice audio. We only ever know that someone is talking, never what they say.
- Payment details. Support payments go through Polar; we never see your card.
Who we share it with
We never sell your data or use it for advertising. It's only handled by services that run the game:
- Discord, for sign-in and the activity itself.
- Google, only if you choose to sign in with Google.
- Our hosting provider, MongoDB (database) and Redis (live rooms and caches).
- Polar, only if you choose to support the project. Their privacy policy covers checkout.
How long we keep it
| Data | Kept for |
|---|---|
| Live rooms and room codes | Until everyone has left, and never more than 6 hours after the last activity |
| Join requests and a room's ban list | Until answered, and deleted with the room |
| Guest accounts (and anything attached to them) | 24 hours, then deleted automatically |
| Abuse-prevention counters (per account or network) | Minutes, at most 24 hours |
| Room chat (last 50 messages) | Deleted when the room ends (never stored in our database) |
| Finished game records ("Recent games") | 90 days, then deleted automatically |
| Your account, with its stat totals and leaderboard entries | Until you delete it, or after 12 months without signing in or playing |
| Server nickname and permission cache | 24 hours |
| Sign-in sessions (including sign-in IP and browser) | 30 days (guests: 1 day), or until you sign out |
| Profile settings | Until you delete your data, or with your account after 12 months unused |
Your controls
- Opt out of stat tracking, or hide yourself from leaderboards, at any time.
- Download everything we store about you as a JSON file.
- Delete all of your data. This removes your account, sessions, profile, stats and your messages in open rooms, removes you from live games (including their game log), and anonymizes your name in other players' game history. It takes effect immediately; if something can't be removed, you'll see an error and your account is kept so you can try again.
- Accounts that haven't been used for 12 months are deleted the same way, automatically.
Stored on your device
Your browser keeps your theme and sound settings in local storage, and a sign-in cookie to keep you signed in. Inside the Discord activity, where cookies are unreliable, a sign-in token is kept for that session instead. Clearing site data removes them. We don't use tracking or advertising cookies.
Security
Connections are encrypted (HTTPS). Discord activity sessions are verified with Discord before you can join, and the server rate-limits and validates every action. Signing out disconnects that session everywhere. No system is perfect, but we keep what we store small.
Chat is encrypted on the way to and from our servers, but it isn't end-to-end encrypted: our server reads messages to block hate speech, hash out swearing in family-friendly rooms and keep 18+ chat from people who haven't opted in.
Age
You must meet Discord's minimum age for your country to use the activity. NSFW (18+) word packs, and the chat in 18+ rooms, are only shown to people who confirm they're 18 or older and opt in.
Changes to this policy
If we make meaningful changes, we'll update the date at the top and announce them in the support server.
Contact
Questions or requests? Reach us in the support server.
Questions, bugs or data requests?
Come say hi in the support server. We usually reply within a day or two.