Privacy Policy
Last updated: 4 August 2026
About this policy
FareChecked ("we", "us", "our") is the developer of the FareChecked application for Android — a fare card monitoring tool for private-hire and ride-hail drivers. This Privacy Policy describes how we collect, use, store, and protect your information when you use the FareChecked app.
If you have questions about this policy, contact us at [email protected].
Information we collect
Account information
When you sign in to FareChecked, we collect:
- Your Google account email address and display name — used for authentication and account identification
- Your Firebase UID — a unique identifier assigned by Firebase Authentication, used for account identity
Device and app information
To enforce device-lock licensing and provide support, we collect:
- Device model (e.g. "Samsung Galaxy S24")
- Android version (e.g. "Android 15")
- App version (e.g. "2.12.59")
- A unique installation identifier — this is a randomly generated identifier tied to your app installation, NOT a hardware identifier (not IMEI, not serial number, not Android ID). It is used solely for device-lock enforcement.
Subscription and access data
- Trial/subscription status and timestamps — used to gate access to premium features
- Session activity — used for administration and fraud prevention
- Usage indicators — used for fraud prevention and fair use enforcement
Crash and diagnostic data
- Crash stack traces via Firebase Crashlytics — automatically collected and force-enabled to help us identify and fix bugs. Crashlytics collects data about app crashes including stack traces, device state at time of crash, and app version.
Account, device, trial, subscription, and access data is stored in Firebase Firestore. Crash reports are handled separately by Firebase Crashlytics.
Information we do NOT collect
FareChecked does NOT collect:
- Your location or GPS coordinates
- Your contacts or address book
- Your existing photos, media, or personal files on your device
- Your microphone or camera input
- Your Advertising ID or any advertising identifiers
- Analytics data beyond crash reporting
- Any form of tracking across apps or websites
The one exception is the on-screen trip-offer text described in the Accessibility Service section below — this is not your personal photos or files, it's text read from a supported driver app's fare-offer screen while it's on display, purely to calculate and show your estimated earnings.
Accessibility Service
FareChecked uses Android's Accessibility Service to detect trip-offer information shown by supported ride-hailing driver apps (currently Uber Driver and Bolt Driver). This section explains exactly what that involves, based on how the current app version works.
What it's for. When a supported app shows you a trip offer, FareChecked reads the offer details — fare, estimated time, distance, and the surrounding label text needed to recognise it's a genuine offer card — so it can calculate your estimated earnings per mile and per hour and show that figure in a small floating overlay on your screen.
How it reads the offer. FareChecked uses two methods together:
- A short-lived, in-memory image of the screen, processed with on-device text recognition (Google ML Kit, running entirely on your device — no image or text is sent to Google or anyone else for this).
- Android's accessibility text/view-hierarchy APIs, read as a backup detection method.
Both are limited to the specific supported driver apps listed above — FareChecked cannot see or read the screen of any other app, and does not monitor your device generally.
What happens to that data. The on-screen image used for text recognition is held only in memory while it's being processed and is discarded immediately afterwards — it is never saved to your photo gallery, camera roll, or any file you or another app can browse, and it is never uploaded anywhere. The fare/time/distance figures extracted this way are used immediately to calculate and display your overlay, and a summary (numbers and, for accuracy-improvement purposes, short snippets of the recognised text) may be kept in a diagnostic log stored privately on your device, used only to improve how reliably FareChecked recognises fare cards. This diagnostic data is not transmitted off your device, not included in analytics or crash reports, and not shared with any third party. It is removed automatically when you uninstall the app.
What it does NOT do. FareChecked's Accessibility Service is read-only: it does not click buttons, accept or decline trips, or take any action inside Uber, Bolt, or any other app on your behalf. It cannot and does not control other apps.
Your control. You can review, pause, or revoke this permission at any time via Settings → Accessibility → FareChecked on your device, or using the in-app "Stop Monitoring" control. FareChecked also shows an explanation in-app before asking you to turn this permission on.
Notification access
Separately from the Accessibility Service above, FareChecked can read notifications posted by the same supported driver apps (Uber Driver, Bolt Driver) as a backup way to detect a trip offer if it's shown in a notification banner. It does not read notifications from any other app on your device. This uses Android's separate Notification Access permission, which you can grant or revoke independently at Settings → Apps → Special access → Notification access. Information read this way is used the same way as offer text described above — to calculate and display your estimated earnings — and is handled under the same on-device, not-uploaded, not-shared terms.
Logs
FareChecked keeps diagnostic and operational logs, including the fare-detection summaries described above, stored locally on your device only. In the version of the app published on Google Play, there is no in-app feature to upload or send these logs anywhere — they stay on your device and are removed when you uninstall the app. If you contact support about a problem, we may ask you to describe or share specific details manually; we do not access your device's logs without you providing them to us directly.
How we use your information
We use the information we collect to:
- Authenticate your account and verify your identity
- Enforce device-lock licensing (one device per subscription)
- Manage trial periods and subscription access
- Detect and prevent fraud and abuse
- Debug app crashes and improve app stability via Crashlytics
- Detect supported trip offers and calculate your estimated earnings, via the Accessibility Service and Notification access described above
- Process your subscription purchase via Google Play Billing
- Provide customer support when you contact us
We do not use your information for:
- Advertising or marketing
- Profiling or automated decision-making
- Selling to third parties
- Training machine learning models
Third-party services
FareChecked uses the following third-party services:
| Service | Purpose | Data involved |
|---|---|---|
| Firebase Auth (Google) | User authentication | Email, display name |
| Firebase Firestore (Google Cloud) | Data storage | All account, device, and subscription data |
| Firebase Crashlytics (Google) | Crash reporting | Stack traces, device state at crash |
| Google Play Services | Authentication | Sign-in token |
| Google Play Billing | Subscription purchase processing | Purchase/subscription token confirming your entitlement. FareChecked never sees or stores your payment card details — Google processes the payment directly |
| Google ML Kit (on-device) | Text recognition for supported fare cards | Runs entirely on your device — no image or text is sent to Google or any other party for this purpose |
All Firebase and Google Play services operate on Google Cloud/Google Play infrastructure. Google's privacy practices are described at policies.google.com/privacy.
Data retention
- Account data (email, display name, Firebase UID, device info, subscription status, timestamps) is retained for the life of your account and deleted when you delete your account.
- Crashlytics data is retained for 90 days by Firebase, per Google's default Crashlytics retention policy.
- Local app data (settings, preferences, and diagnostic logs — including the fare-detection summaries described in Accessibility Service above) is stored only on your device, is not automatically uploaded, and is removed when you uninstall the app.
- Deletion tombstone: when you delete your account, we keep a minimal record — your Firebase UID and the deletion timestamp only, no other personal data — in a separate
deletedAccountsrecord. This is retained indefinitely and is not removed by a later account deletion request, because its sole purpose is to prevent the same account from repeatedly re-registering for a new free trial after deleting and recreating an account.
Your rights (GDPR & UK GDPR)
If you are located in the UK, European Economic Area (EEA), or otherwise subject to GDPR, you have the following rights:
- Right of access — you can request a copy of the personal data we hold about you
- Right to rectification — you can ask us to correct inaccurate or incomplete data
- Right to erasure ("right to be forgotten") — you can request deletion of your personal data
- Right to data portability — you can request your data in a structured, machine-readable format
- Right to object — you can object to processing of your personal data
- Right to restrict processing — you can ask us to limit how we use your data
- Right to withdraw consent — where processing is based on consent, you can withdraw it at any time
To exercise any of these rights, see our Data Deletion page or contact us at [email protected]. We will respond within 30 days.
If you are in the UK, you also have the right to lodge a complaint with the Information Commissioner's Office (ICO) at ico.org.uk. If you are in the EU, you have the right to contact your local supervisory authority.
Legal basis for processing (GDPR)
We process your personal data on the following legal bases:
- Contractual necessity — authentication, subscription management, device-lock enforcement
- Legitimate interests — fraud prevention, app stability (Crashlytics), customer support
- Consent — where you explicitly grant an optional device permission, such as Accessibility Service or Notification access, which you can withdraw at any time via Android Settings
Children's privacy
FareChecked is designed for adults working in the private-hire and ride-hail industry. We do not knowingly collect personal information from anyone under the age of 16. If you believe a child under 16 has provided us with personal data, please contact us immediately at [email protected] and we will delete it promptly.
Permissions
FareChecked requests the following Android permissions:
| Permission | Purpose |
|---|---|
SYSTEM_ALERT_WINDOW | Display the fare analysis overlay on top of driver apps |
BIND_ACCESSIBILITY_SERVICE | Powers the Accessibility Service described above — lets FareChecked read on-screen trip-offer text and briefly process a screen capture, limited to supported driver apps only |
BIND_NOTIFICATION_LISTENER_SERVICE | Powers Notification access described above — lets FareChecked read trip-offer notifications from supported driver apps only |
FOREGROUND_SERVICE / FOREGROUND_SERVICE_SPECIAL_USE | Keep fare monitoring running persistently in the background |
POST_NOTIFICATIONS | Show FareChecked's own notifications to you |
INTERNET / ACCESS_NETWORK_STATE | Communicate with Firebase, authentication, and Google Play Billing services, and check network availability |
WAKE_LOCK | Keep the device awake during fare monitoring |
REQUEST_IGNORE_BATTERY_OPTIMIZATIONS | Ensure reliable background operation |
RECEIVE_BOOT_COMPLETED | Resume fare monitoring automatically after your device restarts, if you had it running before |
No affiliation
FareChecked is an independent third-party tool. We are not affiliated with, endorsed by, or authorised by any ride-hailing platform. As explained in Accessibility Service above, FareChecked does not auto-accept or decline rides, click buttons, or otherwise interact with or control the driver apps on your behalf.
International data transfers
Your data is stored on Google Cloud servers. Google complies with international data transfer standards including the EU-US Data Privacy Framework. For more information, see Google's compliance documentation.
Changes to this policy
We may update this Privacy Policy from time to time. When we do, we will update the "Last updated" date at the top of this page. For material changes, we will take reasonable steps to notify you — such as displaying an in-app notice or sending an email.
Contact
For any questions about this Privacy Policy or your data, contact us at: