Zar Club
Sign up
Back

Privacy Policy

Last updated:

Zar Club (https://zarclub.app) is a free website for playing the traditional board game known as tavla, tavli or tabla, against a computer opponent or other people online. This policy explains what personal data the service handles, why, who helps us process it, and the rights you have. We have written it to the standard of the EU General Data Protection Regulation (GDPR).

1. Who is responsible

The data controller is Zar Club (https://zarclub.app), contact: contact@zarclub.app. Write to that address about anything in this policy.

2. What we collect

Playing against the computer on this device needs no identity at all. That game, your settings and your saved games stay in your browser (see section 7) and are not sent to us.

Guests. When you tap “Play as guest” we create a player record with a random identifier, an automatic name such as “Guest-4821”, a random four-digit tag, the date it was created and an internal skill rating (used only for pairing, never shown). The random identifier is stored in a cookie on your device so you stay the same guest. As a guest you can also pick a flag; it lasts only until you close the browser tab and is not stored.

Accounts. If you sign in we store:

  • your email address and the time it was verified;
  • the nickname you choose (until you choose one, a provisional name made from the part of your address before the “@”), and the random four-digit tag;
  • the flag you choose to show next to your name (a two-letter country code) and whether to show it. When you sign up we suggest one from your approximate country (see below); it is stored only if you keep it. You can change it or choose “No flag” at any time in Settings or on your profile;
  • sign-in session records (a random session token and its expiry);
  • when you ask for an email sign-in link: a one-time token and its expiry (24 hours). We also count recent requests per address, to stop the link form being abused.

Signing in with Google. If you choose “Continue with Google”, we ask Google only for basic sign-in information (the openid, email, profile scopes) and receive your Google account identifier, your email address, whether Google has verified it, and the name on your Google account. We store only the identifier and the address (to recognise you next time and to link it to an email sign-in with the same address). We do not store the name on your Google account, your Google profile photo, or the tokens Google issues at sign-in; we never access your Google account or any Google service. You choose your nickname yourself. We do not get your Google password.

Games and ratings (online play, guests and accounts alike):

  • for each online match: the two players, start and end times, match settings (length, game variants, whether it was ranked), the dice seed and software version, the result of each game, the score and the winner, and for ranked matches the rating change each player took;
  • every match against the computer, for guests and accounts alike: the guest or account identifier, set, length, start and end time, whether it was finished or abandoned, the score, the result of each game and the computer’s level. We keep these game results to run the service and to count how it is used (how many games are played, finished or abandoned), whatever you choose about analytics cookies; if you are signed in, they also appear in your match history;
  • for every match (online or against the computer) and every game in it, for our service statistics: the set and variant, the length, who played whom (or the computer’s level), start and end times, whether the match was played, finished or abandoned, the winner and points of each game (including a mars), the number of moves, how long it took, and the full list of moves and dice rolls. The list of moves and dice is deleted after 90 days; the summaries are kept;
  • your rating: a Glicko-2 rating, rating deviation and volatility, the number of rated matches and when it last changed;
  • challenge links you create or accept: who created and accepted them, when, and the match settings;
  • an internal event log of game events (for example: joined the queue, match started or finished, a player disconnected or ran out of time, a challenge was created or accepted), which can include your player identifier and rating.

In-game chat is limited to a fixed list of phrases and emotes; it is relayed to your opponent and not stored. Individual moves of online games are held by the game server only while the match is running.

Bug reports. If you send a bug report, it includes the game it is about (match settings including the dice seed, the full move history and the current position), the app and engine version, the category you picked, any note you type, and your player identifier if you have one. Please don’t put personal information in the note.

Usage analytics (PostHog). On https://zarclub.app we measure how the site is used with PostHog (EU Cloud, servers in the EU). On your first visit a small bar asks you to choose; nothing is sent before you do.

  • If you accept: pages you view and leave, the buttons and links you click (clicks on the board, dice and checkers are not recorded as events), the campaign tags in the address you arrived from (utm_…), and game events such as a game started, finished (result, length, number of moves) or abandoned, a challenge link created or opened, a sign-up completed (Google or email), a rules section viewed, and a theme or language change. Each event carries the game set and rule set, your language, whether you played the computer or a person, and whether you are a guest. We also make a session replay: a recording of how the page changed while you used it, so we can see where the game is confusing. Everything you type is hidden in the replay, as is any email address shown on screen; the board stays visible. A cookie (see section 6) recognises your browser between visits.
  • If you have an accountand accepted, these events are linked to your internal player identifier and your public nickname — never your email address or the name on your Google account. Guests stay anonymous.
  • Daily games.If you have an account, you can play daily (turn-based) games. We keep the game itself (the moves, the score, whose move it is and until when) with both players’ identifiers. Emails about your move are off by default; if you turn them on in Settings, we use your email address and your chosen language to send at most one email per game every 6 hours, through Resend. Every such email has a one-click unsubscribe link, and you can turn them off in Settings at any time. Deleting your account cancels your running daily games.
  • Friends.If you have an account, you can send and accept friend requests. We keep who asked whom and when, and when you were last active; your friends see that only roughly (“active today”, “this week”, “a while ago”). Removing a friend, declining a request or deleting your account deletes the record. When you challenge a friend or invite them to a daily game in the app, we keep the invitation (who invited whom, for which game, when, and whether it was accepted or declined) so that both of you can see it; it expires after 24 hours (a live challenge) or 7 days (a daily game) and is deleted with either account.
  • Shared results.When you tap “Share result”, we create a public page for that match: both players’ nicknames, avatars and chosen flags, the score, the game set and how each game ended — never ratings. Anyone with the link can open it; it is not listed in search engines. It is deleted with your account (or your opponent’s).
  • Error reports. If you accept analytics, errors the site runs into are also sent to PostHog: the error message, where in the code it happened, the page and your browser. Anything that looks like an email address is removed first. Nothing is sent if you decline.
  • Invite links. Challenge links and the links you share from a finished match include ?r=followed by a short invite code linked to your player record, so we can count how many players arrive through invitations. When someone opens such a link and accepts analytics, your internal player identifier is stored once as “invited by” on their analytics profile.
  • If you decline: no cookies and no replay. PostHog only counts your visits and the events above without recognising you, using a privacy-preserving hash computed on its servers, and nothing is linked to your account.

Technical data. Like any website, our hosting providers receive your IP address, browser user-agent and the addresses of the pages and APIs you request, and keep them in their logs for a limited time. Our own code does not store your IP address. Your approximate country, derived from your IP address, is used to pick a default game set, to suggest a language and, when you sign up, to suggest a flag. For our service statistics we also record it once with your guest or account record, together with your device type (phone, tablet or computer), your interface language and the link you arrived from (such as a campaign tag in the address), and we count page visits with the same three details but without any identifier. Your IP address itself is never stored. When a sign-in email fails or is refused (for example, too many link requests), our server logs record a masked form of your address (such as a***@example.com), never the full address.

3. Why we use it, and on what legal basis

  • To provide the service you ask for— guest and account identity, signing you in, sending sign-in emails, running matches, pairing players, calculating ratings, showing profiles, keeping your games when a guest signs in. Legal basis: performance of our agreement with you (GDPR Art. 6(1)(b)).
  • To keep it secure and working— limiting sign-in link requests, refusing unverified Google addresses, the event log, server logs, counting the games played, finished and abandoned (service statistics), investigating bug reports and misuse of ranked play. Legal basis: our legitimate interest in a reliable, fair and secure service (Art. 6(1)(f)).
  • To understand and improve the game— usage analytics and session replay with cookies. Legal basis: your consent (Art. 6(1)(a)), which you can withdraw at any time (section 6). The anonymous, cookieless counts made when you decline rely on our legitimate interest in knowing how the site is used (Art. 6(1)(f)).
  • To meet legal obligations if they arise (Art. 6(1)(c)).

We do not sell your data, show ads, use it for marketing, or build advertising profiles. We do not use automated decision-making that has legal or similarly significant effects on you; ratings are calculated automatically from game results and affect only who you are paired with and what your profile shows.

4. What other players can see

Your nickname (or guest name) is shown to your opponents and on your public profile page at zarclub.app/p/…, together with your four-digit tag when another player has the same name. For accounts, the profile also shows your rating (and whether it is still provisional), the number of matches played, won, lost and rated, and the date you started. A guest’s rating is never shown. If you chose a flag, it is shown next to your name. Your email address is never shown to other players.

5. Who processes data for us

We use these service providers. They process data on our behalf and under their own data-processing terms:

ProviderWhat forLocation
Vercel Inc.Hosting the website and its APIs; request logsGlobal network; company based outside the European Economic Area
Railway CorporationHosting the online game server; request logsCompany based outside the European Economic Area
NeonThe database that holds the data in section 2EU region
ResendDelivering sign-in emails and, if you turn them on, daily-game emails (your address and the message)EU region
PostHog Inc.Usage analytics and session replay (section 2), as you chose in the consent barEU region (EU Cloud)
GoogleSign-in, only if you choose “Continue with Google”Global; Google handles your Google account under its own privacy policy

Some of these companies are based outside the European Economic Area. Where data is transferred outside the European Economic Area, the transfer relies on the provider’s safeguards, such as the European Commission’s Standard Contractual Clauses or a recognised data-transfer framework. We share data with authorities only when the law requires it.

6. Cookies

Most of our cookies are strictly necessary for the service to work. The one exception is the PostHog analytics cookie, which is set only if you accept analytics in the consent bar. There are no advertising cookies, and analytics requests go to Zar Club’s own address (/ingest), which forwards them to PostHog in the EU. Our cookies are sent only to Zar Club.

CookiePurposeLifetime
tavli_guestRemembers which guest you are. Set when you first play without an account — as a guest, online or against the computer; removed when you sign in and your guest games move to your account.1 year
zc_internal_deviceOnly on devices of the site’s staff: marks the device as internal, so its visits are left out of the statistics. Set by an administrator in the admin console.400 days
__Secure-authjs.session-tokenKeeps you signed in.30 days, renewed while you use the site; removed when you sign out
__Host-authjs.csrf-tokenProtects sign-in and sign-out against cross-site request forgery.Until you close the browser
__Secure-authjs.callback-urlRemembers which page to return to after signing in.Until you close the browser
__Secure-authjs.pkce.code_verifierA one-time security check for Google sign-in.15 minutes, only while signing in with Google
ph_phc_…_posthogAnalytics (PostHog): recognises your browser between visits and holds the current session. Only after you accept; also kept in local storage under the same name.1 year; removed when you withdraw consent or clear site data

Your analytics choice is remembered in your browser (section 7). You can change it or withdraw consent here at any time; withdrawing stops replay and the analytics cookie straight away:

You have not made a choice yet.

While you are on Google’s sign-in pages, Google may set its own cookies under its own policy.

7. Data stored only on your device

The site also keeps some data in your browser’s local storage, which never leaves your device unless you send a bug report: your settings (theme, board options, game choices) under tavli:settings, a game in progress against the computer under tavli:active-match (with tavli:active-mode when it is a two-player game on one device), your finished matches against the computer when you play as a guest under tavli:history (shown in your match history), whether you have answered the language suggestion under tavli:lang-suggest, and a local database named tavli with the games you have finished and copies of bug reports you have made. Your analytics choice is kept under tavli:analytics-consent (and, after an account sign-up, tavli:signup-tracked, so the sign-up is counted once). You can remove it at any time by clearing this site’s data in your browser.

8. How long we keep it

  • Account and guest records, ratings and match history: for as long as the account or guest record exists. We do not currently delete inactive records automatically; you can ask us to delete yours at any time (section 9).
  • Move and dice lists of games: 90 days, then deleted automatically. The summary of each match and game (result, points, number of moves, duration) is kept as long as the match history.
  • Sign-in sessions: they expire after 30 days without use.
  • Sign-in link tokens: used once, and valid for 24 hours at most.
  • Bug reports and the event log: as long as they are useful for fixing problems and keeping play fair.
  • Hosting logs: for the limited period set by each provider.
  • Analytics: session replays are deleted automatically after 30 days; usage events are kept as long as they help us improve the service. Withdrawing consent stops new collection; to have past analytics data about your account deleted, write to us (section 9).

When you ask us to delete your data, we delete your account, player record, rating and sessions. Matches you played stay in your opponents’ histories without your identity, so their results and ratings remain correct.

If we suspend an account for breaking the Terms, we record when we did so. Every such action, and every deletion, is kept in an internal log of administrative actions, which names the player record but holds no other personal data.

9. Your rights

You have the right to:

  • access the personal data we hold about you and get a copy of it;
  • have inaccurate data corrected (you can change your nickname on your profile);
  • have your data deleted;
  • receive your data in a portable, machine-readable format;
  • object to processing based on our legitimate interests, or ask us to restrict it;
  • complain to the data protection authority in the country where you live or work.

To use any of these rights, including deleting your account, email contact@zarclub.app from the address you sign in with. For a guest record, tell us the guest name and, if you can, the link to its profile page. We may ask you to confirm a request from your sign-in address before acting on it. We reply within one month.

10. Children

Zar Clubis not directed at children under 13, and you must be at least 13 to use it. If the law where you live sets a higher age for using online services on your own, you need a parent’s or guardian’s permission until you reach it. If we learn that we hold data about a child under 13, we delete it.

11. Security

Connections to Zar Club are encrypted (HTTPS). Sign-in cookies cannot be read by scripts on the page, game connections are authenticated with signed, short-lived tokens, and access to the database is restricted. No system is perfectly secure; if a breach affects your data, we will notify you and the authority as the law requires.

12. Changes to this policy

If we change what we collect or how we use it, we will update this page and the “Last updated” date above. For significant changes we will make reasonable efforts to let you know in advance, for example on the site or by email.

13. Contact

Zar Club (https://zarclub.app) — contact@zarclub.app. See also our Terms of Service.