MatchesLeft is built around a simple principle: your training data belongs to you and lives on your device. The app has no user accounts, no sign-up, and no MatchesLeft servers that store your rides. This policy explains exactly what data the app handles, what stays on your phone, and the limited cases where data leaves it.
All of your core training data is stored locally in a database on your device and is never transmitted to us. We do not operate servers that receive, store, or process your rides. This local data includes:
Because this data is stored only on your device, uninstalling the app permanently deletes it. You can export your rides as industry-standard .fit files at any time; we recommend exporting or backing up rides you want to keep.
The app communicates with a small number of third-party services to provide specific features. In each case, we send the minimum needed for the feature to work.
To show weather and air-quality metrics during rides, the app sends your device's current coordinates (latitude and longitude) to Open-Meteo (weather) and OpenWeatherMap (air quality). No account identifier, device identifier, or other personal information is sent — only your coordinates and the weather fields requested.
Ride maps are rendered by the Google Maps SDK. When the map is displayed, map data for your current location and viewport is requested from Google's servers, subject to Google's Privacy Policy. If you use the in-app option to get directions to a destination, the destination text you typed is passed to the Google Maps app on your device.
If you choose to connect a Strava account, the app uses Strava's standard OAuth authorization — you sign in with Strava directly, and we never see your Strava password. When you choose to upload a ride, the app sends that ride's data to Strava, including the full GPS track (location, elevation, timestamps), ride name, and ride type flags. Uploads happen only when you initiate them. Data you upload to Strava is governed by Strava's Privacy Policy. You can disconnect Strava in the app at any time.
Subscriptions are processed by Google Play, and subscription status is managed by RevenueCat, our subscription infrastructure provider. The app assigns you a random, anonymous identifier; we do not send your name, email address, or any account information to RevenueCat, because the app collects none. RevenueCat receives Google Play purchase tokens, product identifiers, and general device information (such as device model and OS version) to validate and manage your subscription. Your payment details are handled entirely by Google Play and are never visible to us or to RevenueCat. See RevenueCat's Privacy Policy and Google's Privacy Policy.
To find and fix bugs, the app uses Sentry for crash and error reporting. When an error occurs, Sentry receives technical information: the error and stack trace, app version, device model, and operating system version. The app is configured not to send personally identifying information such as IP-address-based identity, and session recording is disabled. If you use the in-app feedback feature, the message you type — and, if you choose to include one, a screenshot of the app — is sent to Sentry so we can review your report. See Sentry's Privacy Policy.
The app includes an optional feature to import ride files from a computer on your own local network, using an address you enter yourself. This connection goes only to your own machine and does not involve any third party or internet service.
The app requests only the permissions its features require:
You can revoke permissions in your device settings, though features that depend on them will stop working.
Because your data is stored on your device, you are in control of it. Deleting a ride in the app deletes it from the database; uninstalling the app deletes all locally stored data. Data you have uploaded to Strava, and subscription records held by Google Play and RevenueCat, are retained under those services' own policies and can be managed through those services directly.
MatchesLeft is not directed at children under 13, and we do not knowingly collect personal information from children.
If we change this policy, we will post the updated version at this address and update the effective date above. Material changes to how the app handles data will be noted in the app's release notes.
Questions about this policy or your data can be sent to [email protected].