Privacy policy

Your tests and statistics stay on your device. This page explains everything the app does collect, why, and what control you have over it.

Effective date: 14 August 2026

Last updated: 14 August 2026

Runout Rank ("the app", "we", "us") is a billiards skill-rating and training app for Android and iOS, published by [YOUR_LEGAL_ENTITY_NAME] of [YOUR_ADDRESS_OR_COUNTRY].

This policy explains what data the app collects, why, who it is shared with, and the choices you have. It applies to the Runout Rank apps distributed through Google Play (com.municornio.app.tableinfinite) and the Apple App Store (com.municornio.app.tableinfinite.TableInfinite).


1. Summary

  • The app does not require an account, and we do not ask for your name, email address, or phone number.
  • Your tests, ratings, practice history, and settings are stored on your device. We do not upload them to a server we control.
  • The app uses Google Firebase Analytics to understand how the app is used, and this includes a resettable advertising identifier and a Firebase-generated app instance ID.
  • We do not sell your personal information, and we do not show third-party advertising in the app.
  • Subscriptions are handled entirely by Google Play and Apple; we never see or store your payment details.

2. Data stored on your device

The following is created and kept locally in the app's private storage, and is not transmitted to us:

  • Rating Test results, scores, tiers, and in-progress tests
  • Practice attempts, per-level run-out rates, streaks, and trend statistics
  • Training log entries and favourites
  • App settings and onboarding state

This data is removed when you uninstall the app or clear the app's data. If your device or platform backup is enabled (for example Android Auto Backup or iCloud device backup), a copy of this local data may be included in your own backup, which is controlled by you and your platform account, not by us.


3. Analytics data we collect

We use Google Firebase Analytics (a Google service) to measure feature usage, retention, crashes in usage flows, and general app performance so we can decide what to improve. Firebase Analytics collects and processes, on our behalf:

  • App instance identifier — a random Firebase-generated ID for your installation of the app
  • Advertising identifier — the Android Advertising ID (AAID) on Android, and, where available, the Identifier for Advertisers (IDFA) or the Identifier for Vendors (IDFV) on iOS
  • Device and technical data — device model, operating system version, app version, language, country/region derived from IP address, screen and locale settings
  • Usage events — for example app opens, screens viewed, a test started or completed, a practice level selected, a share action, session length and frequency
  • Approximate location — coarse region/country inferred from IP address only; the app does not request or use precise GPS location

We use the advertising identifier at this stage solely to keep our analytics measurement consistent (deduplicating installs and attributing app opens). We do not use it to serve targeted advertising, we do not build advertising profiles, and we do not share it with advertising networks or data brokers. If we later change this, we will update this policy and, where required, ask for your consent first.

We do not attempt to identify you personally from analytics data, and we do not combine analytics data with any other identifying source.

Legal basis (EEA/UK): where consent is required for analytics identifiers, we rely on the consent you give when installing and using the app, and you can object to or withdraw it by contacting us as described in Section 7. Otherwise we rely on our legitimate interest in understanding and improving the app.


4. Purchases and subscriptions

Runout Rank will offer optional paid subscriptions. When that feature is released:

  • All payments are processed by Google Play Billing or Apple's In-App Purchase. We never receive, see, or store your card number or other payment credentials.
  • We receive from the store only the information needed to unlock and maintain your subscription — for example the product purchased, purchase and renewal status, an anonymous purchase or transaction token, and the store country. Depending on the billing provider we use, this may be linked to a pseudonymous app user ID we generate for your installation.
  • Refunds, cancellations, and billing questions are handled by Google or Apple under their own terms and privacy policies.

We may also record a non-identifying analytics event when a subscription screen is viewed or a purchase completes, so we can measure conversion. This does not include payment details.


5. Who your data is shared with

We share data only with the service providers that make the app work:

RecipientPurposeTheir privacy policy
Google (Firebase Analytics)Product analyticshttps://firebase.google.com/support/privacy · https://policies.google.com/privacy
Google (Google Play Billing)Android subscription processinghttps://policies.google.com/privacy
Apple (App Store / In-App Purchase)iOS subscription processinghttps://www.apple.com/legal/privacy/

We may also disclose data where we are legally required to, or to protect our rights or the safety of users. We do not sell personal information, and we do not share it for cross-context behavioural advertising as those terms are defined under California law (CCPA/CPRA).

Data collected by Firebase may be processed on Google servers in the United States and other countries. Where personal data is transferred out of the EEA or UK, it is done under Google's standard contractual clauses and equivalent safeguards.


6. How long we keep data

  • On-device data: kept until you delete it in the app, clear app data, or uninstall the app.
  • Analytics data: retained by Firebase under our configured retention setting, currently [YOUR_RETENTION_PERIOD, e.g. 14 months], after which event-level data is deleted automatically. Aggregated, non-identifying statistics may be kept longer.
  • Subscription records: retained for as long as needed to provide the subscription and to meet tax, accounting, and legal obligations.

7. Your choices and controls

Reset or limit the advertising identifier

  • Android: Settings → Privacy (or Google) → Ads → *Reset advertising ID* or *Delete advertising ID*. Deleting it causes the app to receive a string of zeros instead.
  • iOS: Settings → Privacy & Security → Tracking. If we ever request tracking permission, you can decline; if you do not grant it, the app does not access the IDFA.

Analytics

The app does not currently offer an in-app setting to turn analytics off. You can limit the identifiers involved by resetting or deleting your advertising ID as described above, and collection stops entirely if you uninstall the app. You may also object to our analytics processing, or ask us to delete analytics data associated with your installation, by contacting us at the address in Section 10.

Delete your data

Because your test and practice data lives only on your device, deleting it is entirely in your control: use the reset option in the app's settings, clear the app's data, or uninstall the app. To request deletion of analytics data associated with your app instance, contact us at the address in Section 10 — the request is easiest to fulfil if you have not yet reset your advertising ID.

Your rights

Depending on where you live (for example under the GDPR, UK GDPR, CCPA/CPRA, or similar laws), you may have the right to access, correct, delete, or port your personal data, to object to or restrict processing, to withdraw consent, and not to be discriminated against for exercising these rights. Contact us at the address in Section 10 and we will respond within the period required by applicable law. You also have the right to complain to your local data protection authority.


8. Children

Runout Rank is intended for a general audience and is not directed at children under 13 (or under 16 where local law sets a higher age). We do not knowingly collect personal information from children. If you believe a child has provided personal information to us, contact us and we will delete it.


9. Security

Local data is held in the app's private storage, protected by the operating system's app sandbox and, on modern devices, by device encryption. Data sent to Firebase is transmitted over encrypted connections (TLS). No method of storage or transmission is completely secure, and we cannot guarantee absolute security.


10. Contact

Questions, privacy requests, or complaints:

  • Email: [YOUR_SUPPORT_EMAIL]
  • Postal address: [YOUR_POSTAL_ADDRESS, if required in your jurisdiction]

11. Changes to this policy

We may update this policy as the app changes — for example when subscriptions launch or if our use of the advertising identifier changes. We will revise the "Last updated" date above, publish the new version at https://mylesieong.github.io/products/runout-rank/privacy-policy.html, and, where the change is material, notify you in the app.