Privacy notice
Last updated: 31 Oct 2026
Who is responsible
The operator of Expandeers is the controller responsible for the game's personal data.
Information used to run the game
- Account identity: Google sign-in creates your account. We store your Google subject ID, public player ID, display name and email address, along with session tokens and your chosen colour. Your Google subject ID identifies your account; we do not receive your Google password.
- Play and connections: resume tokens, room codes and settings, moves, timing, results and replay access tokens. Resume tokens let you return to your seat. Your account also counts the games you finish and win.
- Connection regions: when available, we store your approximate country, region and continent for each game, derived from your connection's IP address by our hosting provider Cloudflare, and the code of the Cloudflare data centre that handled the connection. We do not store the IP address, city or precise location. We use these records to operate and secure the service, understand where games are played, investigate abuse and fraud, and produce aggregate statistics. The operator can see these records through an internal access-controlled tool; they are not shown to other players.
- Returning to play: we record at most one date per signed-in account per UTC day when you request play or a social change, or report lesson or daily practice progress. A request can count even if it does not succeed. Background refreshes, heartbeats and reconnects do not count. We also record first table entry, game start and completion steps for new accounts, and whether a table invitation was sent, accepted and led both people to start a game together. These private server records help the operator count returning accounts and understand where people stop before playing. They contain no messages or browsing history and are not shown to other players. Anonymous offline practice is not included.
- Learning, when enabled: a private lesson checklist and dates on which you practised, including whether assistance was seen or an unaided solve was reported. Lesson checks and daily marks are self-reported. We also keep up to four private learning milestones, with the first-earned date and which lesson or game earned each one. These records do not verify skill or affect ratings, Premium or finish ownership. We do not store learning action transcripts.
- Participation: your active game, away clock use, abandoned outcomes, abandon count, bounded history of counted games and abandon cooldown step and expiry. These records support one active game and the abandon cooldown across devices. Your abandon record and cooldown are kept until you delete your account.
- Ranked play: your rating, placements, ranked results and season standings, any correction or ranked suspension, and records of joining and leaving the matchmaking queues.
- Premium, Patreon and purchases: your Premium status and whether it came from a Patreon membership, a redeemed code or an earlier purchase. A connected Patreon membership is described below. For each earlier purchase we store its status, amount, currency, invoice number, payment and refund transaction IDs, refund details and times. Expandeers never receives card details.
- Live chat: messages and names are shown to room participants, with a short recent history held in memory. Ordinary chat is not stored in game records or replays. A report can save recent messages separately as evidence.
- Clubs, when enabled: club names and descriptions, memberships, roles, bans, pilot host permissions and pending ownership transfers. Table nights store their title, description, author, date, time zone, chosen time offset, responses to attendance questions (RSVPs) and linked tables. We use these records to run private clubs and check who may enter their tables.
- Abuse prevention: IP addresses are held in server memory for connection and rate limits, not written to game records. Cloudflare also processes network data to deliver and protect the game. If Expandeers restricts chat or games for your account, the restriction's kind, reason and times are stored with your account.
- Reports: reporter and reported-player account identifiers, the reported name, room and game identifiers, time, reason, report text and up to 20 recent chat messages. A ranked game report stores the reporting player, the game, the reason and its text. Report evidence is available to Expandeers for review, not to other players through the report feature.
Patreon membership
When you connect Patreon, we store your Patreon user ID, membership and campaign IDs, the link to your Expandeers account, and the membership status and dates needed to provide your cosmetics. We do not request your Patreon email address, payment card details, billing address or memberships to other creators.
Patreon may include additional profile information in notifications it sends us. We discard fields we do not need and do not retain raw notification bodies. Player OAuth tokens are used to verify the connection and are then discarded.
We retain the active connection while your accounts remain linked. Unlinking or deleting your game account removes the active connection and its membership cache. Delivery fingerprints are retained for up to 14 days; operational audit records for up to 90 days. A limited pseudonymous payment-reversal marker may remain until the later of 90 days after the reversal or 30 days after the affected paid period ends, to prevent a reversed payment from restoring access through relinking.
Expandeers does not cancel or delete your Patreon account. Patreon separately retains billing and account information under its own policies: Patreon’s policies.
Earlier finish purchases
Piece finishes were sold individually on the Shop page through Paddle, the merchant of record for those orders; they are not currently sold that way. For those purchases Expandeers sent Paddle only the selected item, an internal purchase ID and the account ID; buyers entered their email, payment and billing information directly on Paddle's hosted checkout. Paddle sends refund and chargeback status updates for those orders by webhook so we can manage finish ownership. Billing problems and any refunds for them are handled by Paddle.
Why this information is used
Account and game data make sign-in, online play, reconnecting, replays, ranked play and game statistics possible. Premium, Patreon membership and purchase records provide the cosmetics you are entitled to and handle reversals and payment disputes. Browser storage remembers preferences and local progress. Temporary network limits, restrictions and safety reports help prevent abuse, investigate problems and keep games working.
What other players can see
Room participants can see names, colours, chat and game activity. Public room listings show room codes and host names. Ranked standings show names and ratings. Anyone with a public game's ID can access its replay. Private replays need a seat credential or replay access token. Replays reveal the finished game history, including hands that were hidden during play. Share private replay links carefully.
Your learning checklist, daily practice marks and learning milestones are private and are not shown to other players. Private decision review uses a finished game recording to show your own hand and the public information available at the time of a choice. A replay share link does not give someone access to your private decision review. Ordinary finished replays can still reveal hands, as described above.
Friends can see your display name and send table invitations. Availability shows only Online or In a game, and only while both friends share it. Sharing starts on; turn it off in Account → Social settings. There are no private messages, public player searches or last-seen times. Opening an Add me link shows your display name after sign-in; becoming friends still requires a request and acceptance. You can choose to share your current table with saved friends so they can watch under the room's spectator rules; sharing ends when you withdraw it, the friendship ends or the game ends.
Only current club members can read a club's page, member list, nights and RSVPs. Owners and organizers manage invitations and ordinary members; only the owner appoints organizers, offers ownership or closes the club. Expandeers can review club records for administration and safety. A club invitation shows its recipient the club name, inviter and member count before they join. Club members can see a short table-night recap (tables, participants, mode and result), with links only to results and replays they could already open.
Club-linked tables, including their rematches, require current membership to join or watch. A copied room code or replay link does not grant access. If membership ends after a game starts, an original player can finish and reconnect to that same seat and keep access to their own result and replay view. This does not give access to club pages, room chat, watching or new tables. Account restrictions and session checks still apply. Club recordings have no public replay share link. These rules also apply to club rematches described below.
Storage on your device
Expandeers uses localStorage and IndexedDB for game functions and sessionStorage for the first arrival in a browser tab. Expandeers does not set cookies or use third-party visitor analytics or advertising trackers. Patreon memberships are paid on Patreon, outside Expandeers; while you connect Patreon, this browser tab briefly keeps the connection's random ID in session storage to finish the link. Google Identity Services provides the sign-in button and processes sign-in information under Google's privacy policy. Game statistics describe play, not your browsing across websites. We do not sell personal data or share it for advertising.
We count, per UTC day and in aggregate, which campaign link or referring site visitors
arrived from and whether they signed in or started a game. Arrival requests contain only
bounded campaign labels, the referring hostname (no path or query), a recognized in-app
browser name and a coarse device platform. These counts use no cookies, visitor identifiers
or third-party services. The tab stores the first arrival under
expandeers.arrival.v1 to avoid sending it twice. When you sign in, we associate
the first attributed arrival with your account to count its first game once; that
association is removed when you delete your account. Daily aggregate counts are kept for 90
UTC days and expire during periodic cleanup, which may resume after downtime. The owner sees
aggregate counts, not individual arrival records. These measurements are omitted from owner
backup exports; Cloudflare recovery copies follow the recovery settings below.
-
expandeers.net.sessionandexpandeers.net.resumeToken: account sessions and reconnecting to your seat. -
expandeers.social.rematchRecovery: your account ID, previous game ID, next room reference, operation ID and expiry for returning to a rematch. It contains no seat or replay access token and is cleared on sign-out, account change or expiry when read. -
expandeers.prefs,expandeers.audioandexpandeers.sound: game and sound preferences. -
expandeers.practice.v1.visitorandexpandeers.practice.v1.account.<id>: local learning progress, separate visitor checks and account caches. Visitor checks are added to an account only when you choose to import them. When account sync is enabled, signed-in progress is also saved with that account. Choices tried in private decision review stay in the review screen's memory and are discarded when you leave or change accounts; they are not saved in browser storage. expandeers.wins: win counts and recent game IDs from local games.-
expandeers.wins.cleared: whether legacy browser win progress was cleared. expandeers.chat-safety: chat visibility and player-mute preferences.-
expandeers.campaign.credentials.v1.<accountId>: account-scoped credentials when using an adventure preview that supports them. Online adventure previews are not enabled on the public service. -
expandeers.campaign.request-time: the most recent adventure request ID and time, used when recovering a request. -
IndexedDB database
expandeers, storereplays: up to 20 recent offline games for replaying on this device.
Retention
Room data remains while a room exists. Ordinary live chat disappears as the recent history is replaced, the room closes or the server restarts. Finished games are retained for replays and statistics, typically up to 7 days. Automatic cleanup runs periodically, so timing can vary; capacity limits and abandoned-game cleanup may remove records sooner.
Connection region records stay with the game record and are deleted when that game record is deleted under the game retention described above. Deleting your account removes your connection regions from your games. Aggregate daily country counts without player identifiers may be kept for up to 400 days. Owner backup files omit connection region records and aggregate country counts. Cloudflare recovery copies may retain them under the recovery settings described below.
Account records, including your Google subject ID, display name and email, and your Premium status, game statistics and any restrictions, are stored until you delete your account. Sessions expire after at most 30 days, or 7 days without use, and are revoked when you sign out; signing out everywhere revokes all your account sessions.
A Patreon connection and its membership cache are kept while your accounts stay linked, as described under Patreon membership. Purchase records are kept while your account exists, because refunds and payment disputes need them; checkouts that were never paid are deleted after 30 days. A redeemed code's record is kept until 90 days after the code stops working.
Ranked ratings, results, corrections, suspensions and season standings have no automatic deletion date: each ranked result also belongs to the other players in that game. The latest 13 seasons' standings are kept. Records of joining and leaving the matchmaking queues are deleted after 28 days.
Room reports and their captured chat evidence, and social reports with server-captured invitation or relationship evidence, are retained for up to 30 days. Ranked game reports and ranked review records are retained for up to 90 days. Records expire automatically at these thresholds; expired records are removed during saves, reads or cleanup, so deletion can be later while the service is idle.
Browser data stays until you clear it or your browser removes it. Some values are replaced as you play, and older local replays are removed automatically. Clearing site storage can sign you out and lose seat access, local progress and preferences. You can sign in again with the same Google account to access your account. Clearing browser data does not delete server records.
Expandeers may keep specific records longer, or decline to delete them, where a law requires it, for example when a competent authority asks for information to be preserved.
Account learning progress keeps up to 16 lesson checks and four learning milestones until you delete your account. Daily marks show only the latest 28 UTC days. Automatic cleanup removes expired daily marks in small batches; physical cleanup may lag during downtime and catches up when the service resumes. Private decision review uses the existing game recording and does not create a separate saved history of your review attempts. Backup and recovery copies may keep older marks until those copies expire or are deleted. Restoring a recovery copy may bring back deleted progress.
When social features are available, Mute chat on this device is a browser choice; its mute list is not uploaded. Block account is stored with your account and prevents targeted contact and availability sharing in both directions. It does not promise to hide someone in ordinary matchmaking or a shared room. Friend requests and table invitations are allowed initially; sharing Online or In a game starts on; turn it off in Account → Social settings. Friends cannot see last-seen history. Blocks and privacy choices remain until you change them or delete your account.
Saved friendships remain until either person removes them, blocks the other account or deletes their account. Friend requests expire after 14 days. Ended requests and removal cooldowns are kept for up to 14 more days to prevent repeated requests. Add me links expire after seven days and can be rotated or revoked sooner. We store only a hash of each link token; expired links cannot identify an account. Download my data includes your own friend relationships and link expiry details, but no link tokens or hashes. Deleting your account removes your friendships and requests from both people's lists and invalidates your Add me link without waiting for anyone to reply. Recovery copies may retain earlier records under the backup policy below.
For normally finished games in manually created rooms, we keep the original human players, bot profiles, settings and responses so any original human can open one next table. Each person moves only after their own confirmation. Places are held for up to two minutes; the host can release them sooner. The offer ends ten minutes after the original game finishes. A short recovery record remains for up to 24 hours after the offer ends. Rematch rooms are unlisted: anyone with the code can try to join or watch under the room settings. New tables start with fresh chat and readiness.
Only a waiting room's host can invite a saved friend. Table invitations expire after ten minutes and reserve no seat. We retain the invitation's sender, recipient, table reference, times and response until that expiry, and short retry records for up to 24 hours. Expired records are removed in small batches, so physical cleanup may be later during downtime. Download my data includes your retained incoming invitations, your own rematch responses, blocks and privacy choices. Owner backups include accepted friendships, blocks and privacy choices; they omit pending friend requests, Add me links, invitations and rematch recovery records.
Activity dates, first-game steps and table-invitation measurement records are kept for the latest 120 UTC days. Cleanup removes expired records in small batches; physical removal can lag while the service is idle and catches up when it resumes. Download my data includes your own retained measurement records. Deleting your account removes its activity and first-game records and measurement records for invitations you sent or received. Owner backup files omit these records; Cloudflare recovery copies may retain them under the recovery settings below. We use no third-party analytics or client tracking scripts for these measurements.
Club retention and nights
Club memberships and roles remain until you leave, are removed or delete your account, or the club is removed. A club ban prevents a new invitation until lifted; removing a member without a ban does not. Ownership offers expire after 48 hours and club invitations after 14 days. Past nights and their RSVPs and table links are kept for up to 90 days after the night's date. Closed club archives are kept for up to 90 days after closing; empty clubs are removed immediately. Active and disabled clubs have no automatic expiry. Cleanup runs in small batches, so physical removal may be later during downtime. Club authority changes leave safety records for up to 30 days under the report policy above.
Nights are single dated events. Copy creates a separate night with a new date and no copied RSVPs or tables. Members see the organizer's time and their own local time. Changing a night's schedule keeps earlier RSVPs but asks members to confirm them again. An RSVP does not reserve a seat. There are no automatic repeats, reminders or tournaments.
Club data in downloads and deletion
Download my data includes your own club memberships and roles, club and night text you authored, night times and your retained RSVPs. It does not include other members' lists or responses, pilot permissions, bans, pending ownership offers or table links. Deleting your account removes your memberships, roles, bans, pilot permissions, pending transfers and RSVPs. Retained club and night author details become “Deleted player”; shared text remains until its record is removed. If you still own a club, deletion archives it and cancels future nights immediately, without waiting for another person to reply. An accepted ownership transfer remains in effect. An empty club is removed. Account deletion still waits until your active games finish.
Download or delete your data
To prevent bypassing active restrictions by deleting an account, we keep a protected marker of your Google identity and each restriction’s end time until the restriction ends.
When you are signed in, the Account page has two controls under “Your data”. Download my data saves a file with your account details, email, Premium, your Patreon connection, statistics, purchases, ranked profile, your recent finished games, any active restrictions, your private learning checklist and daily marks, with learning milestones included in your statistics, and your participation: your active game, abandon count, counted-game history and any abandon cooldown. Delete account deletes your account after you sign in again with the same Google account within 10 minutes and type DELETE to confirm. You can delete your account once no game you joined is still being played. Your display name can be corrected on the same page.
Download my data also includes your own recorded connection regions for up to 500 retained games, with each game's identifier, recording time, country, region, continent and Cloudflare data centre code. It does not include other players' connection regions.
Deleting your account removes your account record and its link to your Google account, your email, sessions, Premium, statistics, account learning progress, learning milestones, your abandon history and your active-game entry. Active restrictions and cooldowns are retained separately as described below. A game's record of whether each seat finished or abandoned it stays with that game under a replacement identifier until the game record itself is removed. Signing in again with the same Google account creates a new account: Premium and purchases are not restored. Deleting also removes your Patreon connection and its membership cache; it does not cancel your Patreon subscription or reverse a payment. Cancel renewal on Patreon, and contact Patreon (memberships) or Paddle (earlier finish purchases) about billing or any refund available under their terms or applicable law.
It also removes your social privacy, blocks you set, related invitations and friend relationships, and your identity and held places from rematch records. Blocks other players set against you are retained for up to 90 days while you are absent, or until their owner deletes their account. If you return within that period, those blocks are restored when storage and block-list capacity permit, and their owners can remove them as usual.
To prevent account deletion from resetting safety and purchase limits, we retain a secret-keyed marker for your Google identity with the kind and end time of each active restriction, ranked suspension and ranked or general leaving cooldown. They apply again if you return before their original end time. Incoming block markers also identify the still-existing block owner. Promo recipient markers identify the code and last until the code closes or the code or its grants expire; codes without an expiry keep their markers until the code closes. These markers contain no Google subject, email, name, deleted account identifier or report text. Daily room and action allowances and message shares use your stable player identity and do not reset when you delete your account; their usage window ends at 00:00 UTC.
Some records are shared with other players or needed for payments and safety. They are kept for the periods above without your account identifiers: purchase records (for refunds and payment disputes, until 180 days after their last change), redeemed-code records, ranked history, finished games and reports. In ranked history and the finished-games list your name becomes “Deleted player”. Social report identity fields and stored player names are anonymised; the report text remains until expiry. A room report keeps the reported name and the chat evidence it captured until it expires, and a recorded game replay keeps the name you played under until the replay is removed, typically up to 7 days after the game.
Hosting and processing
Cloudflare is the hosting processor for the website and game service. Its global network may process service data outside your country. Recovery copies may remain beyond deletion from the live database under Cloudflare's recovery settings or in owner backup files. Owner backups are kept for at most 35 days; a restore can bring back accounts and progress deleted since the copy. Patreon (patreon.com) runs memberships, billing and its own accounts as an independent platform; it sends us membership notifications and answers our membership checks. Paddle (Paddle.com) processed earlier finish purchases as the payment processor and merchant of record.
Restoring an earlier copy can undo blocks, privacy changes and account deletion; we must reconcile those changes before reopening the service.
Owner backup files include clubs, memberships, roles, bans, nights and RSVPs, and keep the members-only rule on finished club games. They omit pilot permissions, pending ownership offers, invitations and live table links. Cloudflare recovery copies can include those omitted records. Recovery can undo club removals and bans as well as account deletion; we must reconcile these changes and check named pilot permissions before reopening. The backup retention policy above applies to club data too.
Your choices and rights
Depending on applicable law, you may have rights to access, correct, delete or receive a copy of your personal data, restrict processing or object to it. You may also complain to your local data protection authority.
For privacy requests, including access, correction, deletion or concerns about processing: Email [email protected]. See About and contact for what to include. You can also download your data and delete your account from the Account page, as described above. Game data expires automatically within the retention periods described above, subject to the cleanup timing explained there. You can clear browser data using your browser's site-storage controls. To report abuse, use the in-game report button.
Changes
This notice will be updated when the game's data practices change.