Your game save is local
Your profile, username, progress, currencies, cosmetics, and settings are stored on this device. Type Race does not currently provide cloud save. On Android, Friends uploads the multiplayer information described below.
This policy explains what Type Race keeps on your device, what is sent to service providers, how Friends multiplayer on Android, purchases, subscriptions, and platform game services work, and how to exercise your privacy choices.
Your profile, username, progress, currencies, cosmetics, and settings are stored on this device. Type Race does not currently provide cloud save. On Android, Friends uploads the multiplayer information described below.
Firebase receives app-use and crash information linked to installation or device identifiers. We do not intentionally include typed text or your local username in app-authored Analytics or Crashlytics fields.
Google Play or Apple processes payment details. Type Race and RevenueCat receive purchase and subscription records, not your card or bank details.
Section 1
This Privacy Policy applies to Type Race on Android (package dev.giamma.type_racer) and iOS/iPadOS (bundle giamma.studios.TypeRace). Platform-specific features are identified below. “Type Race”, “we”, “us”, and “our” refer to Gian Marco, the independent developer and data controller for Type Race.
This standalone HTML page contains no Type Race analytics script, advertising tag, cookie, or external font. The provider that hosts the uploaded page may still receive normal web-server information, such as an IP address and request metadata, under its own terms.
Section 2
Type Race needs a local save to run the game. The following information is stored in app-private storage and is not a cloud profile. On Android, Friends also uploads the multiplayer information described below; normal saved game progress and earned balances remain local.
Local username, level, experience, rating, gold, gems, game statistics, recent match results, challenge status, and unlocked or equipped content.
Story reading position, Tower progress and checkpoints, daily-gift state, locally simulated race results, and active race recovery state.
Interface language, text size, sound, music, vibration, cosmetic choices, and whether local daily-gift reminders are enabled.
Premium status cache, migration state, and non-reversible hashes or ledger entries used to prevent duplicate gem grants and recover interrupted purchases.
On Android, core player data uses encrypted preferences. Android backup is disabled, and the encrypted player file is excluded from cloud backup and device transfer. Operational caches may use standard Android app storage. On iOS/iPadOS, saves and purchase receipts are stored in the app’s private storage. Apple device backups may include app data according to your device and backup settings; Type Race does not operate a cloud-save or cross-platform account service.
Typed characters are processed locally to score a race. Type Race does not intentionally include the text you type, the playable phrase itself, or your local username in app-authored Analytics or Crashlytics fields. Local completed match records contain aggregate results rather than the phrase text. Friends room records include the game-provided race phrase as described below.
Section 3
“Collected” below includes information transmitted from the device to us or to a service provider acting for the app. Not every item is present in every session. On iOS/iPadOS, Firebase Analytics and Crash Reports require your separate opt-in choices; purchase processing through Apple and RevenueCat is independent of those choices.
| Feature | Information | Why it is used | Recipient |
|---|---|---|---|
| Play with Friends (Android) | Automatically assigned player identifier, nickname, appearance, average typing speed, and room, race, connection, progress, and result data. See the Friends disclosure for the full details. | Connect players, synchronize races, and handle reconnections and results. | Google Firebase Authentication and Firebase Realtime Database; other players as described below |
| App analytics | App-instance ID; general location derived from the IP address; app, device, operating-system, language, session, screen, and lifecycle information. On Android, this can also include Android Advertising ID, Privacy Sandbox attribution identifiers when available, and install-referrer information. The iOS/iPadOS app does not enable Firebase IDFA or IDFV collection. | Measure use, installations, retention, and overall product performance. | Google Analytics for Firebase |
| Gameplay analytics | Game mode, race start/end/abandon events, input-device category, WPM, accuracy, streaks, duration, result, level, rating, balances, rewards, progression, challenges, story identifiers/progress, Tower state, cosmetic or virtual-item activity, and app locale. On Android, also Friends activities described below. | Balance difficulty, understand progression, and improve the game. | Google Analytics for Firebase |
| Paywall, purchase, and reminder analytics | Paywall views and closes, selected plan and offer type, checkout start, product ID, purchase/subscription events and price, share-sheet open, notification eligibility and permission state, and local reminder schedule/post/click/dismiss/claim events. | Operate and evaluate purchases, reminders, and user-interface flows. | Google Analytics for Firebase |
| Crash reporting | Crash and exception stack traces, timestamps, app state, installation and session identifiers, app version, device model, operating system, hardware and memory metadata, and Analytics breadcrumbs before a crash. | Diagnose crashes, prevent regressions, and keep the app reliable. | Firebase Crashlytics |
| Crash context added by Type Race | Game type, phrase ID and length (not phrase text), whether a game ended, level, rating, gold, gems, locale, and IDs of unlocked or selected cosmetics, soundtracks, and features. | Reproduce and fix failures that depend on the current game state. | Firebase Crashlytics |
| Subscriptions and in-app purchases | Product IDs, Google Play base-plan IDs where applicable, offer/trial details, price/currency, purchase and transaction IDs, purchase token or receipt, purchase/subscription history, renewal, cancellation, refund, billing or expiration state, restore/sync results, and entitlement status. | Complete purchases, prevent duplicate fulfillment, validate access, restore Premium, handle cancellations or expiry, and prevent fraud. | Google Play Billing on Android; Apple App Store/StoreKit on iOS/iPadOS; RevenueCat on both |
| RevenueCat customer and offering data | A randomly generated anonymous App User ID; device type, operating system, app and SDK version, locale/currency, first/last-seen and request times, and country from the transaction or request IP address. RevenueCat states that it drops the IP address after determining the country. On Android, this also includes Offerings, experiment assignment, and custom-paywall impressions. | Record and validate purchases, support entitlement checks and restores, and provide purchase/subscription analytics. Android also uses RevenueCat to supply products and run custom-paywall experiments. | RevenueCat |
| Google Play Games | When the user is signed in, Type Race transiently accesses the Play Games player ID, reads and writes achievement progress, and submits the WPM record and in-game rating to leaderboards. Google associates these with the user’s Play Games profile. | Provide optional achievements and leaderboards and synchronize their state. | Google Play Games Services |
| Apple Game Center (iOS/iPadOS) | When signed in, Type Race accesses the game-specific player ID, reads and reports achievement progress, and submits WPM and rating scores to Apple leaderboards. Apple associates these with your Game Center profile. | Provide optional achievements and leaderboards. | Apple Game Center |
| Trusted daily-gift time | A secure request to Cloudflare necessarily includes the device’s IP address and standard request/network metadata. The response can contain network details, but Type Race reads and retains only the server timestamp. | Reduce clock manipulation and determine daily-gift availability. | Cloudflare |
| Support and sharing | If you send feedback, we receive the email address, message, and attachments you choose to send. If you use Share, the selected external app receives the text/link or result image you choose to share; app-authored sharing analytics record the share action, not the shared content. | Respond to support requests or carry out the action you requested. | Developer email provider and the external app you choose |
What we do not intentionally collect: your real name, phone number, postal address, contacts, photos, videos, files, camera or microphone content, precise GPS location, health or biometric data, Google or Apple password, or payment-card and bank-account details. An email address is received only if you choose to contact us.
Android Friends associates your nickname with its Firebase Authentication player identifier in room records. The exclusion of your local username, playable phrase, and typed text applies specifically to app-authored Analytics and Crashlytics fields. We may be unable to locate other pseudonymous provider records unless you give us appropriate purchase or support information. Type Race does not create a shared Android/iOS customer login. Restoring store purchases may associate RevenueCat anonymous identifiers with the same purchase history.
Section 4
When you create or join a Friends room, Type Race uses Google Firebase Authentication and Firebase Realtime Database to operate the multiplayer game. Firebase assigns a player identifier without requiring an email address or password. This identifier can persist between sessions; it is not a fully anonymous or untraceable identity.
We transmit and store:
We use this information to connect players, synchronize races, display appearances and standings, configure computer opponents, and handle reconnections and results. Friends transmits progress and error counts rather than the actual characters you type.
Other players see your nickname, appearance, race progress, and results. Room information can be accessed by authenticated users who have the room code. Limited expired-room records can also be retrieved by authenticated app clients performing cleanup. Use a nickname that does not reveal personal information and share room codes carefully.
Google Firebase also processes technical connection information, including IP addresses and information about the connecting software, to provide and protect its services. See Firebase’s privacy and security information.
Our existing Firebase Analytics integration records Friends activities such as creating and joining rooms, starting and completing races, player and computer-opponent counts, race language, and completion counts. These custom event fields do not contain nicknames, room codes, Firebase Authentication player identifiers, race phrases, or typed text. The existing Analytics disclosures and platform-specific controls continue to apply.
Room records may remain after a race ends or a player leaves. The app attempts to remove rooms during certain departure and expiry events. It also performs limited cleanup when new rooms are created, targeting rooms that expired more than six hours earlier. This is not a guarantee of deletion within six hours; records can remain longer.
Closing or uninstalling the app does not itself delete previously uploaded room records or Firebase authentication records. Authentication records are separate from room records and may remain after a room is deleted. Normal saved game progress and earned balances remain covered by the local-data section of this policy.
For a Friends data-access or deletion request, contact dev.store.feedback@gmail.com. Identify Friends as the relevant feature and, if available, provide the room code, approximate date of play, and nickname. We may request additional information reasonably necessary to locate the records and verify the request.
Section 5
Where data-protection law requires a legal basis, we rely on the basis appropriate to the feature and context:
| Purpose | Typical legal basis |
|---|---|
| Run the game, save local progress, deliver purchases and Premium benefits, restore entitlements, operate requested Friends multiplayer games on Android, and provide requested Play Games or Game Center features. | Performance of our agreement with you and steps taken at your request; consent where an optional account or permission requires it. |
| Prevent duplicate grants, validate purchases and daily rewards, secure the service and multiplayer games, address abuse or fraud, and keep records required by law. | Legitimate interests and compliance with legal obligations. |
| Measure app use, improve game balance, understand paywall performance, and develop features through Firebase Analytics and RevenueCat analytics. | Consent where applicable law requires it; otherwise our legitimate interests in understanding and improving Type Race. |
| Diagnose crashes and preserve app reliability with Crashlytics. | Our legitimate interests in security, quality, and reliable operation. |
| Send a daily-gift reminder. | Your choice to enable reminders and your device’s notification permission. |
| Answer feedback, privacy, or support messages. | Your request, our legitimate interests in support, and legal obligations. |
On iOS/iPadOS, Firebase Analytics and Crash Reports use your separate consent choices. RevenueCat may connect when the app initializes or refreshes purchase status, even before a purchase and with Firebase options off. Apple can also send purchase and subscription updates directly to RevenueCat, including renewals, cancellations, refunds, and billing issues.
You may object to processing based on legitimate interests. Where processing depends on consent, you may withdraw consent without affecting processing already carried out lawfully. Some processing—such as transmitting a purchase token for validation—is necessary to deliver or restore the purchased feature.
Section 6
We disclose data only as needed to operate Type Race, carry out a user-requested action, comply with law, or protect rights and security. The current Android and iOS/iPadOS apps do not display third-party advertising. We do not sell personal information.
On Android, Google Play Billing processes checkout and manages subscriptions, and Google Play Games provides optional achievements and leaderboards. On both platforms, Firebase provides Analytics, Installations, Sessions, and Crashlytics, subject to the platform-specific collection controls described in this policy. On Android, Friends also uses Firebase Authentication and Firebase Realtime Database to operate multiplayer games, as described in the Friends section.
Google Privacy Policy · Firebase privacy and security · How Google uses data from partner apps
On iOS/iPadOS, Apple’s App Store and StoreKit process checkout, purchase history, subscriptions, and restores. Apple sends transaction and subscription updates to RevenueCat. Game Center provides optional achievements and leaderboards.
Apple Privacy Policy · App Store and Privacy · Game Center and Privacy
RevenueCat processes in-app purchase and subscription records on both platforms for validation, entitlements, restoration, and purchase/subscription analytics. Android also uses its Offerings and experiments. RevenueCat uses subprocessors to provide its service.
RevenueCat Privacy Policy · RevenueCat Data Processing Addendum
Type Race calls Cloudflare’s secure trace endpoint to read a trusted timestamp for the daily-gift feature. Cloudflare processes the associated network request under its own privacy terms.
Your device’s share sheet, email app, browser, and Google Play or Apple subscription controls are separate services. They receive information only when you choose to open or send it, and their own privacy terms apply.
We may also disclose information if reasonably necessary to comply with law or a valid legal process, prevent fraud or security incidents, protect users or legal rights, or complete a business transfer. If ownership of Type Race changes, the recipient must handle personal data consistently with this policy and applicable law.
Type Race does not intentionally share personal information for cross-context behavioral advertising. On Android, Firebase may collect advertising and attribution identifiers when available; those identifiers are used for measurement subject to Google’s controls and terms.
Section 7
Type Race can be used globally. Apple and Google/Firebase process data on global infrastructure. RevenueCat states that customer data is stored on infrastructure in the United States and may be processed by listed subprocessors. Cloudflare also operates globally. This means data may be processed outside your country, including in countries whose privacy laws differ from yours.
Where required, transfers are protected through measures made available by the relevant provider, such as the European Commission’s Standard Contractual Clauses, contractual and security commitments, and applicable adequacy or Data Privacy Framework mechanisms. You can review the provider links in the previous section for current transfer details.
Section 8
We may retain information longer when required for tax, accounting, fraud prevention, dispute, or other legal obligations. We may keep data that has been irreversibly aggregated or de-identified because it can no longer reasonably identify or single out a user.
Section 9
Depending on where you live, you may have rights to ask whether we process your personal data, access or receive a copy, correct it, delete it, restrict processing, object to processing, withdraw consent, or receive portable data. You may also have a right not to be discriminated against for exercising a privacy right and to appeal a decision where local law provides it.
Android Analytics control: the current Android version does not include an in-app switch for Firebase Analytics or Crashlytics. Their collection begins automatically when the relevant app components start. Reading this policy does not itself turn that collection off.
iOS/iPadOS Analytics and Crash Reports: both are off by default. Choose them separately during onboarding or in Settings → Privacy Choices. You can change either choice later. Turning Analytics off also pauses Crash Reports while older diagnostics that may contain Analytics breadcrumbs are removed. These choices do not disable Apple or RevenueCat purchase processing.
Turn daily-gift reminders off in Type Race Settings or revoke the notification permission in your device’s Settings. These are local reminders, not remote push messages.
On Android, manage Play Games sign-in, profile, achievements, and deletion choices through Google Play Games and your Google account. On iOS/iPadOS, manage Game Center sign-in and profile through your device’s Settings and Apple Account controls.
Use the subscription-management control in Type Race Settings, or manage renewal directly in Google Play on Android or Settings → your Apple Account → Subscriptions on iOS/iPadOS. Use Restore Purchases to recheck existing purchases and membership. Cancellation is not data deletion.
Android and your Google account provide controls for permissions, advertising identifiers, ad personalization, and some Analytics or activity settings. Clearing app storage resets Type Race’s local data and installation-specific state. Apple devices provide their own permission, account, backup, and privacy controls.
To exercise a legal privacy right concerning data controlled by Type Race, use the request route below. We may need to verify that the request relates to you. Rights can be limited by law—for example, where records must be retained for fraud, accounting, legal claims, or another person’s rights.
If you are in the EEA, UK, or Switzerland, you may complain to the data-protection authority where you live or work. In Italy, this is the Garante per la protezione dei dati personali .
Section 10
You can delete local data and request deletion of pseudonymous data held for Type Race by its service providers, including Friends room records and the separate Firebase Authentication records used on Android.
We will acknowledge the request, ask only for information reasonably needed to locate the record, and respond within the time required by applicable law.
Deleting data does not cancel a subscription or issue a refund. Cancel renewal separately in Google Play or your Apple Account’s subscription settings. Some purchase records may be retained by Apple, Google, RevenueCat, or us where required for transaction integrity, fraud prevention, accounting, disputes, or law.
Section 11
On Android, uninstalling or clearing storage removes the local Type Race save. Reinstalling starts a new level-one local profile: levels, XP, rating, currencies, ordinary progress, settings, and permanent cosmetics left behind by an expired subscription cannot currently be recovered.
With the same Google Play account, an active subscription can be found again through Google Play and RevenueCat. Use Restore Purchases in Settings if Premium does not return automatically. Premium restores its active benefits—double XP, 50% extra gold, and local Spaceman ownership—but it does not restore the old game save and does not bypass Multiplayer’s level-five rule.
On iOS/iPadOS, a fresh install without restored device data creates a new local profile. Restore Purchases uses the same Apple Account to recover eligible store purchases and active Type Club membership; purchase history is also synchronized with RevenueCat. It does not restore prior race or Book progress or a lost in-game currency balance. Restoring an Apple device backup, where available, is separate from restoring purchases.
Google Play Games and Apple Game Center achievements and leaderboard entries may remain with the respective platform profile after reinstall. They are not a backup of Type Race progress. Type Race does not link purchases or game saves between Android and iOS.
Section 12
Type Race is a general-audience typing game and is not directed to children under 13. The app does not ask for a birth date and cannot independently determine a user’s age. It also does not ask for a real name, phone number, postal address, or email address during gameplay; the local username can be a nickname. On Android, Friends uploads this nickname and shares it with other players as described in the Friends section. Choose a nickname that does not reveal personal information.
A parent or guardian should supervise purchases, Friends multiplayer, optional Play Games or Game Center use, support emails, and device permissions for a minor. If you believe a child submitted personal information to Type Race or that data should be removed, contact us using the deletion route above. Where local law requires parental authorization for a minor’s data processing, the child should use the app only with that authorization.
Section 13
Type Race uses reasonable technical and organizational safeguards appropriate to the data it handles. Network requests described in this policy use encrypted HTTPS/TLS connections. Android uses encrypted preferences and disables app backup; iOS/iPadOS stores saves in its private app container. Both platforms record purchase fulfillment to prevent duplicate grants. Apple, RevenueCat, Google/Firebase, and Cloudflare maintain their own security programs as described in their policies.
No storage or transmission method can guarantee absolute security. Please keep your device and Apple or Google account protected. If you believe Type Race data is at risk, contact us promptly.
Section 14
We may update this policy when Type Race features, service providers, legal requirements, or data practices change. The new version will show a revised effective date. If a change materially affects how personal data is used, we will provide additional notice or request consent where required.
Type Race includes public-domain or licensed gameplay text and may open external source, store, subscription-management, support, or sharing links. External sites and apps have their own privacy practices. This policy does not control their independent processing.
Privacy contact:Please do not email passwords, full payment-card or bank details, raw receipts, or purchase tokens.