Tussle — Privacy Policy
Tussle is a mini game party app made by an individual developer, Ziroo, based in Türkiye ("we"). This page explains, in plain words, what data the app and its server (tussle.ziroo.net) handle, why, and what you can do about it. Questions or requests: privacy@ziroo.net.
The short version
- You can play without giving us your real name or email. A guest account is just a nickname and a random device key.
- Still no ads, no analytics SDK and no tracking SDKs. The Android app includes one Google component, Firebase Cloud Messaging, only to deliver push notifications; we use no other Firebase service. We do not sell or share your data. Optional in-app purchases exist (try packs); they are processed by Google Play or Apple, and we only receive a purchase token.
- We keep what the game needs to work: your nickname, your rooms, scores, chat and the inputs of counted tries (to check scores).
- On our own server we also keep simple usage events linked to your account (for example: joined a room, started a try, finished a match), so we can see which games and features get used, plus short technical measurements of how the app runs on different phones. Only we see them; they are not used for ads and not shared with anyone. Usage events are deleted with your account.
- You can delete your account in the app at any time: Settings, Account, Delete my account.
What we collect and why
Guest account. On first start the app creates a random secret key and keeps it on your device. Our server only stores a one-way hash (SHA-256) of it, together with the nickname you choose and when the account was created and last seen. Signing in gives your device a session token (also stored only as a hash on the server; it expires after 180 days). Your avatar color is computed from your account number.
Profile photo (optional). You can add a profile photo. The app crops it on your device to a small square image (256 by 256 pixels) and uploads only that to our server, where it is stored in our database with your account. Members of the rooms you are in see it next to your nickname, and anyone who opens the invite link of a match you set up sees it on the invite card. The image is served from a long random link that needs no sign-in, so anyone who has that exact link can open it. You can remove or replace it at any time in your profile, and it is deleted together with your account. Players can report a photo: we then store which photo, whose it is, who reported it and when. We may review reported photos and remove them if they break the rules.
Optional sign-in with Google or Apple. If you choose to link your account, the provider gives us a signed ID token. We check its signature and store the provider name, your account id at that provider and the email address in the token. If you did not pick a nickname, your first name from the token can become your starting nickname (you can change it). We do not use the email for marketing, never send you email because of it, never show it to other players and never pass it to anyone. If you sign in with an account that already has progress while playing as a guest, the two accounts are merged into one.
Gameplay. To run rooms and daily games we store: the rooms you create or join and your role there, your scores and match and party results, and, for each counted try, a compact log of your inputs (taps and swipes with their timing). The server replays that log to verify the score, and other players in your room can watch your run live from the same inputs. Practice runs (a hidden test mode) are sent to our server in the same form, stored separately from your scores (with the score the server computes when it replays them), and used only to tune game balance; they never count anywhere, are deleted after 30 days and are deleted with your account.
Chat. Messages and reactions you post in a room are stored and shown to the members of that room. Each room keeps its newest 200 messages; older ones are deleted.
Reporting and blocking in chat. You can report a chat message. We then store the room code, a copy of the message text, the author's account number, your account number and the time, so we can review it and remove content or players that break the rules. A removed message disappears from the room; the report keeps its copy. We can suspend an account, which stops it from posting in chat and uploading photos; we store the time with the account. A word filter masks objectionable words in chat before a message is stored. You can also block a player: we store the block (who blocked whom) and use it to hide that player's chat messages and reply quotes from you. The other player is not told.
Push notifications (optional, off by default). Only if you turn notifications on, we store for that device: the push address (a Firebase Cloud Messaging registration token on Android, an Apple push token on iPhone and iPad, or a web push endpoint and its keys in a browser), the platform, your language, the notification features your app version supports and your per-room notification choices. When something you asked to be told about happens, our server sends the notification text through the push service of your platform (Google Firebase Cloud Messaging on Android, the Apple Push Notification service on iPhone and iPad, and in a browser the service of its maker: Google, Mozilla, Apple or Microsoft), which therefore sees that text and your device's push address under its own privacy policy. On Android the app includes Google's Firebase Cloud Messaging component. It starts with the app and can register the installation with Google (an installation identifier and a push token) even while notifications are off; our server only receives the token if you turn notifications on. We use no other Firebase service: no Firebase Analytics, no Crashlytics, no Firebase database. You can turn notifications off at any time in the app or in your system settings.
Optional in-app purchases. Tussle has no ads, but you can optionally buy "try packs" (1, 3 or 5 extra tries) with Google Play Billing or Apple In-App Purchase; a pack is granted to everyone in the room for that day. Payment is handled entirely by Google or Apple: no card or payment details ever reach our server. We store a purchase record: the store, the product, the store's transaction or purchase token, the room, the day, the number of tries, its state and the store's raw confirmation (which contains no payment details). We use it to verify the purchase with the store, grant the tries, avoid double grants and handle refunds, which go through the store.
Crash and error reports. When the app hits an error it sends a short report: the error message and stack trace, the page path (without query parameters), the app version, the platform (web, Android or iOS), your browser or device user agent and, if you are signed in, your account number. Your IP address is never written into these reports. They go to a log file on our server that rolls over at 20 MB (one older file is kept) and are used only to fix bugs.
Usage events. On our own server we record steps such as: account created (as a guest or with Google or Apple), room created or joined (by code or by invite), try started or submitted, match created, joined or finished, party started, match invite sent or followed, and try pack bought. Each event holds the time, your account number, the room and details such as the game or the product. If a new account joins through a friend's match invite link in its first 15 minutes, we also store on that account that it came from an invite and which account sent the link. These events are not used for ads and are deleted with your account.
Performance measurements. After a live arena match the app sends one short technical measurement (the game, the number of players, frame and network timings, screen size), and when you share a season card it notes that it was shared. With each one go the app version, the platform, your browser or device user agent, your phone's model name and, if you are signed in, your account number. Your IP address is never written into them. They go to a log file on our server that rolls over at 20 MB (one older file is kept) and are used only to find and fix performance problems.
Feedback. If you send feedback from Settings, we store your text, the screen, the app version and the platform, linked to your account so we can follow up.
Update checks. The Android and iOS apps ask our own server whether a newer game bundle exists. The server only counts how many checks it sees per app version and platform, in memory; it does not store any device identifier. The update component puts a random device id in each check, which our server neither reads nor keeps. Update files come from our server, not from a third-party update service.
IP addresses. Your IP address is used briefly in memory to limit abuse (for example too many requests or connections from one address). It is not stored in our database or in the error log, and the game server does not log it. Our web server is not set up to keep access logs.
On your device
The app stores in your device storage: the device key, the session token, your settings (sound, language and similar), pending score submissions that could not be sent yet and an offline copy of the app files. Uninstalling the app or clearing the site data removes them. Note that a guest account without a linked Google or Apple sign-in cannot be recovered once the device key is gone.
Phone permissions. The app does not use your microphone, location or contacts and does not browse your photo library. If you choose a profile photo, you pick one image yourself with your phone's own picker. On iPhone and iPad that picker can also offer to take a new photo; the system then asks for camera permission first, and the picture is used only as your profile photo. The app has no other use for the camera. On Android it uses ordinary permissions for internet access, vibration (for haptic feedback), Google sign-in, Google Play purchases and receiving push notifications. On both systems the notification permission is asked only if you turn on notifications.
Who else sees your data
- Other players in your rooms see your nickname, avatar color, profile photo if you set one, scores, results, chat messages and, if they watch, your live runs.
- Anyone who opens a match invite link sees, without signing in, the nickname and profile photo of the player who set up that match, plus the room name and the game. Anyone in the room can pass the link on.
- Hosting: everything runs on a rented server that only we operate. We use no cloud database, analytics or advertising service.
- Push services (Google Firebase Cloud Messaging on Android, Apple on iPhone and iPad; Google, Mozilla, Apple or Microsoft in a browser) carry notifications only if you turn them on. The Android app's Firebase component talks to Google as described under push notifications above.
- Google Play and Apple are involved only if you make an in-app purchase; they process the payment and send us the purchase confirmation.
- Google and Apple are involved only if you use their sign-in. On the website, the sign-in screen loads their sign-in script when that option is offered, so they receive the usual technical data from your browser under their own privacy policies.
We do not sell, rent or trade personal data, and we do not use it for advertising or profiling.
How long we keep it
- Account data, scores, results, usage events and feedback: as long as your account exists.
- Profile photo: until you remove or replace it, we remove it after a report, or you delete your account.
- Practice runs: 30 days.
- Chat: the newest 200 messages per room.
- Chat and photo reports and blocks: until you or the other account is deleted, as described below (we may keep a report for as long as needed to act on it).
- Push subscriptions: until you turn notifications off or delete your account; a subscription the push service rejects is deleted after 30 days.
- Purchase records: kept as financial records, also after account deletion (without the link to you).
- Error reports and performance measurements: until the log file rolls over (size based). These log files are not part of our backups.
- Backups of the database: daily, kept for at most 14 days. A snapshot taken before each release is kept for at most 30 days. Backups include profile photos.
Deleting your account
In the app: Settings, Account, Delete my account. This removes your account at once together with your device keys, sessions, linked sign-ins, room memberships, scores and input logs, practice runs, results, usage events, chat messages, reactions, feedback, your profile photo and the reports about it, your blocks, the chat and photo reports you made and your push subscriptions. Reports about your messages made by others stay, but your account number is removed from them. Purchase records are financial records that we must keep, so they stay after deletion, with the link to your account removed. Rooms you own pass to another member, or are deleted if empty. You can also ask by email at privacy@ziroo.net; we handle such requests within 30 days. Deleted data disappears from our backups within 30 days after deletion. Error reports and performance measurements have no nickname; on request we also remove the ones linked to your account number.
Your rights
You can ask us for a copy of your data, to correct it, to delete it, or object to how we use it. If you live in Türkiye you have these rights under the Personal Data Protection Law (KVKK, Law No. 6698); in the EU or UK, under the GDPR. We process data because it is needed to provide the game you asked for (contract), and for usage events, error reports, performance measurements and abuse limits because of our legitimate interest in keeping the service working, safe and worth improving. Write to privacy@ziroo.net; we answer within 30 days. You may also complain to your data protection authority (in Türkiye, the KVKK Board).
Security
All traffic uses HTTPS. Device keys and session tokens are stored only as SHA-256 hashes, and the server checks every sign-in token from Google or Apple itself. No system is perfectly secure, but we keep the data we hold small on purpose.
Children
Tussle is not directed at children under 13, and we do not knowingly collect personal data from them. The only personal data the app asks for is a nickname, plus a profile photo if you choose to add one and an email address only if you choose to sign in with Google or Apple. If you believe a child has given us personal data, write to us and we will delete it.
Changes
If this policy changes, we update this page and the date at the top.