This Privacy Policy explains how the MileQuest mobile application (“the App”) handles information when you use it. It is published by ITPM Group (“we”, “us”).
Short version
- The names and ages you enter for your travellers never leave your device. They are stored on the phone and we cannot see them.
- The App has no accounts, no sign-up, no chat, no adverts, and no user-generated content.
- Every game works fully offline. The App connects to the internet for one purpose only: to download new questions.
- We use Google Firebase (Analytics and Crashlytics) to count how often games are opened and to receive crash reports. This never includes traveller names or ages.
- You can turn analytics off inside the App: Settings → Privacy → Share anonymous usage data.
- Purchases are processed by Apple. We never see your payment details.
- We do not sell, rent, or share your data with advertisers, and the App does not track you across other apps or websites.
1. Information stored on your device only
To run a trip, the App asks you for each traveller’s name and age (or age band). This is genuine personal information, and often it is information about children, so we want to be exact about what happens to it:
It is written to the device’s own storage, it is never transmitted to us or to anyone else, and we have no technical means of reading it.
The following is all stored locally, using Apple’s SwiftData and UserDefaults, and none of it is transmitted:
- Traveller names, ages or age bands, chosen avatars, and who is driving or napping
- Trips: their dates, optional destination, and which travellers are on them
- Scores, leaderboards and trip history
- Which questions each traveller has already been asked, so nobody gets the same one twice
- Settings: theme, language, whether narration is on, which voice is selected, and whether the rules screen has been seen
- Free-playtime counters used by the subscription gate
- A local cache of downloaded questions
To erase all of it, delete the App from your device. iOS removes the entire sandbox, and nothing survives elsewhere because nothing was ever sent elsewhere.
2. Information sent off the device
2.1 Downloading new questions
The App downloads new and corrected questions from Google Cloud Firestore so that fresh content arrives without an App Store update. This is a one-way, read-only request: the App asks for the questions in its current language and receives them.
- What is sent: the request itself, and — unavoidably, as with any internet request — your device’s IP address, which Google receives as the network sender.
- What is not sent: no traveller names, no ages, no scores, no trip data, no account (there is none), and no identifier we have created for you.
- If the download fails, or you are offline, the App simply plays the questions built into it. Everything remains fully playable.
2.2 Analytics and crash reports (Firebase)
The App uses Google Firebase Analytics and Google Firebase Crashlytics.
- What is collected: a randomly generated app-instance identifier, device model, iOS version, language setting, approximate country derived from IP address, anonymous event records (for example “a trip was started”, “a game was opened”, “the paywall was viewed”, “a subscription was purchased”), and — if the App crashes — the crash stack trace and app version.
- What is never collected: traveller names, traveller ages, anything typed into the App, precise location, contacts, photos, microphone input, your email address, or your name.
- Purpose: to understand which games families actually play, to see where people get stuck, and to find and fix crashes.
- Data processor: Google LLC. See Firebase’s Privacy and Security information.
- Retention: Analytics data is retained for 14 months; crash reports for 90 days.
Turning it off. Open the App and go to Settings → Privacy → Share anonymous usage data, and switch it off. Analytics and crash reporting both stop immediately and nothing further is sent. You may also disable sharing system-wide in iOS Settings → Privacy & Security → Analytics & Improvements.
2.3 Purchases
Optional subscriptions are sold and processed by Apple through the App Store. Apple handles the payment; we receive only an anonymous signal of whether the App is entitled to unlimited playtime. We never receive your name, payment method, card details, or Apple ID.
3. What the App does not do
The App does not:
- Show adverts, or contain any advertising SDK
- Track you across other apps or websites (it never requests the App Tracking Transparency permission, because it has nothing to ask for)
- Use the Advertising Identifier (IDFA)
- Offer accounts, sign-up, log-in, chat, messaging, or any way for users to contact each other
- Accept user-generated content of any kind
- Request access to your location, contacts, calendar, photos, camera, or microphone
- Sell, rent, or share personal information with third parties
4. Children’s privacy
MileQuest is designed to be played by families, including young children, and is rated 4+.
We take the following position, and have built the App to match it:
- The App collects no personal information from children. Traveller names and ages are entered by the adult who sets up the trip, and, as described in section 1, they never leave the device.
- There is no sign-up, no chat, no messaging, no photo upload, no user-generated content, and no way for a child to communicate with anyone through the App.
- There is no behavioural advertising and no advertising of any kind.
- Purchases sit behind a parental gate.
- The analytics described in section 2.2 record events about the App, not about a person, and are not used to build a profile of any user.
We comply with the U.S. Children’s Online Privacy Protection Act (COPPA) and, for children in the EU and UK, with the GDPR’s provisions on children’s data. If you believe a child has provided us with personal information, please contact us — although, by design, there is no channel through which that could have reached us.
5. Legal basis for processing (GDPR)
For users in the European Economic Area and the United Kingdom:
| Purpose | Legal basis |
|---|---|
| Storing your travellers, trips and scores on your own device | Not a transfer to us; performance of the service you requested |
| Downloading new questions | Legitimate interest in delivering current content |
| Analytics and crash reporting | Legitimate interest in maintaining and improving the App, which you can object to at any time using the in-app switch described above |
| Processing purchases | Performance of a contract, carried out by Apple |
6. Your rights
If you are in the EEA, the UK, or California, you have the right to access, correct, erase, or restrict the processing of your personal data, to object to processing, to data portability, and to complain to a supervisory authority.
In practice:
- Access and portability: we hold no personal data about you on any server. Everything identifying is on your device, where you can already see it.
- Erasure: delete the App, which removes all local data. For analytics records held by Firebase, contact us and we will request their deletion.
- Objection: switch off Settings → Privacy → Share anonymous usage data.
We do not sell personal information, and we have not done so in the preceding twelve months.
7. International transfers
Firebase processes data on Google’s infrastructure, which may be located outside your country, including in the United States. Google relies on the European Commission’s Standard Contractual Clauses for such transfers.
8. Security
Local data is protected by the iOS application sandbox and the device’s own encryption. Data in transit to Firebase is encrypted with HTTPS. We follow industry-standard practices, but no method of transmission or storage is completely secure.
9. Changes to this policy
We may update this policy. When we do, we will change the “Last updated” date at the top of this page, and material changes will also be noted in the App’s release notes.
10. Contact
For privacy questions, data requests, or concerns:
📧 info@itpmgroup.com 🌐 itpmgroup.com
We respond to legitimate requests within 30 days.