Stand: 23. August 2026
Verantwortlich: Florian Olander · Kontakt: neon.minigames@gmail.com
Neon Minigames speichert Spieleinstellungen, Highscores, XP und Level, Tages-Streaks, Herausforderungen, Auszeichnungen, Discokugeln, erspielte Namensänderungsguthaben, Shop-Freischaltungen, angefangene Spielstände sowie lokale Kauf- und Wiederholungszustände auf deinem Gerät. Dazu können vorübergehend ausstehende, einem App-Konto zugeordnete Datensätze für die erneute Übertragung gewerteter Rundenergebnisse gehören. Für die Wiederherstellung nach einem Prozessabbruch kann dasselbe vollständige Ergebnis sowohl im Abschlussjournal des betroffenen Spielstands als auch in der kontobezogenen Sendewarteschlange liegen. Wenn ein Online-Profil aktiv ist, kann die App einen privaten Wiederherstellungsstand mit XP, Level, Streaks, Herausforderungen, Auszeichnungen, Discokugeln, erspielte Namensänderungsguthaben, Highscores, mit erspielter Währung gekauften Freischaltungen, dem gewählten Design und einem zahlenmäßigen Kauf-/Erstattungs-Abgleich in Firestore speichern. Google-Play-Kauftoken, lokale Kaufwarteschlangen und bezahlte Berechtigungen selbst werden nicht in diesen vom Client beschreibbaren Wiederherstellungsstand aufgenommen. Nicht synchronisierte Daten können beim Löschen der App-Daten oder bei einer Neuinstallation verloren gehen; lokal erzeugte Spielstände sind auf einem manipulierten Gerät veränderbar.
Für Profile, Bestenlisten, Freundschaften, Meldungen und Online-Partien verwendet die App Firebase Authentication und Cloud Firestore von Google. Firebase Authentication erstellt dabei zunächst eine zufällige anonyme Nutzer-ID. Eine freiwillige Verknüpfung mit Google Play Games kann diese App-Identität auf weiteren Geräten wiederherstellbar machen; sie ist für das Offline-Spielen nicht erforderlich, für serverseitig gewertete Ranglistenrunden jedoch erforderlich. In Firestore können diese ID, dein gewählter Spielername und Avatar, Bestenlisteneinträge, private Wiederherstellungsstände, Freundschafts-, Party- und Matchdaten, von dir gesendete Meldungen sowie begrenzte Anti-Cheat-Daten wie Spiel-ID, Punktzahl, Rundenzahl, aktive Spieldauer und abgeleitete Eingabe-Zusammenfassungen (zum Beispiel Anzahl direkter, sehr schneller, besonders zielgenauer oder technisch auffälliger Eingaben sowie Risikokategorien) gespeichert werden. Rohe Touch-Koordinaten, Bewegungsverläufe und Eingabegeräte-IDs werden dafür weder an Firestore übertragen noch dort gespeichert. Teile deshalb keine persönlichen oder vertraulichen Angaben als Spielername. Obwohl die Anmeldung technisch anonym erfolgt, bilden Spieler-ID, Name und Profil eine für dich sichtbare App-Identität und werden deshalb bei Löschanfragen wie ein App-Konto behandelt. Firebase kann außerdem technische Daten wie IP-Adresse und User-Agent zur Anmeldung, Sicherheit und Missbrauchsabwehr verarbeiten. Weitere Informationen: Datenschutz und Sicherheit in Firebase.
Die App aktiviert Firebase App Check mit dem Google-Play-Integrity-Dienst. Damit können Firebase-Dienste und Cloud Functions Anfragen der echten, über Google Play installierten App erkennen und – nach einer Überwachungsphase – nicht bestätigte Anfragen ablehnen. Google und Firebase können dafür technische App-, Geräte- und Integritätssignale sowie kurzlebige App-Check-Tokens verarbeiten. App Check dient dem Schutz der Firebase-Ressourcen; die Kaufprüfung ist ein getrennter Vorgang.
Während einer für die Bestenliste gewerteten Runde kann die App Bildschirmaufnahmen, Bildschirmfreigabe und fremde Einblendungen mit den von Android bereitgestellten Schutzfunktionen blockieren. Android kann der App außerdem lokal melden, ob die Runde aufgenommen wird oder Eingaben verdeckt bzw. technisch auffällig sind. Solche einzelnen Signale führen nicht zu einer Kontosperre; zusammen mit wiederholten Verhaltensmustern können sie nur dazu führen, dass die betreffende Runde nicht an die Bestenliste gesendet wird und gegebenenfalls zur Prüfung markiert wird. Lokaler Spielfortschritt bleibt erhalten.
Wenn servergeprüfte Ranglistenrunden aktiviert sind, fordert die App unmittelbar vor dem Senden eines Ergebnisses zusätzlich ein an genau dieses Ergebnis gebundenes, verschlüsseltes Play-Integrity-Token an. Das Token wird an unsere Firebase Cloud Function übermittelt und von dieser zur Entschlüsselung an Google Play Integrity gesendet. Geprüft werden, ob App und Version von Google Play erkannt werden, die Play-Lizenz, grundlegende Geräteintegrität sowie – soweit von Google ausgewertet – Hinweise auf gleichzeitig aktive Aufnahme-, Fernsteuerungs- oder Overlay-Apps. Die Cloud Function speichert nicht das Token und keine Liste installierter Apps, sondern nur eine grobe Prüfentscheidung, eine zufällige Rundenkennung und die oben beschriebenen abgeleiteten Rundendaten. Aus der IP-Adresse kann serverseitig ein Schlüsselwert für begrenzende Missbrauchszähler abgeleitet werden; die rohe IP-Adresse wird dabei nicht in Firestore geschrieben. Ist die Prüfung nur vorübergehend nicht verfügbar, kann die App den ausstehenden Ergebnisdatensatz lokal speichern und nach Wiederherstellung der Prüfung oder nach einem Neustart erneut senden. Ein vom Server endgültig abgelehntes oder negatives Prüfergebnis macht nur diese Runde zu einer lokalen, nicht gewerteten Runde und führt nicht allein zu einer Kontosperre.
Zahlungen werden von Google Play abgewickelt. Wir erhalten keine vollständigen
Zahlungs- oder Kreditkartendaten. Für die sichere Bereitstellung sendet die App die
Produkt-ID, das Google-Play-Kauftoken und eine zufällige Anfragenummer unter ihrer
authentifizierten App-Nutzer-ID an Cloud Functions in europe-west3. Beim
Start des Kaufs übermittelt sie Google Play außerdem eine aus Paketname und
App-Nutzer-ID abgeleitete, gehashte Kontobindung. Die Funktion lässt Status, Produkt,
Menge und diese Kontobindung über die Google Play Developer API prüfen. Erst danach
speichert sie einen
idempotenten Kaufdatensatz und die kumulierten Gutschriften bzw. Berechtigungen und
lässt Google Play den Kauf bestätigen oder verbrauchen. Gespeichert werden unter
anderem ein SHA-256-Hash des Tokens, Produkt, Kaufart, Prüf-/Abschlussstatus,
Zeitpunkte, eine gehashte Bestellkennung (falls vorhanden), die zugehörige
App-Nutzer-ID und Korrekturen wegen Verbrauch, Erstattung oder Widerruf. Rohe Tokens
werden nur so lange aufbewahrt, wie sie für Abschluss, Wiederherstellung oder erneute
Eigentumsprüfung erforderlich sind.
Nicht verbrauchbare Käufe werden beim App-Start und über „Käufe wiederherstellen“ erneut bei Google Play und dem Kauf-Backend geprüft. Google-Play- Echtzeitmeldungen und ein regelmäßiger Abgleich der widerrufenen Käufe verarbeiten Erstattungen und Chargebacks; die App gleicht daraufhin Berechtigungen und gekaufte Einheiten ab. Kaufdatensätze sind nicht direkt aus der App lesbar oder beschreibbar. Google verarbeitet und speichert Kaufdaten zusätzlich nach seinen eigenen Bedingungen. Weitere Informationen enthält die Google-Datenschutzerklärung.
Nach ausreichender Nutzung kann die App einmalig den In-App-Bewertungsdialog von Google Play anfragen. Google Play entscheidet, ob der Dialog angezeigt wird, und verarbeitet dabei eine freiwillig abgegebene Sternebewertung und optionalen Freitext. Eine abgegebene Bewertung wird im Play Store veröffentlicht oder in einem geschlossenen Test dem Entwickler über Google Play privat bereitgestellt und kann in deinem Play-Store- oder Google-Konto gelöscht werden. Die App selbst erhält über die Review-Schnittstelle weder den Inhalt noch eine Information darüber, ob der Dialog angezeigt oder etwas abgesendet wurde, und speichert nur lokal, dass die Anfrage bereits erfolgt ist.
Du kannst einen persönlichen Einladungslink teilen. Er enthält einen zufällig
erzeugten, siebenstelligen Einladungscode, der zu deiner App-Identität gehört und
keine Rückschlüsse auf deinen Namen oder dein Gerät zulässt. Wird die App über einen
solchen Link installiert, ruft sie einmalig den Wert der Google-Play-Install-Referrer-
Schnittstelle ab. Dieser Wert ist gerätebezogen. Er wird ausschließlich an die
Cloud Function performSocialAction in europe-west3
übermittelt, dort auf einen enthaltenen Einladungscode geprüft und danach verworfen —
gespeichert werden nur der erkannte Einladungscode, die App-Identität der eingeladenen
und der einladenden Person, der Zeitpunkt sowie die Anzahl erfolgreicher Einladungen.
Installations- oder Klickzeitpunkte und Werbekampagnendaten liest die App nicht aus.
Die Abfrage erfolgt genau einmal pro Installation; danach fragt die App Google Play
nicht erneut. Die daraus entstehende Gutschrift wird als serverseitiges
Gutschrift-Dokument abgelegt, das nur das jeweilige Konto lesen kann. Diese Daten
dienen allein dazu, eine Einladung genau einmal zuzuordnen und Mehrfachgutschriften
sowie Selbsteinladungen zu verhindern. Sie werden mit dem App-Konto gelöscht (siehe
„App-Konto und Daten löschen“).
Ein geschütztes Administrationskonto kann deinem App-Konto einzelne Nachrichten senden, zum Beispiel eine Support-Antwort oder eine Entschädigung für ein technisches Problem. In Firestore werden dafür deine App-Nutzer-ID, Betreff und Inhalt der Nachricht, eine gegebenenfalls angebotene Anzahl Discokugeln sowie Erstellungs-, Lese-, Einlösungs- und Ablaufzeitpunkt gespeichert. Nur dein Konto kann die Nachricht lesen, als gelesen markieren oder löschen. Eine sichtbare Nachricht erhält einen Ablaufzeitpunkt 180 Tage nach der Erstellung; Firestore TTL löscht sie anschließend, jedoch nicht sekundengenau. Du kannst sie vorher selbst löschen.
Wenn du eine beigefügte Belohnung einlöst, speichert das Backend außerdem einen unveränderlichen Beleg aus Nachrichtenkennung, App-Nutzer-ID, Betrag und Zeitpunkt sowie die kumulierte Summe der Postfach-Belohnungen. Dieser Beleg bleibt auch nach dem Löschen oder Ablaufen der sichtbaren Nachricht erhalten, damit eine verlorene Antwort, eine Neuinstallation oder ein zweites Gerät die Belohnung weder verlieren noch doppelt gutschreiben kann. Beleg und kumulierte Summe werden mit dem App-Konto gelöscht und sind im Kontodatenexport enthalten.
Die kostenlose Version zeigt Werbung über Google AdMob. AdMob kann dabei Geräteinformationen wie Werbe-ID, IP-Adresse und ungefähre Standortinformationen verarbeiten, um Anzeigen bereitzustellen, zu messen und Missbrauch zu verhindern. Im EWR wird über Google UMP die erforderliche Auswahl zur Einwilligung abgefragt. Wenn Google für dein Gerät eine erneut aufrufbare Auswahl verlangt, erscheint in den App-Einstellungen „Datenschutzoptionen für Werbung“, über den du die Auswahl später ändern kannst. Die App verwendet kein Firebase Analytics. Details: Google-Datenschutzerklärung und AdMob-Hinweise.
Eine tägliche Erinnerung wird nur nach deiner Auswahl und der Android-Berechtigung lokal auf dem Gerät geplant. Die App liest dafür die aktuelle Geräte-Zeitzone; sie sendet weder den Erinnerungstext noch die Zeitzone an einen eigenen Server. Musik und Soundeffekte werden aus mitgelieferten Dateien lokal abgespielt. Erfolg oder Fehler dieser Funktionen kann nur als der oben beschriebene feste, aggregierte Leistungs-Messwert erscheinen.
Ist diese Erinnerung eingeschaltet, meldet die App das Gerät zusätzlich für eine einzige Push-Nachricht an: „Du bist dran", wenn in einem Online-Duell der Gegner gezogen hat. Dafür wird ein Firebase-Cloud-Messaging-Registrierungstoken erzeugt und zusammen mit der gewählten Sprache und dem Zeitpunkt unter deiner App-Identität gespeichert. Ein solches Token ist gerätebezogen und die Adresse, an die eine Nachricht zugestellt wird; es ist ausschließlich für dein eigenes Konto lesbar. Schaltest du die Erinnerung aus, wird das Token gelöscht und das Gerät nicht mehr angesprochen. Andere Push-Nachrichten – Werbung, Neuigkeiten, Rückholaktionen – werden nicht gesendet. Die Zustellung selbst übernimmt Google Firebase Cloud Messaging; Tokens werden mit dem App-Konto gelöscht (siehe „App-Konto und Daten löschen").
Nur die veröffentlichte Release-Version aktiviert nach erfolgreichem Firebase-Start Firebase Crashlytics und Firebase Performance Monitoring. Test- und Entwicklungsbuilds senden diese Daten nicht. Crashlytics verarbeitet Absturz- und ANR-Berichte, Stacktraces, App-/Betriebssystem-/Geräteinformationen, Crashlytics-Installations-UUIDs und Firebase-Installations-IDs. Die App entfernt aus selbst gemeldeten Flutter-Fehlern den freien Fehlermeldungstext und hängt weder Spieler-ID oder -name noch Freundschafts-, Match-, Kaufprodukt-, Kauftoken- oder Anfragedaten an. Mitgesendet wird ein fester, im Quelltext abschließend festgelegter Satz technischer Zustandsangaben: ob Firebase gestartet ist, ob die Kontoanmeldung abgeschlossen ist, die Art der Anmeldung (anonym oder Google Play Games, nie welches Konto), der Bereitschaftsstand von App Check, der zuletzt beobachtete Status gewerteter Runden, der App-Lebenszyklus sowie der Name eines betroffenen Plattformkanals. Jeder dieser Werte stammt aus der App selbst und wird vor dem Senden auf einen festen Zeichenvorrat und eine feste Länge begrenzt. Native Absturzberichte werden vom SDK nach dessen technischem Format verarbeitet.
Performance Monitoring erfasst automatisch App-Start, Bildschirmdarstellung, Vorder-/Hintergrundstatus, CPU-/Speichernutzung der App und HTTPS-Anfragen (Dauer, Antwort-/Anfragegröße sowie URL-Muster ohne URL-Parameter). Hinzu kommen feste, aggregierte Messwerte für Start, Kontoverbindung und Fortschrittsabgleich, Käufe, gewertete Runden, Spielersuche, Benachrichtigungen, Werbung und Bilddarstellung. Es werden keine freien Attribute, Nutzer- oder Match-IDs, Namen, Kauftoken oder Anfrageinhalte angehängt. Firebase kann Installations-ID, App-Version, Gerät, Betriebssystem und die aus der IP-Adresse abgeleitete Länderzuordnung zur Aggregation verwenden. Diese Diagnose dient nur der Fehlerbehebung, Sicherheit und Verbesserung von Stabilität und Leistung. Weitere Informationen: Datenschutz und Sicherheit in Firebase.
Die Verarbeitung dient dem Betrieb der Spiele- und Online-Funktionen, der Bereitstellung und Wiederherstellung von Käufen und Werbung, der Stabilitäts- und Leistungsdiagnose sowie der Sicherheit und Missbrauchsabwehr. Empfänger bzw. Auftragsverarbeiter können insbesondere Google Firebase, Google Play und Google AdMob sein. Dabei kann eine Verarbeitung außerhalb der EU/des EWR nach den von Google angegebenen Datenschutzmechanismen stattfinden.
Lokale Daten bleiben grundsätzlich bis zum Zurücksetzen der App-Daten oder zur Deinstallation gespeichert. Online-Profil, privater Wiederherstellungsstand, Bestenlisten- und bestehende Freundschaftsdaten bleiben grundsätzlich bis zur Löschung im normalen App-Ablauf oder bis zur Kontolöschung gespeichert. Warteschlangeneinträge verfallen nach etwa zehn Minuten, Matches nach 30 Tagen, Partys einschließlich Mitgliedern und Ergebnisbelegen nach sieben Tagen, offene Freundschaftsanfragen nach 30 Tagen, Namensmeldungen und Postfachnachrichten nach 180 Tagen. Belege für mit erspieltem Guthaben bezahlte Namensänderungen werden zur Wiederholungssicherheit höchstens zwei Jahre aufbewahrt. Kurzlebige gewertete Runden und zugehörige Ratenbegrenzungsdaten sind mit Firestore-TTL versehen: Ratenbegrenzungsdaten grundsätzlich drei Tage, aggregierte Nutzung grundsätzlich 35 Tage. Abgeschlossene Löschbelege werden 30 Tage, unveränderliche Administrations-Prüfprotokolle höchstens 400 Tage aufbewahrt. TTL-Löschungen erfolgen nicht sekundengenau.
Crashlytics bewahrt Stacktraces, zugehörige Minidump-Auszüge und Installationskennungen nach den Firebase-Angaben 90 Tage auf. Performance Monitoring bewahrt IP-bezogene Ereignisse 30 Tage und installationsbezogene bzw. de-identifizierte Leistungsdaten 60 Tage auf, bevor die Entfernung aus Live- und Sicherungssystemen beginnt. Kaufkonten und rohe Tokens werden bei der Kontolöschung entfernt; gehashte Tokenkennungen und pseudonymisierte Mindestangaben des Kaufledgers können zur Verhinderung einer erneuten Gutschrift und zur Betrugsabwehr weiter aufbewahrt werden. Kaufunterlagen bei Google Play unterliegen zusätzlich Googles und gesetzlichen Aufbewahrungsfristen.
In der App: Öffne Einstellungen und wähle Mein Konto löschen. Nach zwei ausdrücklichen Bestätigungen wird die Löschung serverseitig eingereiht und ohne weiteres Zutun ausgeführt; unter Status der Löschanfrage kannst du den Fortschritt abfragen, auch nachdem die Anmeldung bereits entfernt wurde. Bleibt die automatische Ausführung dauerhaft erfolglos, wird sie von Hand abgeschlossen; die App sagt dir das ausdrücklich, statt dich weiter warten zu lassen. Ist die Löschung abgeschlossen, entfernt die App auf diesem Gerät den gespeicherten Spielernamen und ausstehende kontobezogene Warteschlangen, damit nichts davon unter einem neuen anonymen Konto erneut veröffentlicht wird. Dein lokaler Spielfortschritt bleibt auf dem Gerät und lässt sich über die Android-Systemeinstellungen entfernen.
Eine maschinenlesbare Kopie der zu deinem Konto gehörenden Daten erzeugst und teilst du ebenfalls in Einstellungen über Meine Kontodaten exportieren.
Per E-Mail: Du kannst die Löschung deines anonymen Profils in Neon Minigames und der damit verknüpften Online-Daten auch so anfordern:
Falls die App bereits deinstalliert ist und die Spieler-ID nicht mehr vorliegt, sende uns stattdessen den letzten Spielernamen und alle noch verfügbaren Angaben; wir helfen bei der Zuordnung. Zur Verhinderung doppelter Kaufgutschriften und zur Betrugsabwehr bleibt der Hash eines bereits verwendeten Kauftokens ohne direkt zuordenbare Nutzer-ID erhalten; die Besitzer-ID im Kaufledger wird unumkehrbar pseudonymisiert. Noch nicht abgelaufene Administrations-Prüfprotokolle werden ebenfalls pseudonymisiert. Ein token-geschützter technischer Abschlussbeleg der Löschung verfällt nach 30 Tagen. Eine Kontolöschung storniert oder erstattet keine Käufe bei Google Play. Google-Play-Kaufunterlagen können wir nicht löschen. Lokale Daten entfernst du zusätzlich über die Android-Systemeinstellungen durch Löschen der App-Daten oder durch Deinstallation.
Nach anwendbarem Datenschutzrecht hast du insbesondere Rechte auf Auskunft, Berichtigung, Löschung, Einschränkung und Widerspruch sowie gegebenenfalls ein Beschwerderecht bei einer Datenschutzaufsichtsbehörde. Das Backend unterstützt einen authentifizierten, abschnittsweise paginierten Export der zu deinem Konto gehörenden Profil-, Sozial-, Match-, Postfach-, Melde-, Ranglisten- und Kaufkontodaten; interne Roh-Tokens und Betrugsmerkmale sind davon ausgenommen. Fordere eine Kopie oder eine andere Datenschutzauskunft unter neon.minigames@gmail.com.
Last updated: August 23, 2026
Controller: Florian Olander · Contact: neon.minigames@gmail.com
Neon Minigames stores game settings, high scores, XP and level, daily streaks, challenges, awards, disco balls, earned name-change credits, shop unlocks, unfinished game saves, and local purchase and replay state on your device. This can temporarily include pending, account-bound records used to retry transmission of ranked-round results. To recover from a process interruption, the same complete result can be present both in the affected game's settlement journal and in its account-scoped transmission outbox. When an online profile is active, the app may store a private recovery snapshot in Firestore containing XP, level, streaks, challenges, awards, disco balls, earned name-change credits, high scores, unlocks bought with earned currency, the selected theme, and numeric purchase/refund reconciliation anchors. Google Play purchase tokens, the local purchase queue, and paid entitlements themselves are excluded from this client-writable recovery snapshot. Data that has not been synced may be lost when app data is cleared or the app is reinstalled; locally generated game state can be modified on a compromised device.
For profiles, leaderboards, friendships, reports, and online matches, the app uses Google Firebase Authentication and Cloud Firestore. Firebase Authentication initially creates a random anonymous user ID. Optional Google Play Games linking can make that app identity recoverable on another device; it is not required for offline play but is required for server-ranked leaderboard rounds. Firestore may store this ID, your chosen player name and avatar, leaderboard entries, private recovery snapshots, friendship, party, and match data, reports you submit, and limited anti-cheat data such as game ID, score, round count, active play time, and derived input summaries (for example counts of direct, very fast, unusually precise, or technically unusual inputs and broad risk categories). Raw touch coordinates, movement paths, and input-device identifiers are not sent to or stored in Firestore for this purpose. Do not use personal or confidential information as your player name. Although sign-in is technically anonymous, the player ID, name, and profile form a user-facing app identity and are therefore treated as an app account for deletion requests. Firebase may also process technical data such as IP address and user agent for authentication, security, and abuse prevention. See Privacy and Security in Firebase.
The app activates Firebase App Check with Google Play Integrity. This lets Firebase services and Cloud Functions recognize requests from the genuine Play-installed app and, after a monitoring period, reject requests that cannot be attested. Google and Firebase may process technical app, device, and integrity signals and short-lived App Check tokens for this purpose. App Check protects Firebase resources; purchase verification is a separate process.
During a leaderboard-eligible round, the app may use Android protections to block screenshots, screen sharing, and third-party overlays. Android may also locally report that the round is being recorded or that input is obscured or technically unusual. No single such signal results in an account ban. Combined with repeated behavioral patterns, it can only cause that round to be withheld from the leaderboard and, where applicable, marked for review; local game progress remains unchanged.
If server-verified ranked rounds are enabled, immediately before submitting a result the app also requests an encrypted Play Integrity token that is bound to that specific result. The token is sent to our Firebase Cloud Function, which sends it to Google Play Integrity for decryption. The checks cover whether Google Play recognizes the app and version, Play licensing, basic device integrity, and, when evaluated by Google, signals that another app is actively capturing, remotely controlling, or overlaying the game. The Cloud Function does not store the token or a list of installed apps. It stores only a coarse verification decision, a random round identifier, and the derived round data described above. The server may derive a keyed value from the IP address for bounded abuse-rate counters; the raw IP address is not written to Firestore. If verification is only temporarily unavailable, the app can store the pending result record locally and retry it after verification recovers or after an app restart. A definitive server rejection or negative verdict only makes that round local and unranked and does not by itself cause an account ban.
Payments are processed by Google Play. We do not receive complete payment or card
details. For secure delivery, the app sends the product ID, Google Play purchase token,
and a random request ID under its authenticated app user ID to Cloud Functions in
europe-west3. When launching the purchase, it also gives Google Play a
hashed account binding derived from the package name and app user ID. A function asks
the Google Play Developer API to verify state, product, quantity, and that account
binding. Only then does
it persist an idempotent ledger entry and cumulative units or entitlements and ask
Google Play to acknowledge or consume the purchase. Stored data includes a SHA-256
token hash, product, purchase kind, verification/finalization state, timestamps, a
hashed order ID when present, the associated app user ID, and consumption, refund, or
revocation corrections. Raw tokens are retained only while needed for finalization,
restore, or renewed ownership checks.
Non-consumable purchases are rechecked with Google Play and the purchase backend at startup and when you select “Restore purchases.” Google Play real-time notifications and a periodic voided-purchase reconciliation process refunds and chargebacks, after which the app reconciles entitlements and purchased units. Purchase ledger records cannot be read or written directly by the app. Google also processes and retains purchase data under its own terms. See the Google Privacy Policy.
After sufficient use, the app may request Google Play's in-app review dialog once. Google Play decides whether the dialog appears and processes a star rating and optional free-text review that you choose to submit. A submitted review is published on Play or, on a closed track, made available privately to the developer through Google Play, and can be deleted in your Play Store or Google Account. The app itself receives neither the content nor any API indication that the dialog appeared or a review was submitted, and stores only a local flag that the request was made.
You can share a personal invite link. It carries a randomly generated seven-character
invite code belonging to your app identity, from which your name and your device cannot
be derived. When the app is installed through such a link, it reads the value of the
Google Play Install Referrer interface exactly once. That value is device-linked. It is
sent only to the performSocialAction Cloud Function in
europe-west3, checked there for an invite code, and then discarded — what is
stored is the recognized invite code, the app identities of the invited and the inviting
account, the time, and a count of successful invitations. The app does not read install
or click timestamps or advertising campaign data. The value is requested exactly once per
installation; the app does not ask Google Play again afterwards. The resulting bonus is
written as a server-side grant document that only the account it belongs to can read.
This data is used solely to attribute an invitation exactly once and to prevent duplicate
credits and self-invitations. It is deleted together with the app account (see “Deleting
your app account and data”).
A protected administrator account can send an individual message to your app account, for example a support reply or compensation for a technical problem. Firestore stores your app user ID, the message title and body, any offered number of disco balls, and the creation, read, claim, and expiry timestamps. Only your account can read, mark as read, or delete the message. A visible message receives an expiry time 180 days after creation; Firestore TTL deletes it afterwards, but not instantaneously. You can delete it sooner.
If you claim an attached reward, the backend also stores an immutable receipt containing the message ID, app user ID, amount, and time, together with the account's cumulative mailbox-reward total. The receipt remains after the visible message is deleted or expires so that a lost response, reinstall, or second device can neither lose nor grant the reward twice. The receipt and cumulative total are deleted with the app account and are included in the account-data export.
The free version uses Google AdMob. AdMob may process device information such as the advertising ID, IP address, and approximate location to serve and measure ads and to prevent abuse. In the EEA, Google UMP presents the required consent choices. When Google requires the choice to remain revisitable for your device, the app shows an “Ad privacy options” entry in Settings so you can change it later. The app does not use Firebase Analytics. See the Google Privacy Policy and AdMob information.
A daily reminder is scheduled locally on the device only after your choice and the Android permission. The app reads the current device time zone for scheduling; it does not send the reminder text or time zone to a server operated by us. Music and sound effects play locally from bundled files. Success or failure of these features may appear only as the fixed aggregate performance measurement described below.
While that reminder is switched on, the app additionally registers the device for a single kind of push message: “Your turn”, when an opponent has played in an online duel. A Firebase Cloud Messaging registration token is created for this and stored under your app identity together with your chosen language and the time. Such a token is device-linked and is the address a message is delivered to; it is readable only by your own account. Switching the reminder off deletes the token and the device is no longer contacted. No other push messages — advertising, news, win-back campaigns — are sent. Delivery itself is performed by Google Firebase Cloud Messaging; tokens are deleted together with the app account (see “Deleting your app account and data”).
Only the published release build enables Firebase Crashlytics and Firebase Performance Monitoring after Firebase starts successfully. Test and development builds do not send this data. Crashlytics processes crash and ANR reports, stack traces, app/OS/device information, Crashlytics installation UUIDs, and Firebase installation IDs. For Flutter errors reported by the app, the free-form exception message is removed, and the app does not attach a player ID or name, friend or match identifier, purchase product or token, request payload, or user-authored text. Reports do carry a fixed set of technical state values, enumerated exhaustively in the source: whether Firebase has started, whether account restoration has finished, the kind of sign-in (anonymous or Google Play Games, never which account), App Check readiness, the last observed ranked-round status, the app lifecycle state, and the name of an affected platform channel. Each of these originates in the app itself and is reduced to a fixed character set and length before it is sent. Native crash reports are processed in the SDK's technical format.
Performance Monitoring automatically measures app startup, screen rendering, foreground/background state, app CPU/memory usage, and HTTPS requests (duration, request/response size, and URL patterns without URL parameters). Fixed aggregate measurements also cover startup, account connection and progress sync, purchases, ranked rounds, matchmaking, notifications, ads, and Flutter frame rendering. The app adds no free-form attributes, user or match IDs, names, purchase tokens, or request contents. Firebase may use the installation ID, app version, device, OS, and country derived from IP to aggregate the data. These diagnostics are used only for troubleshooting, security, and improving stability and performance. See Privacy and Security in Firebase.
Data is processed to operate game and online features, deliver and restore purchases, provide advertising, diagnose stability and performance, and protect the services against abuse. Recipients or processors may include Google Firebase, Google Play, and Google AdMob. Processing outside the EU/EEA may take place subject to the safeguards described by Google.
Local data generally remains until app data is cleared or the app is uninstalled. Online profile, private recovery, leaderboard, and established friendship data generally remains until it is removed in the normal app flow or the account is deleted. Queue entries expire after about ten minutes, matches after 30 days, parties including members and score receipts after seven days, pending friend requests after 30 days, and name reports and mailbox messages after 180 days. Replay receipts for name changes bought with earned credits are retained for at most two years. Short-lived ranked-round and rate-limit documents use Firestore TTL: rate-limit data is generally retained for three days and aggregate usage for 35 days. Completed deletion receipts remain for 30 days, and immutable administrator audit records for at most 400 days. TTL deletion is not instantaneous.
According to Firebase, Crashlytics retains stack traces, associated extracted minidump data, and installation identifiers for 90 days. Performance Monitoring retains IP-associated events for 30 days and installation-associated or de-identified performance data for 60 days before removal from live and backup systems begins. Purchase-account records and raw tokens are removed on account deletion; hashed token identifiers and pseudonymized minimal ledger data may be retained to prevent duplicate grants and combat fraud. Records held by Google Play are also subject to Google's and applicable legal retention requirements.
In the app: open Settings and choose Delete my account. After two explicit confirmations the deletion is queued on the server and carried out without any further action from you; Deletion request status reports the progress, and keeps working after the sign-in itself has been removed. If the automated run keeps failing, the deletion is finished by hand, and the app says so plainly rather than leaving you waiting. Once it has completed, the app clears the stored player name and any pending account-bound queues from this device, so that none of it is republished under a new anonymous account. Your local game progress stays on the device and can be removed through the Android system settings.
A machine-readable copy of your account data is produced and shared from Settings as well, with Export my account data.
By email: you can also request deletion of your anonymous Neon Minigames profile and its associated online data as follows:
If the app has already been uninstalled and the Player ID is no longer available, send the last player name and any details you still have; we will help identify the profile. To prevent duplicate purchase grants and combat fraud, a hash of an already used purchase token remains without a directly identifying user ID, and ledger ownership is irreversibly pseudonymized. Unexpired administrator audit records are also pseudonymized. A token-protected technical deletion-completion receipt expires after 30 days. Account deletion does not cancel or refund Google Play purchases, and we cannot delete purchase records held by Google Play. Remove local data separately by clearing the app's data in Android settings or uninstalling the app.
Depending on applicable data-protection law, your rights may include access, correction, deletion, restriction, objection, and the right to lodge a complaint with a supervisory authority. The backend supports an authenticated, section-by-section paginated export of account-related profile, social, match, mailbox, report, leaderboard, and purchase-account data; internal raw tokens and fraud signals are excluded. To request a copy or make another privacy request, email neon.minigames@gmail.com.