Skip to content

Privacy Policy

Effective date: 2026-07-25

Cycle Log is designed to keep your data on your device. This policy describes what data the app collects, where it is stored, and the limited circumstances in which it leaves your device.

Data stored on your device

All of the following is stored locally in the app's private storage and never transmitted without an explicit action or setting described below:

  • GPS data — latitude, longitude, altitude, speed, heading, and accuracy recorded at each trackpoint during a ride
  • Points of interest — the name, location, and time of any points you mark during a ride
  • Ride details — name, notes, commute flag, distance, duration, average speed, max speed, elevation gain and loss, start and end time; heart rate, cadence, and power when present in an imported file; and, after you upload a ride to Strava, the ID of the resulting Strava activity
  • Cycle details — name, brand, model, type, serial number, weight, year, acquisition date, purchase price and location, retired date, and notes
  • Log entries — title, optional notes, and the date each entry occurred
  • Settings and profile — units, theme, display and sensor preferences, backup reminder state, your optional weight (used only for calorie estimates), and the optional emergency contact phone number

Rides imported from GPX, FIT, or zip files are parsed on your device and stored only in the local database.

Location while recording

Cycle Log samples your location only while a ride is actively recording. Recording continues when your screen is off or the app is in the background, and for as long as it does, your device shows a persistent notification — so it is always visible when a ride is in progress. Location access begins when you start a ride and ends when you pause or stop it.

Cycle Log never requests always-on background location access, so outside an active ride the app has no ability to access your location. Trackpoints recorded during a ride are written to the on-device database described above and are not transmitted.

Map tiles and elevation lookup

  • Maps in the app are drawn with CyclOSM (OpenStreetMap) tiles. Displaying a map sends standard tile requests to the tile server, which — like any web request — include your IP address and reveal the map area being viewed. No ride data is sent.
  • If the barometer's elevation-anchor option is enabled in Settings, the app sends your ride's starting coordinates once per ride to the Open-Meteo elevation API to look up the ground elevation there. No other ride data is transmitted, and you can turn this option off.

Strava integration

Strava is an optional, user-initiated feature.

  • Your Strava OAuth tokens (access token and refresh token) are stored encrypted at rest in the secure credential store your operating system provides (on Android, the Android Keystore) via FlutterSecureStorage. They are never logged, and are only ever sent to Strava's own API.
  • A ride is only uploaded to Strava when you explicitly tap the upload button on that ride. The upload contains the ride's GPX along with its name, notes (as the activity description), and commute flag.
  • The ID of the created Strava activity is stored locally with the ride, so the app can link to it and avoid duplicate uploads.

Emergency contact

You can optionally save an emergency contact phone number, which is stored only on your device. The mid-ride Send status update action opens your phone's SMS app with a pre-filled check-in message that includes a map link to your current position. Nothing is sent unless you send it yourself — Cycle Log has no SMS permission and cannot send messages on its own.

Backups

Cycle Log can export a copy of your database from SettingsData. This is a manual, user-initiated action — the backup file is shared only where you choose to send it (for example a cloud drive or another device), and Cycle Log never uploads it anywhere automatically.

Data not collected

Cycle Log does not collect:

  • Advertising identifiers
  • Analytics or usage telemetry
  • Crash reports
  • Any data from users other than yourself

Contact

To report a privacy concern or ask a question, email contact@turnertrek.com. You can also open an issue at gitlab.com/stvnturner-group/cycle_log.