Ride Keeper

Privacy Policy

Last updated 1 August 2026

Ride Keeper is built to keep your data on your device. There are no accounts, no login, and no server of mine that your rides are uploaded to. This page explains exactly what that means, and the one narrow exception — crash and diagnostic reporting.

Who is responsible for your data

Ride Keeper is developed and published by Marin Markelić, an individual developer. For the purposes of the General Data Protection Regulation (GDPR), I am the data controller for the limited data described below.

You can reach me at marin.markelic.ets@gmail.com.

The short version

Stays on your device: your bikes, components, rides, maintenance records and photos. If you use iCloud, they also sync to your own private iCloud storage, which I cannot access.

Goes only to your own iCloud, never to me: the four values Ride Keeper imports from Apple Health — a workout's date, distance, duration and elevation. These are stored alongside the rides you enter by hand and sync the same way. They are never sent to me, to a diagnostics provider, or to any other third party.

Is sent to a diagnostics provider: crash reports, error messages, performance measurements, and a few anonymous counters. No ride data, no photos, no health measurements.

Is never collected at all: your name, email address, location, contacts, or any advertising identifier. Nothing is sold or shared with advertisers.

Data stored on your device

Everything you enter into Ride Keeper — your bikes, their components, your rides, your maintenance history and any photos you attach — is stored locally on your device using Apple's standard app storage. I have no access to it.

iCloud sync

If you are signed in to iCloud and have iCloud Drive enabled, Ride Keeper syncs your bikes, components, rides and maintenance records across your devices using Apple's CloudKit private database.

This is your own iCloud storage. The data is tied to your Apple Account and counts against your iCloud quota. I have no access to the private database — I cannot read your data, and I receive no copy of it. The data is encrypted in transit and at rest on Apple's servers; if you have Advanced Data Protection turned on in your Apple Account settings, it is end-to-end encrypted so that not even Apple can read it. Apple's handling of iCloud data is governed by Apple's Privacy Policy.

You can stop this sync by signing out of iCloud or by disabling iCloud Drive for Ride Keeper in the iOS Settings app.

Apple Health

If you grant permission, Ride Keeper reads cycling workouts from Apple Health so you can import them as rides instead of typing them in.

iOS grants access to workouts as a single permission, so the Health prompt asks about workouts in general rather than cycling specifically. Within that, what Ride Keeper actually reads is deliberately narrow: it only ever asks Health for cycling workouts, and from each one it reads only the following four values:

No physiological or health measurements are read. Ride Keeper does not read heart rate, calories or energy burned, weight, or any other health metric, and it does not request access to them.

Where imported workouts go, precisely. Once imported, those four values become a ride in Ride Keeper, indistinguishable from one you typed in yourself. Like every other ride, it is stored on your device and — if you have iCloud enabled — synced to your own private iCloud storage so your bikes and rides are the same on all your devices. That storage is yours: it is tied to your Apple Account and I have no access to it.

Imported workouts are never transmitted to me, never included in crash or diagnostic reports, never shared with any third party, never used for advertising or marketing, and never sold. The only copy that exists outside your device is the one in your own iCloud.

Ride Keeper never writes to Apple Health. Access is read-only.

You can revoke access at any time in the iOS Settings app under Privacy & Security → Health → Ride Keeper. Rides you already imported stay in the app until you delete them.

Photos

You can attach a photo to a bike, either from your photo library or by taking one with the camera. Photos are stored with the app's data on your device and, if iCloud is enabled, sync to your own private iCloud storage along with everything else. They are never uploaded to me or to any third party.

Notifications

Ride Keeper can notify you when a component reaches 80% of its typical service life, or when a maintenance job such as a chain lube is due. iOS asks for your permission the first time one of these alerts is about to be sent, and you can turn them off at any time under Wear & maintenance alerts in the app's Settings screen.

These alerts are worked out and composed entirely on your device, from rides you have already logged. There is no push server: nothing about your bikes, components or rides is sent anywhere in order to deliver them, and I do not know whether an alert was sent or opened.

Crash reports, diagnostics and analytics

Ride Keeper uses Sentry to report crashes and errors, so I can find and fix problems. This is the only data that is transmitted off your device to a third party.

What is sent:

WhatWhy
Crash reports and error messages, including the technical stack trace To diagnose and fix crashes and bugs
Performance measurements, such as how long certain operations take To find and fix slow or stuck screens
Device and app information: device model, iOS version, app version To reproduce problems on the right configuration
An identifier derived from Apple's identifier for vendor, stored on your device To tell whether five crash reports come from one user or five
Anonymous counters: how many times the app was launched, how many bikes exist, how many workouts were imported To understand which features are actually used

What is not sent:

The counters described above are counts only. "Three workouts imported" carries no information about those workouts.

The identifier, specifically

On first launch, Ride Keeper stores an identifier derived from Apple's identifier for vendor — a value Apple generates for this app on this device, which is not shared with other developers and cannot be used to track you across other companies' apps or websites. It lets crash reports from the same device be grouped together, so I can tell one user hitting a bug five times from five users hitting it once. It is not linked to your name, email, Apple Account or any other identity, and it is not used for advertising.

To be precise about one detail: the identifier is kept in the device keychain, which is not erased when an app is deleted. If you delete Ride Keeper and later reinstall it on the same device, the same identifier is reused, and diagnostic reports from before and after the reinstall are grouped together. If you would rather that did not happen, email me and I will delete the diagnostic records associated with it.

Where diagnostic data goes

Sentry acts as a data processor on my behalf. Ride Keeper is configured to use Sentry's European region, so diagnostic data is processed on servers in the European Union. Sentry's own handling is described in its privacy policy.

What Ride Keeper never does

Legal basis for processing (GDPR)

If you are in the European Economic Area or the United Kingdom, the legal bases are:

How long data is kept

Data you enter stays on your device until you delete it or remove the app. Diagnostic data held by Sentry is deleted after 90 days. The identifier described above is the one exception: it stays in your device's keychain until you email me to have the associated records removed.

Your rights

Under the GDPR and UK GDPR you have the right to access your personal data, to have it corrected or erased, to restrict or object to processing, and to data portability. You also have the right to lodge a complaint with your local supervisory authority.

In practice, most of these you can exercise directly and immediately, without going through me:

For anything else, or to make a formal request, email marin.markelic.ets@gmail.com. I will respond within one month, as the GDPR requires.

International transfers

Diagnostic data is processed in the European Union. If Sentry transfers data outside the EEA as part of operating its service, it does so under the European Commission's Standard Contractual Clauses. iCloud sync is handled entirely by Apple under Apple's Privacy Policy.

Children

Ride Keeper is not directed at children under 13, and I do not knowingly collect personal data from them. There is nothing in the app that asks a user to identify themselves.

Changes to this policy

If this policy changes, the updated version will be posted on this page with a new date at the top. Material changes — for example, collecting a new category of data — will also be noted in the App Store release notes for the version that introduces them.

Contact

Marin Markelić
marin.markelic.ets@gmail.com