Life in the UK Test

Life in the UK — Privacy Policy

Last updated: 2026-05-25

Life in the UK iOS app v0.21.0+, Android app v0.19.0+, and our companion website (currently served at https://www.lifeintheuktestguide.co.uk). It is written to be readable; the legally precise summaries are in the App Store "App Privacy" section, the Google Play "Data safety" section, and the iOS-bundled PrivacyInfo.xcprivacy manifest.

Who we are

Life in the UK is an independent study aid published by Muralidharan Kathiresan. We are not produced by, endorsed by, or affiliated with the UK Home Office or HM Government.

Contact: support@lifeintheuktestguide.co.uk

What we collect, in plain English

The apps and the website are designed to work without an account. You do not give us your name, email, phone number, or address. We do not ask for your contacts, location, photos, microphone, camera, or health data, and the apps contain no code that requests them.

We collect three categories of technical information across all surfaces:

  • Crash reports:If the app crashes, the operating system sends a stack trace to us through Firebase Crashlytics so we can fix the underlying bug. Crash reports are not linked to your identity. Both iOS and Android send Crashlytics reports; Apple App Store Connect and Google Play Console also surface their own automatic crash dashboards from the same reports.
  • Performance and diagnostic data (iOS only):Apple's MetricKit framework shares aggregate metrics about how the app performs on your device (launch time, CPU, hangs). We use these to spot regressions. They are not linked to your identity. There is no equivalent collection on Android or the website today.
  • Anonymous usage analytics — only if you opt in:Analytics are off by default on both iOS and Android. If you enable them in Settings → Privacy → Analytics, the app records anonymous events such as "test started", "test completed", "study session ended", and similar — never the contents of your answers. On the website the same anonymous analytics run only after you explicitly accept the cookie banner shown on your first visit; you can change your choice any time via the "Cookie preferences" link in the footer. We use these counts to understand which features people actually use. We do not link these events to any identifier, and we do not share them with advertising networks.

That is the entire list

There is no third-party advertising SDK, no session-replay tool, and no cross-app or cross-website tracking. We do not run remarketing pixels, fingerprinting, or device-graph linking.

What stays only on your device

Your test history, your bookmarked questions, your study progress, your achievements, your in-progress test snapshots, your spaced-repetition schedule, and all of your settings live in a database on your device — SwiftData on iOS, Room and DataStore on Android, browser localStorage on the website. They never leave your device, and we have no way to read them. If you delete the app or clear the website's site data, this data is permanently lost.

How the data we do collect is processed

Crash reports and (if enabled) analytics events flow through services operated by Google Firebase. The data is associated with an anonymous, randomly generated installation identifier — not with your Apple ID, your Google account, your name, or any other identity attribute.

We use the data only to operate and improve the app. We do not sell it, rent it, or share it with data brokers or advertisers.

Where the data is stored

Firebase processes the data on Google Cloud infrastructure. Google's data centres for this region are within the European Union; some diagnostic data may transit through Google infrastructure in other regions in line with Google's standard contractual clauses.

For a deeper view of how Firebase handles data, see Google's Firebase Privacy and Security page at https://firebase.google.com/support/privacy.

In-app purchases

If you make a purchase inside the app (for example, to unlock Pro), the transaction is processed entirely by the platform's app store — Apple's StoreKit on iOS, and Google Play Billing on Android. We never see or store your payment details. The store notifies us only that some user with an anonymous receipt completed the purchase, so the app can switch to Pro on that device. The website does not offer in-app purchases.

Children

The apps and the website contain no content directed at children under 13. The iOS app is rated 4+; the Android app's Play Store content rating is suitable for everyone. We do not knowingly collect data from children. If you believe a child has used our app or website and you would like associated diagnostic data removed, contact us at the address above and we will request deletion of the matching anonymous installation identifier from Firebase Crashlytics.

Your choices

  • Turn analytics off:Settings → Privacy → Analytics on both iOS and Android. On the website, click the "Cookie preferences" link in the footer to revisit your consent choice — choose Reject to stop every analytics event at the source. Crash reports remain enabled so we can fix bugs that affect you.
  • Reset everything on this device:Delete the app, or on the website use your browser's "clear site data" controls. Because all personal progress lives only on your device, this permanently removes your data from our reach.
  • Request deletion of any diagnostic data tied to your install:Contact us with the Installation ID shown in Settings → About; we will request deletion of matching records from Firebase Crashlytics within 30 days.

Apple's required-reason API disclosures (iOS)

iOS apps must declare which of Apple's "required reason" APIs they use and why. The full list is in the iOS app's bundled PrivacyInfo.xcprivacy file. In summary:

  • UserDefaults (CA92.1):to read and write your settings on the same device.
  • File timestamp (DDA9.1):to manage cached study content stored inside the app's own container.
  • Disk space (E174.1):to check that there is room for newly downloaded study content before saving it.
  • System boot time (35F9.1):to compute uptime so we can decide when to refresh content from the server.

Android permissions and Play Console disclosures

The Android app requests four runtime or install-time permissions, all of which support core functionality:

  • INTERNET:to fetch study content and crash/analytics telemetry. Required for the app to function.
  • POST_NOTIFICATIONS:to send the daily-practice reminder notification you can configure in Settings → Notifications. You may decline; the rest of the app continues to work.
  • SCHEDULE_EXACT_ALARM:to fire the daily reminder at the exact time you choose. You may decline; the reminder will fall back to inexact scheduling.
  • VIBRATE:to vibrate the device on reminder notifications. Subject to your system-level vibration setting.

Website data

Our website does not set advertising cookies and does not embed third-party trackers. It uses browser localStorage to remember your test progress, your cookie-consent choice, and your preferences locally, and a service worker to cache the page shell for offline use. The website uses the same Firebase Analytics described in "What we collect" — recorded only after you accept the cookie banner shown on your first visit — and Firebase Crashlytics is not used on the website.

Changes to this policy

If we change what the apps or website collect, or how we process it, we will update this page and bump the "Last updated" date at the top. Material changes will be highlighted in the apps' release notes.

Contact

If you have questions, requests, or complaints, email support@lifeintheuktestguide.co.uk.