Legal
Privacy Policy
Optional Android notifications: If you enable message or challenge notifications, RookX uses Google Firebase Cloud Messaging to deliver them. We associate a notification token and a RookX installation identifier with your account and notification choices. Google receives the token, a generic alert and the account, conversation or invitation, and event identifiers needed to open the right screen; we do not include message text or attachments. You can disable notifications in the app or Android settings; signing out disconnects the installation from your RookX account. RookX and Google keep different notification records, as explained in section 7. This is separate from analytics and advertising, which remain disabled in the Android app.
Android app: From version 0.1.4, optional Google Analytics and advertising tracking are disabled in the app, including previously saved grants. The optional Google consent choices described below apply to the website. Essential account, gameplay, security and preference storage still works. Services you choose to use, such as Lichess or external media, may contact their own providers.
Optional Android crash reporting (from version 0.1.42): In Settings → Security → Crash reports, you can choose to send technical reports to Google Firebase Crashlytics to help us fix crashes. Sharing is off by default and separate from Google Analytics and advertising, which stay disabled in the app. The choice applies to this app installation, including after signing out or changing accounts. Reports include app version, device/operating-system details, timestamps, technical error traces and Google's installation identifiers. We do not add RookX account identifiers, messages, attachments, form contents, browsing histories or custom activity logs. Our web-error reports include only an error category and locations in bundled code; Android crash traces can also include system/library exception descriptions. These are technical reports, not guaranteed anonymous data. Crashlytics may save crashes locally while sharing is off. Changing the choice discards previously completed unsent reports; crashes from the current app session may still be included after you enable sharing. When enabled, saved reports are sent on a later app opening. Switching off prevents further send requests; reports already queued for sending may still arrive at Google, and reports already received by Google are not deleted by the switch. See retention below.
iPhone app: The iPhone app works like the Android app, with these differences. Optional notifications are delivered through Google Firebase Cloud Messaging and Apple's Push Notification service (APNs); they stay off until you allow them, and you can switch them off in RookX settings or in iOS Settings. Your sign-in is kept in the iPhone's Keychain for this device only and is removed when you log out, delete your account or reinstall the app. Google Analytics, advertising and crash reporting are not included in the iPhone app. Unsent chat drafts are stored on the device as described for Android.
Last updated: 13 October 2026
This policy explains what rookx collects when you use the rookx website and app, accounts, games, global and private chats, clans, Hubs, shared content, reports, donations, optional Google tools, and Lichess-related features.
1. Who is responsible for your data?
rookx is operated by Korab Zeciri and Edon Hashani, located in Switzerland. You can contact us through the Support page or by email at [email protected].
2. Data we collect
- Account data: player ID, email address, password hash, display name, avatar, profile settings, and optional profile details you add such as bio, gender, or nationality.
- Gameplay data: ratings, matchmaking tickets, challenges, match results, moves, replay/share data, leaderboard entries, and custom game assets you upload.
- Social data: friend requests, friendships, blocks, direct and group chats, group memberships and invites, clan and Hub memberships, global and Hub chat, uploaded media, posts, comments, edit history, reactions, votes, bookmarks, notifications, and moderation/report data.
- Support and safety data: bug reports, player reports, optional reporter email, IP address, user agent, timestamps, and security/rate-limit information.
- Lichess data, if you link Lichess: Lichess user ID, username, ratings, games needed for the linked feature, OAuth state, access token stored in encrypted form, and rating cache.
- Donation data: donations are handled by PayPal. rookx does not collect or store your card or PayPal login details.
- Rookx usage statistics: country-level counts of active players from selected gameplay requests. A daily hashed player identifier avoids counting the same player twice that day. These service-side statistics are separate from optional Google tools and do not use Google cookies.
- Optional analytics and marketing data, if you consent: Google tools are not loaded before you accept an optional category. Analytics permits Google Analytics visitor measurement. Marketing permits advertising and remarketing features where configured; it does not enable Google Analytics measurement if Analytics is rejected. Accepted tools may process page URLs, device/browser information, events and consent state. See the Cookies & Storage policy for the choices and withdrawal controls.
- Cookies and local storage: a short-lived technical game-join cookie, local storage, service worker cache, and browser cache for login/session state, matchmaking, preferences, website assets, UI caches, website cookie consent choices, and optional website analytics/marketing storage if you consent. The Android and iPhone apps also store account-specific chat drafts and selected attachments locally in IndexedDB, plus notification registration, preferences and navigation state. Saving a local draft does not itself upload it; media already uploaded through an upload feature is handled separately. See Cookies & Storage.
What optional Analytics measures: page visits and navigation, time spent engaging with pages, scrolling, links to other websites, supported embedded-video interactions and file-download clicks. Automatic form-interaction and site-search measurement are switched off. We enable Google's email redaction and redaction of selected link parameters, including search words, account identifiers and authentication codes. These protections reduce accidental collection; they do not guarantee that every kind of personal information is removed.
3. Why we use this data
| Purpose | Examples | Legal basis we rely on |
|---|---|---|
| Provide the game and accounts. | Login, ratings, matchmaking, replays, leaderboards, profiles, settings | Performance of the service you request |
| Operate hub features | Friends, direct and group messages, clans, Hubs, posts, comments, reactions and votes | Performance of the service and our legitimate interest in running the hub |
| Safety, moderation, and abuse prevention | Reports, blocks, rate limits, fraud/spam checks, enforcement | Legitimate interests and legal obligations where applicable |
| Support and bug fixing | Bug reports, diagnostics, page URL, user agent, logs | Legitimate interests in fixing and improving the service |
| Optional Android crash reports | Finding and fixing app stability problems using Firebase Crashlytics | Your consent, controlled separately in app settings |
| Optional integrations | Lichess account linking and Lichess-backed play | Your request/consent where required, and performance of the linked feature |
| Payments/donations | Opening PayPal donation flow | Your request to make a donation and PayPal's own processing terms |
| Rookx usage statistics | Country-level active-player counts and daily duplicate-count prevention | Our legitimate interest in understanding use of the service and planning capacity |
| Optional analytics and marketing | Measuring site usage, improving launch performance, campaign measurement, advertising, remarketing | Your consent where required |
4. What is public or shared with other users?
Your display name, avatar, ratings, leaderboard position, enabled public profile fields, clans, match history/replays and game results may be visible to other users. Hub posts, comments, attached media and reactions are visible to people who can access that Hub or content. Direct messages are shared with their recipients; group, clan and Hub chats are shared with the relevant participants; global chat is visible to its viewers. Bookmarks are personal saved-content records. Moderators and support staff may access content and related records as needed to handle reports and protect the service. Do not put private information in public content or group chats.
5. Service providers and third parties
The table below explains which providers receive data when you use rookx. On the website, optional Google analytics and advertising tools load only after you accept the relevant category: Analytics for Google Analytics measurement, and Marketing for advertising features where configured. Firebase notifications in the Android and iPhone apps (on iPhone delivered through Apple's push service) are a separate service controlled through notification settings. PayPal and Lichess handle the services you choose to use under their own privacy policies. We may also disclose information if required by law, to protect users, or to investigate abuse.
| Provider | What it handles | Countries and further information |
|---|---|---|
| Amazon Web Services (AWS) | Game servers, account and hub records, uploaded files, and account emails such as password resets. | Our main servers, database, uploads and email sending service use Frankfurt, Germany. Email delivery also involves the recipient's email provider. AWS processing locations. |
| AWS Amplify and content delivery | Website files and technical requests, including IP addresses and browser/request information. | Website hosting is managed in Stockholm, Sweden. Website delivery uses a global network, so requests may be processed in other countries, including the United States. See the AWS infrastructure and processing locations. |
| Cloudflare | Traffic delivery, security and bot checks; forwarding emails sent to our contact address. This can include IP addresses, request information, security signals and forwarded email content. | Global processing, including the United States and European countries. Locations depend on network routing and the service used. See Cloudflare's network locations, service-provider locations and privacy policy. |
| Microsoft Outlook.com / Hotmail | Our contact mailbox receives emails forwarded by Cloudflare. Microsoft handles the sender address, message, attachments and our replies. | Microsoft may store and process mail in the United States and other countries where it operates. See the storage and processing section of Microsoft's privacy statement for its locations and transfer safeguards. |
| Google, when you accept optional website analytics or advertising | Visitor statistics and configured marketing features: page URLs, events, browser/device information, identifiers and consent choices. Google technical support may access the Analytics account and data when needed to resolve service issues. Optional account sharing for Google products and services, modeling contributions and business insights, and business recommendations is off. | Processing can occur in the United States and other countries in Google's data-center locations and service-provider list. Google Analytics and advertising tracking are disabled in the Android app from version 0.1.4 and are not included in the iPhone app. |
| Google Firebase Cloud Messaging, for optional Android and iPhone notifications | Notification tokens, Firebase installation identifiers, generic alerts and routing identifiers. Google also processes technical service information such as IP addresses, app identifiers and delivery information. RookX does not include message text or attachments in notification payloads. | Global processing, including the United States and other countries where Google and its service providers operate; it is not limited to our Frankfurt servers. See Firebase privacy information, data-processing terms and notification retention below. |
| Apple Push Notification service (APNs), for optional iPhone notifications | Device tokens, generic alerts and routing identifiers needed to show a notification on your iPhone. Apple also processes technical delivery information. RookX does not include message text or attachments in notification payloads. | Apple infrastructure, including processing in the United States. See Apple's privacy policy. |
| Google Play, for Android app updates | Checks for and delivers app updates on eligible Google Play installations. Google describes device metadata, app version and installed module/asset-pack information as used to determine update availability and size. RookX stores update reminder times and the offered version on your device. | Google Play handles this through its own service and terms; this is separate from optional Google Analytics and advertising, which remain disabled in the app. See Google's update data-safety explanation. |
| Google Firebase Crashlytics, for optional Android crash reports | Technical crash and selected web-error reports, app/device details and installation identifiers, as explained above. | Google infrastructure, including processing in the United States; not restricted to our Frankfurt servers. See Firebase privacy information and data-processing terms. |
| PayPal, when you open a donation flow | Payment and donation information. We do not receive your card details or PayPal password. | For Swiss users, PayPal identifies its responsible entity in Singapore; processing may also occur in the United States and other countries. The entity and processing depend on your location and payment. See PayPal's privacy statement. |
| Lichess, when you use linked chess features | The account connection and chess activity needed for those features. | Lichess is operated from France and states that it hosts data in the European Union, with service providers in the European Union and United States. See Lichess's privacy policy. |
AI-assisted Analytics reports: We use OpenAI's Codex to help understand non-identifying summary statistics, such as overall visitor and page-view totals. Those report results are processed by OpenAI. Our reporting rule excludes individual player histories, account identifiers, private messages, search words and detailed links that could identify someone. This reporting connection reads existing Analytics data and does not add tracking to your device.
6. International transfers
We operate from Switzerland. The providers above may handle data outside Switzerland and your home country. Our main hosting location does not mean every email, website request or optional analytics event stays in Germany. The linked provider notices describe additional countries used for delivery, support and further processing; not every listed location receives every player's data.
International transfers require a recognised legal basis. This can be a country recognised as providing adequate protection, or safeguards such as standard contractual clauses: contractual commitments to protect personal data when it crosses borders. Transfers to eligible, certified US recipients may use the Swiss-U.S. Data Privacy Framework, and the corresponding EU or UK framework where applicable. A provider being based in the United States is not, by itself, proof that a transfer is covered.
The AWS service terms incorporate its data-processing agreement and Swiss addendum for applicable personal data. Cloudflare's processing terms and Google's processing terms describe their contractual transfer protections, including Swiss provisions. Microsoft's, PayPal's and Lichess's privacy notices above explain their international processing. To ask about the safeguards applicable to your data or request a copy of the relevant safeguards, contact [email protected].
7. How long we keep data
Optional crash reports held by Google: Google states that Firebase Crashlytics keeps crash traces and associated installation identifiers for 90 days before starting removal from live and backup systems. Local unsent reports are removed on app opening when sharing is off, when you change the reporting choice, or when you clear app data; the SDK may create further local crash records while the app is running. See Firebase retention information.
We keep account data while your account exists. Gameplay, ratings, replays, leaderboard, moderation, and support records may be kept longer where needed for game history, security, dispute handling, or abuse prevention. Password reset tokens expire and are used only for account recovery. Local storage has different lifetimes: logout clears session-related data, but preferences, caches and some notification state can remain until replaced or cleared. App chat drafts (Android and iPhone) are valid for 24 hours after their last save; expired drafts are removed on later draft access, saves or account changes, rather than by a timer while the app is closed. Drafts are also cleared when sent or discarded, on logout/account changes, or when app storage is cleared. See Cookies & Storage for details. The game-join cookie is short-lived and is cleared/expired after it is used for matchmaking.
Optional website Google Analytics: Our current settings retain event-level data for 2 months and user-level data for 14 months. New activity resets the user-level retention period, so returning visitors' user-level data may remain longer than 14 months from their first visit. Google removes data that reaches its retention limit through a monthly deletion process. These limits do not apply to standard aggregated reports, which can remain longer. Analytics cookies have a separate default expiration of 2 years, renewed on return visits while Analytics is enabled; browser limits or earlier removal may shorten this. See Cookies & Storage and Google's retention explanation. As of this policy's update date, Google signals and user-provided data collection are off, no Google Ads account is linked, and our published Tag Manager container has no separate advertising tags. Google Analytics and advertising tracking remain disabled in the Android app.
Notification records held by RookX: Our message-notification delivery records expire within 24 hours; challenge-notification records expire when the challenge expires. Our device registrations expire after 30 days without refresh. Expired records are removed by scheduled cleanup. These periods apply to RookX's backend records, not all data held by Google.
Notification records held by Google: Firebase uses its own installation identifiers, separate from RookX's installation identifier. Google states that Firebase installation identifiers are retained until an explicit deletion request is made to Firebase, with removal of associated data from live and backup systems within 180 days after that request. Signing out of RookX disconnects notifications from your account; it does not itself delete the Firebase installation identifier. Google's technical service data is handled under its applicable terms and privacy policies. See Firebase's retention information and installation deletion information.
Database backups: Automated database backups are currently kept for up to 30 days. Manual database snapshots created before maintenance or for disaster recovery are reviewed and normally deleted within 30 days. They may be kept longer only when needed for an active security investigation, dispute, or legal obligation.
Deleting an account or other data removes it from the active service according to the applicable deletion process, but a copy may remain in a backup until that backup expires or is manually deleted. Backups are access-restricted and are not used for ordinary account access. If a backup must be restored, we will take reasonable steps to reapply valid deletion and retention actions before returning the restored data to normal use.
8. Your rights and account deletion
Depending on your location, you may have rights to access, correct, delete, restrict, object to, or receive a copy of your personal data. Where processing is based on consent, you may withdraw consent. You may also have the right to complain to your local data protection authority. Use Support → My data to request a copy or get help with other privacy requests. You can also contact [email protected].
Delete your account: sign in and open Settings → Security → Delete account. Confirm with your current password after finishing active games and transferring clan leadership or Hub ownership. If you cannot access your account or complete these steps, use the account-deletion support route; you do not need to install the app.
Account deletion removes your account and associated account settings through the deletion process. Hub posts, comments, their edit history and attached media remain, with the account link removed. This does not remove personal information written or pictured inside the content. Contact us to request removal of such information. Game history, moderation and support records may be retained for the purposes described above; backups expire separately. Uploaded account assets are cleaned up by the deletion process, which may finish after account access ends.
Rookx's daily hashed activity markers are normally removed after eight days. Country/day totals contain no account identifier and may be retained as aggregate statistics. You may contact us with an objection or question about these statistics.
9. Children
rookx is not intended for children under 13. If your country requires a higher age for online services, you must meet that age or have permission from a parent or guardian where legally permitted.
10. Security and changes
We use technical and organizational measures to protect the service, but no online service is perfectly secure. We may update this policy when the service changes. The latest version will be posted on this page.
How messages are protected: Connections between your device and rookx are encrypted (HTTPS). Accounts and chat messages are stored in an encrypted database on Amazon Web Services in Frankfurt, and access to stored data is limited to the people who run the service. Messages are not end-to-end encrypted, so our moderation team can review content that is reported. We do not read direct messages routinely; staff access them only when needed to handle a report or protect the service, as described in section 4.