Djinny ("the app") is a trivia quiz game. This policy explains what data the app accesses and how it is used.
Data we collect
Djinny does not require an account and does not collect or store any personal information itself. The only server we run is a small verification and download service (see "Integrity check" below), which keeps no records of you. Three Google services handle data on your behalf: Google Play Games Services, if you choose to sign in (see "Play Games Services, leaderboards, achievements and cloud save" below), Google AdMob, which shows the ads (see "Advertising" below), and Google Firebase, which reports crashes (see "Crash reports and analytics" below).
Quiz questions
All quiz questions and categories are included in the app itself, so you can play offline. From time to time the app may download an extra pack of new questions (see "Integrity check" below). Nothing about you is sent to get them.
Advertising
Djinny shows ads through Google AdMob. To do this, AdMob and its partners may collect and use data such as your advertising ID, approximate location, and app interaction data to serve and measure ads, as described in How Google uses information from sites or apps that use our services. Where required (for example, in the EEA and UK), the app asks for your consent before any personalized ads are requested, via Google's User Messaging Platform. Where that applies, you can review or withdraw your choice at any time in the app under Settings, Privacy, Ad privacy options, and you can also manage ad personalization for your device generally in your device's Google Settings.
Play Games Services, leaderboards, achievements and cloud save
Signing in with Google Play Games is optional. If you choose to sign in, the app receives your Play Games player ID, display name, and profile icon from Google Play Games Services and uses them to show your name and avatar in the app. Signing in also turns on the following features, which send data to Google Play Games Services, where it is stored and handled by Google under your Google Account and not on any server of ours:
- Leaderboards. After a ranked quiz (Survival, Sudden Death, Time Attack, True or False Blitz, and the Daily Challenge) the app submits your score for that mode, and after a Quizzle win it submits your current Quizzle win streak. Other players can see your score together with your Play Games name and profile icon, as set in your Play Games profile and its privacy settings.
- Achievements. The app tells Play Games Services which achievements you have unlocked, which correspond to the trophies you earn in the app.
- Cloud save. The app stores a backup of your game progress in Play Games Saved Games, so that you can pick up where you left off on a new phone or after reinstalling. The backup is the same progress record the app keeps on your device (your experience points and level, streaks, trophies, daily quests and category mastery) in an encrypted form that only the app can read. It does not contain your quiz history or your settings. When you sign in on a device, the app compares the cloud save with the progress on that device and keeps whichever is further along.
Scores are checked on your device for plausibility before they are submitted, for example to filter out answers given faster than a person could read the question. This check uses only the quiz you just played and sends nothing anywhere. If you play as a guest, none of the above is sent anywhere, and your progress is not saved: it is kept in memory while the app is open and gone when you close it, unless you sign in before closing, in which case it is added to your new account. Signing in is what lets the app save your progress.
You can delete this data at any time. See how to delete your account and data.
Integrity check
If you sign in, the app uses the Google Play Integrity API to check that it is a genuine copy of Djinny running on a certified device, so that leaderboards and achievements stay fair. The app asks Google Play for a signed integrity token and sends it to a small verification service run by the developer on Cloudflare Workers, which has Google decode it and replies with a yes or a no. The token describes the app and the device (for example whether the app was installed from Google Play and whether the device is certified). It can also say how many integrity checks the device has asked for recently and whether Google Play Protect has found a risk on the device. The service reads these signals only to decide its yes or no answer. The token does not contain your name, your Google Account, your player ID or any of your game data, and the service does not store the token or the answer. As with any request over the internet, your IP address is visible to the service and to Cloudflare while the request is handled. If the check cannot be completed, for example because you are offline, nothing changes for you. If Google Play says an install is not genuine, leaderboards, achievements and cloud save are switched off on that device. The same service also supplies new question packs: when one is available and the check passes, the app downloads it. These are the same questions for everyone and involve no personal data.
Crash reports and analytics
Djinny uses Google Firebase Crashlytics and Firebase Analytics to find and fix problems. When the app crashes, it sends Google a crash report with diagnostic details: the kind of error, the app version, your device model and Android version, and a random installation identifier created by Firebase. Firebase Analytics uses the same identifier to record general app usage, such as when the app is opened, and works out an approximate location from your IP address. The identifier is not your name or Google Account and we do not use it to identify you. We use this only to keep the app stable. Google handles it as described in Firebase privacy information.
Data stored on your device
Outside of the advertising and Play Games data described above, the app stores the following in its private storage on your device:
- Your music on/off preference
- Your quiz settings (category, difficulty, question count)
- Your game progress: experience points, level, number of quizzes played, Daily Challenge and Quizzle streaks, trophies, daily quests, and category mastery. This is stored in an encrypted form so that it cannot be edited by hand.
- Your quiz history, including the answers you gave
- A small record of the device clock, which the app uses to notice when the date has been changed to cheat the daily features. It contains no personal information.
None of this is sent anywhere by the app itself, apart from the cloud save described above if you are signed in. It is removed from your device when you uninstall the app.
Android backup. The app allows Android's Auto Backup, which means that, if you have Google backup turned on for your device, Android may keep a copy of the app's data in your Google Account backup and restore it when you reinstall the app or set up a new phone. That backup is managed by Google and you control it in your device's Google settings under Backup.
Permissions
The app requests Internet and Network State access to show ads, check the install, download question packs and support optional Play Games sign-in, Notifications access for the optional daily reminder, and Vibrate access for haptic feedback. Libraries the app uses add a few technical permissions of their own: access to your advertising ID, which ads and analytics use (you can reset or remove it in your device's Google settings), and Wake Lock and Foreground Service permissions that background work can use. The app does not run a foreground service or play music in the background. It does not request your camera, microphone, contacts, location or files.
Children's privacy
Djinny is not directed at children, and we do not knowingly collect personal information from children. If the app is configured for a child-directed audience, ad personalization is disabled accordingly.
Changes to this policy
If this policy changes, the updated version will be published at this same address with a new "last updated" date.
Contact
Questions about this policy can be sent to magnus.stenhaug.dev@gmail.com.
