Bikeflow – Cycling Trainer Privacy Policy
Last updated: April 15, 2026
App name: Bikeflow – Cycling Trainer
Package: com.kickr.controller
Developer: Henriko
Overview
Bikeflow (formerly bikeERG) is a cycling trainer control app for Wahoo KICKR and other FTMS-compatible smart trainers. Your privacy is important to us. This policy explains what data Bikeflow collects, how it is used, how long it is kept, and how you can delete it.
Data We Collect
All data stays on your device. Bikeflow does not collect, transmit, or store any personal data on external servers operated by us. Specifically:
- Training data (power, cadence, speed, heart rate, session history, workout progress, FTP, body weight) is stored locally on your device using Android SharedPreferences and internal file storage. This data never leaves your device unless you explicitly choose to export it or upload it to Strava.
- Custom workouts you create within the app are stored locally on your device.
- Bluetooth device identifiers for the smart trainer, heart rate monitor, and cadence sensor are used solely to communicate with the devices during an active session and are not persisted beyond the session.
- Location data is not collected. The app requests location permission solely because Android requires it for Bluetooth Low Energy (BLE) scanning. No GPS or location data is recorded or stored.
- Strava tokens (access token, refresh token, expiry timestamp, athlete name) are stored locally on your device only if you choose to connect your Strava account.
How We Use Data
- To display your real-time training metrics during a session.
- To calculate workout statistics, power curves, and training history.
- To control your smart trainer's target power in ERG mode.
- To upload completed workouts to Strava, but only when you explicitly tap the upload button.
Data Retention
We do not operate any servers that retain your data. All data is stored exclusively on your device for the following periods:
- Session history: Up to 20 most recent sessions are kept. When a 21st session is saved, the oldest is automatically deleted.
- Custom workouts: Up to 30 custom workouts are kept. Older entries beyond this limit are automatically deleted.
- TCX workout files: Stored in the app's internal storage until you delete them or uninstall the app.
- User settings (FTP, weight, language, premium status): Stored until you change them, clear app storage, or uninstall the app.
- Strava tokens: Stored until you disconnect Strava inside the app or uninstall the app.
- Bluetooth device identifiers: Not persisted – discarded as soon as you disconnect from the device or close the app.
We do not keep any copies of your data after you delete it from your device, because we do not operate any backend servers that receive it.
Data Deletion
You have full control over your data at any time. There are several ways to delete it:
Delete data inside the app
- Delete a single session: Open History, tap a session, and choose Delete.
- Disconnect Strava: Open Settings, find Strava, and tap Disconnect. This immediately removes all stored Strava tokens and athlete information from your device.
- Delete a custom workout: Open Custom workouts, long-press a workout, and choose Delete.
Delete all app data via Android Settings
You can permanently erase all Bikeflow data from your device at any time:
- Open Android Settings → Apps → Bikeflow → Storage.
- Tap Clear storage (or Clear data).
- All workout history, custom workouts, TCX files, user settings, and Strava tokens will be permanently removed.
Uninstall the app
Uninstalling Bikeflow removes all locally stored data associated with the app from your device.
Request deletion by email
If for any reason you would like to request deletion of data or have questions about the deletion process, you can contact us at henrik19900@gmail.com. Because we do not operate servers that store your data, there is typically nothing for us to delete on our side – but we are happy to assist with any questions.
Third-Party Services
Strava: If you choose to connect your Strava account and upload workouts, the app will transmit your TCX training file to Strava's servers via their API. This is entirely optional and is only initiated when you explicitly tap the upload button. Strava's own privacy policy governs how they handle your data once uploaded.
Google Play Billing: Subscription purchases are processed by Google Play. We do not receive or store your payment details. Google's privacy policy governs payment data.
Data Sharing
We do not share your data with any third party except in the two cases described above (Strava, only on your explicit action; Google Play Billing, handled entirely by Google).
Data Security
- All data is stored in Bikeflow's private storage area on your device, which Android isolates from other apps.
- Network requests to the Strava API are made over HTTPS.
- We do not transmit your workout data to any server operated by us.
Permissions
The app requests the following Android permissions and uses them only for the stated purposes:
- Bluetooth (BLUETOOTH_SCAN, BLUETOOTH_CONNECT): Discover and connect to your smart trainer and sensors.
- Location (ACCESS_FINE_LOCATION): Required by Android to allow BLE scanning. We do not collect or use your location.
- Internet: Strava OAuth authentication and uploading workouts to Strava.
- Foreground service: Keep your workout session running reliably while the app is in the background.
- Post notifications: Display an ongoing notification showing your current workout status.
- Vibrate: Workout interval alerts.
- Ignore battery optimizations: Optional. Prevents Android from killing active workout sessions.
Children's Privacy
Bikeflow is not directed at children under 13. We do not knowingly collect data from children.
Changes to This Policy
We may update this policy from time to time. Changes will be posted on this page with an updated date at the top. Continued use of the app after changes are posted constitutes acceptance of the updated policy.
Contact
If you have questions about this privacy policy, contact us at:
Email: henrik19900@gmail.com
GitHub: https://github.com/henrik19900-cpu/kickr-controller