Quizfire

QuizFire

Privacy

What we collect, why, and how to make it go away.

In effect 24 September 2026. QuizFire is made by Shyam Valsan, an individual developer, and this is the policy for the QuizFire Android app, the browser version at play.quizfire.app, and this website.

The short version

We collect the least we can and still run a game with leaderboards. A random device id, the display name and avatar you pick, your gameplay, and an approximate location from your network address so a leaderboard can say "in your city". If you sign in, your email address too. If the app crashes, a crash report you can switch off. Anything you choose to send us: feedback, and reports about other players.

The app can look at your contacts in two places on the Friends screen, and only when you tap. Inviting people never sends us anything. Finding friends sends scrambled codes we do not keep. Your address book is never uploaded.

You can report or block another player. A blocked player drops out of your rankings and can no longer challenge you, add you as a friend or be paired with you.

We sell nothing. We share nothing with advertisers. There are no ads and no tracking SDKs in the app. You can delete everything from inside the app, from this page, or by writing to quizmaster@quizfire.app.

What the app collects

A device id

On first launch the app generates 32 random bytes and keeps them on your device. It sends a hash of them to our server, which uses it to recognise the same player next time. It is not your advertising id, your Android id or your hardware id, and it identifies nothing outside QuizFire. Deleting the app and reinstalling it makes a new one.

Your display name, avatar and colour

You pick these during onboarding. Other players see them in duels and on leaderboards, so choose accordingly. The name is limited to 24 characters, and a short list of slurs and obvious abuse is refused. We never ask for a legal name, a date of birth, a phone number or an address.

Your email address, only if you sign in

Signing in is optional. The game is complete without it. If you do sign in with Google or with an email link, we store the address so that your progress finds you on a new phone, and we store the account identifier that Firebase Authentication gives us.

Your gameplay

Match results, your answers and how long you took, the per-topic ratings and tiers those produce, which topics you played and when, and the head-to-head records behind rematches. Your Daily Challenge score for each day is stored too: other players see only how many people played and how the scores spread, and your friends see your score. This is the game state. Without it there is no profile and no leaderboard.

An approximate location

Leaderboards have scopes: your city, your region, your country, the world. To place you on the right one, our hosting layer tells the server the approximate city, region and country associated with your network address. We store those three names. We do not store your IP address, and the app never asks for GPS or device location permission. You can override all three by hand in Settings.

Your contacts, only when you tap

The Friends screen has two things that use the contacts on your phone. Neither runs on launch, neither runs in the background, and neither reads anything until you tap it and answer your phone's permission dialog. Each one says in a sentence what it is about to do before that dialog appears. You can refuse, and the rest of the app is unaffected. You can change your mind later in your phone's app settings.

Invite from contacts shows you a list of your contacts so you can pick who to invite. That list is built on your phone and stays there. Nothing about your contacts is sent to us. When you are done, your own messaging app opens with the invite already typed, and you press send. QuizFire holds no permission to send or read messages and could not send one if it wanted to.

Find friends on QuizFire is how you see which of your contacts already plays. Your phone tidies each email address and phone number into a standard form, then scrambles it with SHA-256 and a secret value from our server. Only those scrambled codes are sent, at most 500 at a time. No name, no number and no address are sent. We do not keep the codes and we cannot see them in our logs. Our server compares them with the code it holds for each player who has signed in with an account, answers with the players that matched, and keeps nothing: your codes live in memory for the length of that one request and are never written to a database and never written to a log. Codes that match nobody are simply absent from the answer, so the server learns nothing about anyone who does not play.

Only a player who has signed in with an account can be found this way. If you have never signed in, nobody can find you through their contacts. If you sign out, the code we hold for you is deleted and you stop being findable.

Crash reports, which you can switch off

When the Android app crashes, or hits an error it can recover from, it sends a crash report to Firebase Crashlytics so we can find and fix the fault. A report holds the technical trace of what went wrong, the app version, your phone's model and Android version, whether the app was in the foreground, and a random installation id that Crashlytics makes for the app. It does not hold your name, your email address, your contacts or your answers. Reports are on by default. Turn them off in Settings with Send crash reports, and none are sent from then on. The browser version sends none.

Feedback you send

Settings has Send feedback. What you type is sent to our server with the app version, your phone's model, the platform and your player id, so we can see which build and which player it is about. Nothing is sent until you press send. You can also simply email us.

Reports and blocks

You can report another player from a leaderboard, your friends list or a challenge card, for an offensive name, cheating, harassment or something else, with an optional note. We store who sent the report, who it is about, the reason, the note and the name the player had at that moment, so we can act on it: rename the player, reset their ratings, or remove the account. The reported player is not told who reported them. When you block a player we store that one pair. The blocked player is not told either; they simply stop appearing in your rankings, and neither of you can challenge the other, send a friend request or be paired in a live duel.

Notifications, only if you allow them

If you allow notifications, the app registers a push token from Firebase Cloud Messaging with our server, with the kinds you want: a challenge sent to you, a friend request, a challenge of yours that was played. A notification carries a player's display name and a topic, nothing else. Switch each kind off in Settings, or turn notifications off for QuizFire in your phone's settings.

What the app does not collect

Who else touches it

Three companies process data on our behalf, and one is contacted only if you ask for it.

Nobody else. We do not send data to advertisers, data brokers, analytics vendors or social networks, and we do not sell data to anyone, ever.

This website

quizfire.app sets no cookies and loads nothing from a third party. Fonts are served from this domain. To know whether anyone is reading the page, each visit posts one small message to our own API with the day, the page path and the host of the referring site, and that becomes a counter. A daily unique-visitor estimate is kept as a hash of the day, your network address and your browser's user agent, truncated to sixteen characters. The day is part of the hash, so it cannot be joined to another day or turned back into an address. No cookie, no identifier stored in your browser, no cross-site tracking. Your browser's Do Not Track signal is honoured: with it on, nothing is counted.

If you join the waitlist, we store the email address you type, the country your request came from, and the date. We use it once: to tell you when the app is out.

How long we keep it

Your rights

Wherever you live, and specifically if you are in the UK, the EEA or a US state with a privacy statute, you can ask us to show you the data we hold about you, correct it, or delete it. Most of it you can do yourself:

Our legal basis for the data needed to run a match, a rating and a leaderboard is performance of the contract you enter when you play. For the website counters it is our legitimate interest in knowing whether anyone visits, which is why they hold no personal data. Sign-in, crash reports and notifications are your consent, and you can withdraw each one: sign out or delete the account, switch crash reports off, switch notifications off. If you think we have handled your data badly, you may complain to your national data protection authority.

Children

QuizFire is for people aged 13 and over. It is not directed at children, it is not in Google Play's Families programme, and we do not knowingly collect anything from a child under 13. If you believe a child has given us data, write to quizmaster@quizfire.app and we will delete it.

Security

Everything the app sends travels over HTTPS, and live duels over a secure WebSocket. The device key is stored hashed, never in the clear. We do not hold passwords: Firebase Authentication does the signing in, and we never see one. No system is perfect, and we will tell affected players promptly if something goes wrong.

Changes

If this policy changes in a way that matters, we will change the date at the top and say so in the app's release notes. The version you are reading is the one in force.

Contact

Shyam Valsan, QuizFire.
quizmaster@quizfire.app
A postal address is available on request for a formal data protection enquiry.