Privacy Policy
Last updated
Smash is a badminton scoring and tournament app. This policy describes the data the app and this website actually handle today — collection by collection, not in the abstract.
If a feature changes what we collect, this page changes with it, and the date above changes too.
Who we are
Smash is operated by the Smash team, which is the data controller for the personal data described here.
For anything in this policy — access, correction, deletion, objection, or a complaint — write to jathanscreatives@gmail.com. We answer within 30 days.
What we hold, and why
Your account — email address, display name, photo, the provider you signed
in with (email, Google or Apple), whether the account is a player or a club
account, and your playing hand. Held in Firebase Authentication and in your
users record. If you sign in with Google or Apple, that provider sends us your
name, email and (Google) photo; Apple may give us a relay address instead of
your real one. Necessary to give you an account: performance of a contract.
Your preferences — theme, haptics, voice-umpire and default match format
settings, on your users record. Contract.
Your subscription status — whether Premium is active, which plan, which
store, and when it expires. Written to your users record by our billing
processor (RevenueCat, below) so the app knows what to unlock. Never your card
details. Contract.
Photos you upload — a profile photo and tournament cover images, in Firebase Storage. Contract.
Player records — name, a normalised search name, an optional email, club, country, playing hand, ELO ratings, win/loss statistics, a rating history and badges. Contract.
An email makes a player record one shared profile per person. There is never more than one record for an email address: if you add a player by an email that already has a record, you do not get your own copy — that existing record is added to your roster, keeping its own name, photo, ratings and history. Everyone who has added that player sees the same record, and matches any of them score count towards the same ratings. Only the person who first created the record can edit it; anyone else can take it off their own roster. To keep addresses unique we store a one-way hash of each email, readable only by our server functions. The email is used for one more thing: the person who owns it can claim the record from their own account once their email is verified. Their account name and photo then replace what was typed, and stay in step with their account. Contract.
Match records — the players, every game's score, any cards, the scoring engine's state, timings, an optional link to a public live stream, and a timestamped log of every point in a sub-collection. The log is what makes undo, live spectating and match history work. Contract.
Tournaments — name, format, participants, courts, the bracket and an optional cover image. Contract.
Clubs, memberships and join requests — including player names and photos copied onto membership records so club lists render in one read. Contract.
Public share copies — when you share a match, tournament, player or club, a copy is published to a public link. Consent, given by the act of sharing.
Advertising identifiers — the free mobile app serves Google AdMob banner and interstitial ads, which use device and advertising identifiers. Consent, collected through Google's consent form where the law requires it, and through Apple's tracking prompt on iOS.
App usage analytics — the mobile app sends usage events to Google Analytics for Firebase: things like "match started", "tournament created", "paywall viewed", which screen was opened, whether Premium is active, and a bucketed count of how many players you have. Events are tied to your account's random identifier, never to your name or email, and screen names never include match or share identifiers. Where Google's consent form applies (EU, EEA, UK and Switzerland) analytics only runs if you accept it and stops if you withdraw; elsewhere it runs by default. Consent where required; otherwise legitimate interest in understanding which features are used. Development builds send nothing.
Website analytics — Google Analytics 4 on this website, and only if you accept it. Consent.
Speech — voice umpire mode uses your phone's speech recognition service to hear scoring commands. Consent. Recognition is performed by the platform's service — Apple's on iOS, Google's on Android — and the audio may be sent to their servers to be transcribed; we do not restrict recognition to your phone. We never store the audio or the transcript. The only thing recorded on our side is which command was recognised (for example "point" or "undo"). The microphone is only active while voice mode is on.
Guest mode holds nothing of ours. Without sign-in, matches, players, tournaments and clubs are written to your device's own storage. Nothing is uploaded, guest data is never imported into an account later, and uninstalling the app deletes it.
On your device, whichever mode you use, the app also keeps: the match in progress, your theme choice, whether you have seen onboarding, which badges it has already announced, a cache of your statistics and of your Premium status, and the time of the last interstitial ad so it can space them out.
Data about other people
Smash lets you record data about people who are not you — a club member's name and email, an opponent's match history, a junior's photo. When you do that, we hold it as controller of the service, and you decide what goes in.
If you are one of those people and you want a record corrected or removed: write to jathanscreatives@gmail.com with the name and, if you have one, the share link. We will act on it where the record is ours to change, and pass the request to the account holder where it is not. You do not need a Smash account to ask.
Public share links are genuinely public
Sharing publishes a copy of a match, tournament, player or club to a URL containing a random token. That page is readable by anyone who has the link, with no sign-in — the token is the only thing protecting it. Search engines will not usually find it, but nothing stops a link being forwarded.
What each kind of link exposes:
- Match — the four player names, every game's score, the live score and server, start and end times, and the linked live stream if there is one. Never the point-by-point log, the engine state or who recorded it.
- Tournament — its name, format, every participant's name and the full bracket.
- Player — name, photo, club, country, ratings, win/loss statistics, streaks and badges. Never the email on the record.
- Club — name, photo, city, country, description, and each member's name and ratings.
A shared match page can embed a YouTube, Twitch or Facebook live stream that the organiser attached. That player is loaded from the provider, which sets its own cookies and applies its own privacy policy.
Do not share a link to a match involving someone who has not agreed to it. Deleting the match, player or club removes its public copy, and the link stops resolving.
Where it is stored, and who else processes it
Match, player, tournament and club data is stored in Google Firestore in the eur3 multi-region — data centres inside the European Union. The server-side functions that calculate ratings, maintain share links and delete accounts run in europe-west1 (Belgium). Your data stays in the EU at rest.
Our processors and their role:
- Google (Firebase) — authentication, database, file storage, server functions, and app usage analytics.
- Google AdMob — advertising in the free mobile app, with Google's consent platform for the consent form.
- RevenueCat — subscription management. It receives your account's random identifier and the store's purchase records, and tells us whether Premium is active.
- Apple and Google (app stores) — subscription billing. They are the merchant of record; we receive whether you are subscribed, never your card details.
- Google and Apple (sign-in) — identity, when you choose to sign in with them.
- Apple and Google (speech) — transcription of voice commands, when you turn voice umpire mode on.
- Google Analytics — website measurement, only with consent.
Google, Apple and RevenueCat may transfer data outside the EU under their own transfer safeguards (Standard Contractual Clauses and the EU–US Data Privacy Framework).
We do not send push notifications and hold no device tokens.
Cookies and similar storage
This website sets no cookies until you accept analytics. Consent Mode is set to
denied for every signal before anything loads, and the Google Analytics script
is not fetched at all while consent is missing or refused. Accepting lets GA4
set its own _ga cookies; refusing afterwards clears them.
Your choice is stored in your browser's local storage under smash.consent,
which is what stops the banner asking again. Change your mind any time with
Cookie settings in the site footer — refusing is one click, exactly like
accepting.
In the mobile app, the equivalent control is Profile → Ad privacy options, which reopens Google's consent form. Withdrawing there switches off both personalised ads and app usage analytics. On iOS you can separately refuse ad tracking in Settings → Privacy & Security → Tracking. Outside the regions where the form is required it does not appear; ads there are personalised unless you refuse tracking at the OS level, and analytics runs. If you want the analytics data tied to your account erased, delete the account or write to us.
How long we keep it
Your matches, players, tournaments, clubs and profile are kept until you delete them or delete your account — we do not expire them on a timer, because match history is the point of the app.
Deleting a match removes it and its point log, but does not rewind the ratings and match counts it already contributed to: those are running totals over a whole history, and the app tells you so before you confirm.
Deleting your account removes your sign-in record, profile, subscription record, matches and their point logs, players, clubs you own, memberships referring to your players, join requests, uploaded photos, and the public links for all of those. It does not remove tournaments you organised, matches other people recorded, the rating history and badge entries under your deleted players, or your name and photo where they were copied onto a player record that another user linked to your account (that record is unlinked from you but not rewritten). The account deletion page sets that out in full. Operational backups and server logs roll off within 90 days. Your RevenueCat customer record and the stores' own purchase history are kept by them under their policies.
Your rights
If you are in the EU, EEA or UK you have the right to access your data, correct it, erase it, receive it in a portable format, restrict or object to a particular use, and withdraw consent at any time without affecting what was done before.
Two of these are built in and instant: Profile → Export my data gives you a machine-readable JSON copy of your profile, players, matches, clubs, memberships and tournaments, and Profile → Delete account erases what is listed above.
For anything else, write to jathanscreatives@gmail.com. We reply within 30 days. If you are unhappy with the outcome, you can complain to your national data protection authority.
Children
Smash is not intended for children under 13, and you must be 13 or older to hold an account. Ads are requested at a general-audience content rating.
Junior badminton means adults routinely record matches for minors. If you create a player record for someone under 18, or upload a photo of them, you are confirming that you have their guardian's consent — and the guardian can ask us to remove it at any time using the contact address above.
Security
Access to your data is enforced by Firestore security rules. Your profile, preferences and subscription record are readable only by you. A player record is readable by whoever created it, by everyone who has it on their roster, by the person who claimed it or whose verified email it carries, and by the owners of clubs it belongs to. Matches, point logs, tournaments, clubs, memberships, rating histories, badges and uploaded photos are readable by any signed-in Smash user — so that club lists, head-to-heads and shared tournaments work — but only their owner can change them, and nothing in those collections is readable without an account. Ratings and statistics can only be written by our server functions. Public share copies are the deliberate exception described above. Traffic is encrypted in transit, and data is encrypted at rest by Google.
No service is immune. If a breach affects your data and is likely to put you at risk, we will tell you and the relevant authority within the deadlines the GDPR sets.
Changes
The date at the top of this page is the version you are reading. Material changes are announced in the app before they take effect.
