Last updated: October 14, 2026
RunFlex is built on a simple principle: your training data belongs to you. This policy explains what data the app handles and how.
RunFlex is developed by Tone Aurora Pleym (KniTime), a sole proprietorship registered in Norway, org. no. 992 659 998. We own and operate the runflex.io domain, and we are the data controller for any personal data covered by this policy. You can reach us at tone.pleym@runflex.io.
RunFlex stores your data locally on your device. We do not collect, sell or share your personal data, and there are no accounts, no tracking and no analytics that identify you. The only things the app sends out on its own are weather lookups — and requests to intervals.icu if you connect Garmin. Both are described below.
When you use RunFlex, the following data is created and stored only on your iPhone (and Apple Watch, when supported): your training plans and workouts, logged sessions and notes, and your goals and progression data. This data never leaves your device unless you choose to export or share it yourself.
RunFlex can integrate with Apple Health to read and record workout data, with your explicit permission. Health data is handled according to Apple's HealthKit guidelines: it is only used to provide app functionality you have requested, it is never used for advertising or marketing, and it is never shared with third parties. You can revoke Health access at any time in the Settings app on your iPhone.
RunFlex shows the weather for your sessions. Past weather is looked up from Open-Meteo (open-meteo.com) and forecasts from the Norwegian Meteorological Institute (met.no). These requests contain a location and a time, and nothing that identifies you — no account, no device identifier, no name. Each service's own privacy policy applies to its request. The result is shown in the app and stored with the session on your device.
You can connect RunFlex to Garmin through intervals.icu, an independent training service that can fetch your workouts from Garmin Connect. The connection is optional, and you set it up yourself under Settings → Garmin. You sign in on intervals.icu, not in RunFlex.
When connected, RunFlex fetches when you open the app, when you return to it, and when you tap "Fetch now":
The runs are stored in RunFlex on your phone like any other session. On your phone, RunFlex also keeps the access key from intervals.icu (in the phone's keychain), your intervals.icu user ID and name, when you connected and when runs were last fetched, and which activities have been fetched, so they are not fetched twice. RunFlex stores nothing about the connection on its own servers.
When connected, RunFlex also sends the planned workouts in your active training plan to your calendar on intervals.icu, so that intervals.icu can pass them on to Garmin Connect and your watch. For each workout it sends the date, the name, the steps as text (durations and pace or heart-rate targets) and the total duration. No completed workouts, heart-rate data or locations are sent. Workouts that are completed, fall in a sick period, or are deleted or moved in RunFlex are removed or replaced in the calendar. If you have not set a threshold pace on intervals.icu, RunFlex sets it once from your zones; a threshold pace you have set yourself is never touched. You can turn sending off under Settings → Garmin; RunFlex then removes its own entries from the calendar. Whether the workouts go on to Garmin is controlled by you on intervals.icu ("Upload planned workouts").
When you sign in, intervals.icu sends you back to the app via a page on runflex.io, and the one-time code from intervals.icu is exchanged for the access key by a small server function at Supabase in the EU (Ireland). The function stores nothing and does not log the code or the key; the key goes straight back to your phone.
Settings → Garmin → Disconnect deletes the access key, your intervals.icu user ID and name, and the connection and fetch times from your phone, and stops fetching. RunFlex also removes the planned workouts it has added to your calendar on intervals.icu. RunFlex also asks intervals.icu to revoke the access at the same time. If that fails, for example without a network connection, you can revoke the access on intervals.icu yourself. Runs already fetched stay in RunFlex until you delete them, and the list of fetched activities is kept so that runs you have deleted do not come back if you reconnect.
What Garmin shares with intervals.icu, and how intervals.icu processes it, is controlled by you on intervals.icu and governed by their privacy policy. RunFlex has no direct connection to Garmin.
RunFlex lets you export a summary of your training to share with an AI assistant of your choice (such as ChatGPT or Claude). This export only happens when you actively choose it, using the standard iOS share sheet. Once you share data with a third-party AI service, that service's own privacy policy applies. Apart from the weather lookups and the Garmin connection described above, RunFlex does not send anything anywhere on its own.
RunFlex does not require an account or registration, does not collect personal information, does not use third-party advertising or tracking SDKs, and does not sell data — because we never have it in the first place.
Since all data lives on your device, deleting the app deletes your RunFlex data. If you have connected Garmin, iOS may keep the access key in the phone's keychain after the app is deleted. RunFlex deletes it the next time the app is installed and opened. To remove it at once, disconnect Garmin in the app before you delete the app. If you have already deleted it, you can revoke the access on intervals.icu so the key no longer works. Workout data saved to Apple Health can be managed or deleted in the Health app.
RunFlex is not directed at children under 13, and we do not knowingly collect any data from anyone — including children.
If the app's data practices change (for example, if optional cloud sync is introduced), this policy will be updated and the "last updated" date revised before the change takes effect.
Questions about privacy? Contact us at tone.pleym@runflex.io.