Skip to content
Privacy

Privacy

In short: no accounts and no ads. Your loops and rides stay on your phone. We only count, anonymously, which features get used, and you can turn that off.

Last updated: 17 October 2026

Your location and your loops

For a free loop the app sends your start, the length you want and your wishes for the roads (for example, avoid cobbles) to our server. It calculates the loop with OpenStreetMap data and sends it back. We don't store your start and keep no log of requests.

Offline, or outside the Netherlands and Belgium, your iPhone plans the loop with Apple Maps; Apple's privacy policy applies to that.

For junction loops the app downloads the cycle junction network around you from our server, in fixed squares of about 25 by 17 km (like map tiles). At most, that shows the area where you plan a loop. Our server keeps no log of who requests what: no IP addresses and no requested areas are stored.

To know the road surface and elevation (so a workout block doesn't land on cobbles or a climb), the app also sends points along a junction loop, and the way to the first junction, to our server. These too are only used to calculate the answer and are not stored.

To share the route planner fairly, the app uses Apple App Attest to show our server that a request comes from a genuine KOERS app on an iPhone. For this, your iPhone creates a key that never leaves the device. For each installation our server keeps only the public half of that key, a counter and the day it was last used. None of it says anything about you or where you ride, and it isn't linked to your routes. Delete the app and the key on your iPhone is gone.

While navigating, the app uses your location only on your phone, also with the screen off, to follow your position on the route.

Saved loops and rides

Loops you save and the results of your rides (score, averages, any change to your FTP and threshold heart rate) are stored only on your own device. There's no account and no sync. Delete the app and they're gone.

Planned rides, reminders and the weather

If you plan a loop for a day and time, that stays on your iPhone. The reminders (the evening before and an hour before you leave) are notifications your iPhone schedules itself; they don't go through our server. You choose them in Settings → Reminders, and iOS first asks whether KOERS may send notifications.

With KOERS Pro the app shows the weather at your start. For this your iPhone asks Apple Weather (WeatherKit) directly for the forecast, sending only the location of your start. Our server isn't involved. Apple's privacy policy applies to that data. If KOERS turns your loop around for the wind, our server calculates the route in the other direction, just as for a free loop and without storing anything.

Wahoo

If you connect your Wahoo account, you sign in directly with Wahoo. Exchanging the sign-in code needs the app's secret key, so that one step goes through our server, which stores nothing. The keys you get back are kept in your iPhone's secure Keychain.

When you send a loop or workout to Wahoo, it goes straight from your iPhone to Wahoo. The app asks for access to your name, your routes and workouts, your FTP and your rides. The app fetches rides straight from Wahoo onto your iPhone to score your workout and adjust your FTP and threshold heart rate; only the outcome is kept on your iPhone, not the track of your ride, and nothing goes to our server. Wahoo's own privacy policy applies to what Wahoo does with your data.

You can disconnect at any time in Settings → Wahoo; KOERS then also revokes its access at Wahoo.

KOERS Pro

If you buy KOERS Pro, Apple handles the payment with your Apple Account; we receive no name, email address or payment details. Your iPhone checks for itself, with Apple's signed receipts, whether you have KOERS Pro. Our server hears nothing about it.

Usage statistics

To make KOERS better we want to know which features get used and where people get stuck. For that we use Google Analytics (in the app through Google Analytics for Firebase). Google processes this data for us; its advertising features are off and Google doesn't use it for ads.

In the app we count what you do, not where: for example that a loop was planned (junctions or free, rounded to 10 km), that you exported or sent to Wahoo, started navigation or chose a workout, looked at or bought KOERS Pro (which plan and the price). With that come the device model, iOS and app version, language, country (which Google derives from your IP address; Google doesn't store that IP address) and a random app ID that disappears when you delete the app. We send no locations, start points, place or route names, use no advertising ID and link nothing to your name. Turn it off in the app under Settings → Privacy → Share usage statistics.

On this website we only load Google Analytics if you choose to in the notice at the bottom. Google then sets two cookies (_ga and _ga_…, valid for two years) and we count which pages you view and what you click, such as the App Store button, the buttons on a route page or a search in the bike routes. Choose ‘No thanks’ and nothing from Google loads. Change your choice through Cookie settings, also at the bottom of every page.

Google keeps the statistics for up to 14 months. Google's servers may be outside the EU; Google is covered by the EU-US Data Privacy Framework.

Contact form

If you send us a message through the contact form, we keep your name (if you fill it in), your email address and your message to answer you, and forward it to our support mailbox. We don't keep an IP address with your message and delete it once your question is dealt with.

What we don't do

Your rights

We keep nothing about you that we can link to your name; the statistics at Google belong to a random ID. To remove everything, turn off the statistics, delete the app and disconnect Wahoo. Contacted us through the form and want your message deleted? Or another question about your data? Get in touch.

Maps and data

Map: Apple Maps. Routes and junctions: OpenStreetMap (© OpenStreetMap contributors, ODbL), routes calculated with BRouter.

Changes

If anything changes in how KOERS handles data, we update this page and the date at the top.