Privacy Policy

Holmstad Group ApS, Garmin Connect IQ apps. Last updated: 31 October 2026.

This page explains the optional, anonymous usage and error log built into our Garmin Connect IQ apps: DancePro, Dance, SaunaPro, Sauna, Contrast, Crux, Kuling, Vind Ride and SITREP. It also explains the weather lookups that Vind and Kuling make, the licence and subscription for our paid apps, and My page in Vind Ride's route planner, all of which are separate from that log. It does not cover Garmin Connect, Garmin Connect Mobile or any other part of the Garmin platform. See "Garmin's own apps and services" below for that.

What we collect

When "Share anonymous usage" is turned on in the app's settings in Garmin Connect (for Kuling and Vind Ride, also on the watch or bike computer itself, where the same setting is called "Share usage"), the app sends small batches of data that can include:

We do not collect your name, e-mail address, Garmin Connect account, any custom names you type into the app, your GPS track or the detailed content of your workouts beyond the summary values listed above, your location in this log (the weather lookups of Vind and Kuling are described under "Weather lookups (Vind and Kuling)" below), your heart rate or any other health or sensor data, or your IP address. Your e-mail address and the routes you choose to save are stored only if you use My page in Vind Ride's route planner, see "Vind Ride: My page and the route planner".

Weather lookups (Vind and Kuling)

This section is separate from the optional log above. To fetch your weather forecast, Vind and Kuling send an approximate area to our server: a 5-character geohash, which is a grid cell of about 5 km by 5 km (a little narrower from east to west the further north you are). Your exact position is never sent. The watch works out the cell itself, and only the cell leaves the watch.

Kuling only looks up the forecast while the app is running with GPS, to show the wind forecast for your area on the watch. The wind is always shown as a forecast, never as a measurement. You can switch this off with "Wind forecast" in the app's settings, on the watch and in Garmin Connect. When it is off, Kuling makes no lookups and sends no area.

For each lookup our server records a small entry with: the area (the geohash), which app made the lookup (Vind, Vind Ride or Kuling), whether the lookup worked or failed, which tide source was used (Denmark, Norway, the US, or none), how long it took, and the time of the lookup. The entry is not linked to the random installation number or to anything else about you, and it does not include your IP address. The same cell is also used as a label for the temporary copy (cache) of the forecast on our server, which is kept for at most 6 hours.

Vind Ride, the edition of Vind for Garmin Edge bike computers, makes the same lookup. With the lookup it also sends the bike computer's device ID, which our server uses only to check the free trial or subscription. The device ID is stored only as a one-way hash in the licence record, see "Licence and subscription (Kuling and Vind Ride)", and it is never stored or logged together with the approximate area. For Vind Ride, the lookup entry can also show that the device sent no device ID. From Vind Ride 1.2, the answer also contains your PIN for My page and, if you have sent a plan, the plan's few numbers. See "Vind Ride: My page and the route planner".

The lookup is needed for the forecast, so it happens whether or not "Share anonymous usage" is on. It is not part of that log. The way to avoid it is not to use Vind's weather field, and for Kuling to switch off "Wind forecast".

The forecast comes from MET Norway. We pass on to them the coordinates of the middle of the cell, not your position. Tide times come from Kartverket (Norway), DMI (Denmark) or NOAA (US). They are asked about the nearest tide station, so they receive the station's position and not yours.

These lookup entries are kept for about three months, the period Cloudflare's Workers Analytics Engine stores data, and are then removed automatically.

Licence and subscription (Kuling and Vind Ride)

This section is separate from the optional log above and applies only to our paid apps: Kuling and Vind Ride. To tell your device whether you have a free trial or a paid yearly subscription, the app contacts our server. This happens whether or not "Share anonymous usage" is on.

For each device and app, our server stores:

We use this data only to deliver the free trial and the subscription: to tell your device whether the trial has ended or the subscription is active, and to connect a payment to the right licence.

The licence is not linked to the random installation number or to anything else in the anonymous log described above, and the two cannot be combined.

For each payment our server also stores the app's name, the amount, the currency and the time, so that we can follow our sales. Stripe's invoice number is stored only as a one-way hash (SHA-256), so that the same payment is not counted twice. The payment record contains no customer ID, subscription ID or licence code, and is deleted automatically two years after the payment.

If you support the work through Buy Me a Coffee, our server receives a notice from Buy Me a Coffee with the amount, the fee, the currency and the time, so that we can follow the support. We do not store your name, your e-mail address or your message. The payment's ID is stored only as a one-way hash (SHA-256), so that the same payment is not counted twice and a refund can be matched. The record is deleted automatically two years after the payment. The payment itself and your details are handled by Buy Me a Coffee and its payment provider, not by us.

The subscription is sold by Stripe as the seller (merchant of record). Your payment details, name, e-mail address, billing address and tax information are collected and held by Stripe, not by us. We never see your card details. Stripe's handling of your data is described in Stripe's privacy policy. If you have had a subscription, the licence record is deleted automatically two years after the subscription ends. A licence that only had a trial is deleted two years after the device last contacted our server. If we move your subscription to a new device, the record for the old device is deleted two years after its last contact. A free licence that we have given you is kept for as long as it applies. Once it has ended or been removed, it is deleted under the same rules as other licences. You can always ask us to delete it sooner by writing to the address under "Contact"; the subscription itself is cancelled with Stripe.

Vind Ride: My page and the route planner

This section applies if you use the route planner at offoverdrive.com/vind-ride/ruteplan, including My page in it.

Account and login. The field on your Edge works without an account, including the trial, the purchase and the licence code. In the route planner you need an account to get the wind worked out and to use My page, and your account is your e-mail address. Without an account you can look at the page and the map and choose a file, but no wind is worked out. You log in with a link that we send to the address. After your first login with a link you can also choose a password. We store the password only as a one-way hash, never as plain text. The link works for 15 minutes and only once, and we store it only as a one-way hash.

Your e-mail address. We store your e-mail address in your account, written in lower case. We use it only for e-mails about your account: login links that you ask for yourself, a receipt when you delete the account, and a warning before an account you have not used for a long time is deleted. We never send newsletters or ads, and we do not use the address for anything else. The e-mails have no tracking pixel and no rewritten links, and tracking of opens and clicks is turned off at Resend. The address is kept until the account is deleted (see below). If you ask for a login link without using it, no account is created, and the address is deleted together with the link no later than 2 hours after it was sent. We never write the address in our logs, and it is not shown in our own overview.

Resend sends the e-mails. The e-mails are sent by our subcontractor Resend (Resend, Inc., USA). Resend receives your e-mail address and the content of the e-mail, including the login link. The e-mails are sent from Resend's servers in Ireland, but Resend stores information about each e-mail sent, including the recipient's address, in the USA. According to Resend, it is kept for 30 days. Resend is certified under the EU-US Data Privacy Framework.

Your Edge. The first time, you add your Edge with your licence code and a 6-digit PIN, so that we know the Edge is yours. We do not store the PIN; our server works it out from your licence each time it is needed. It reaches your bike computer in the answer to the weather lookup and is then shown in the field's settings in the Connect IQ app. Once the Edge has been added, it gets a new PIN automatically. The "New PIN" button gives you a new one, and the old one stops working. An Edge can belong to only one account. If another account adds it, it moves there, and your account can no longer send plans to it. Your saved routes and choices belong to your account and not to the Edge, so they never go with an Edge you sell or lend out.

After a login we set one cookie that keeps you logged in for 30 days. It is needed for the login and is deleted when you log out or when the 30 days have passed. "Log out" logs you out in all browsers. To stop misuse we count attempts: per sender, using a one-way hash of the IP address, login links and password attempts per e-mail address, wrong PINs per licence code and attempts to add an Edge per account. After too many attempts we temporarily block further ones. The IP address itself is never stored. The count per sender is deleted no later than the day after, and wrong PINs are counted until the correct PIN is used. We also store the date of your last visit and of any warning, so that an account you no longer use can be deleted (see below).

Precise wind. If you are logged in and have an Edge with a subscription or trial, the route planner uses the precise wind along your route. Your browser reads the file (or the saved route) and works out the wind along the route, and the route itself is not sent to us for the wind lookup. To fetch the forecast, the browser sends a shuffled list of the grid cells of about 5 km by 5 km that the route passes through, split into several lookups. We do not log the cells and do not store them with your account. Once the wind is calculated, the route is saved with your account, as described under "Load your own route". The forecast comes from MET Norway through the temporary copy (cache) on our server, as in the weather field. So that one account cannot use up the day's quota of new forecasts, we count how many your account fetches per day. The count is deleted after 2 days.

Load your own route. In the route planner you can choose a GPX or FIT file from your device. The file is read in your browser and is never sent to us. The wind along the route is worked out in your browser. Your browser sends our server a few fixed points on the map, about 30 km apart, that the route lies near, together with the hour of the start and how many hours ahead we should fetch the wind. It is our server that fetches the forecast from MET Norway. A single point only tells us that the route is somewhere within about 30 km, but together the points show roughly where the route goes. When you are logged in and have calculated the wind for a route, your browser also sends the route to us, in a separate call after the wind has been fetched. We store the simplified course of the route (at most about 500 points), its name, its length, the profile (road, gravel or MTB) and the time. We store it with your account so that you can see and open your latest routes on My page. We keep the newest 100 routes, until you delete them one by one or delete your account. If you do not use your account, the routes are deleted with it, as described under "Vind Ride: My page and the route planner". Calculating the same route again on the same day does not store it twice. In our admin we see only totals, such as how many routes are calculated per day and how many accounts have at least one, never single routes, points or e-mail addresses. The map images are also fetched through our server, see the section about the map just below. To stop misuse we count how many routes you calculate and how many times you fetch the wind. You need an account to fetch the wind. An account without a subscription or trial on an Edge can calculate at most 5 routes a day. A route is counted by the fixed points it lies near, so fetching the wind again for the same route, for example with another start time or the other way round, does not count as a new route. To count this we keep a short one-way hash of those points together with your account and the count, until the end of the day. It cannot be used to see where the route went. With a subscription or trial on an Edge you can fetch the wind 200 times a day. Which wind is used: if you are logged in and have an Edge with a subscription or trial, the precise wind is used, see "Precise wind". Otherwise it is the fixed points described here. Without an account we count with a one-way hash of the IP address or its first part, and the IP address itself is never stored. The counts are deleted after 2 days at the latest.

Your route while you log in. If you ask for a login link while a route is open, your browser keeps the route (its name, a simplified course and the speed) and a short one-way mark of your e-mail address for a short time in its own storage (localStorage), so that you do not lose the route if the link opens in another tab or app. The route is only used by the account that asked for the link. The copy on your device is never sent to us. Once you are logged in, the route opens again, and when the wind is calculated, it is saved with your account as described under "Load your own route". The copy is deleted as soon as you are logged in, and no later than the first time the page is opened after 30 minutes have passed. It is strictly necessary storage for this, and we do not measure it.

When you are logged in, your browser remembers that, so the menu can say My page. If you press Log in on one of our pages, your browser remembers for up to 30 minutes which page you came from, so you can return to it. Both stay in your browser only, are not sent to us and are not used for measurement.

The map goes through our server. Our server fetches the map images from OpenFreeMap. OpenFreeMap sees only our server's address, never yours, and we do not log where you look on the map.

What we store, only if you choose it.

Your account with your e-mail address, your saved routes and choices are kept until you delete them. If you have not visited the page for 11 months, we send a warning to your address. If you do not come back within 30 days of the warning, the account is deleted with everything in it. If the warning cannot be sent, the account is deleted no later than 13 months after your last visit. When a licence is deleted, the Edge's link to your account and its plan are deleted too. The routes you calculate the wind for are kept as described under "Load your own route", and without your consent to statistics we do not follow individual users on the page (see "Cookies and measurements on offoverdrive.com"). "Delete my account" immediately deletes your account, your e-mail address, your saved routes, your latest routes, your choices, your plans and the links to your Edges, and logs you out. Afterwards we send a receipt to the address, and at Resend the information about the e-mails is then kept for up to 30 days. Your licences and subscriptions are not affected, and the field on your Edges works as before. All of this is tied to your account. We never ask for your name, and none of it is shared with anyone other than Resend, as described above.

Totals. For our own overview we count, per day, how many login links, receipts and warnings we have sent, logins, new and deleted accounts, added Edges, wrong PINs, analyses, saved routes and plans sent there have been in total, and how many accounts exist and how many have been in use in the last week. We also count how many times the old address of My page (offoverdrive.com/vind-ride/min, which now leads on to the route planner) has been opened and how many times each instruction video on the Vind Ride page has been started, without cookies. The counts are not tied to any account, e-mail address, code or person and are deleted after 400 days.

Cookies and measurements on offoverdrive.com

This section applies when you visit our pages on offoverdrive.com: Kuling's page, the Vind Ride page, the route planner and the pages where you buy a licence, including the thank-you page and the error pages there. The privacy page itself counts no page views.

Your cookie choice. The first time you visit, a bar at the bottom of the page asks whether you want to accept all, allow necessary only, or choose for yourself. The choice is stored on your device together with the date. We ask again after a year, or if we change what is measured. You can change your choice at any time with "Cookie settings" at the bottom of the pages, or here:

Necessary. Always on: the login cookie (see above), your choice of light or dark theme in the route planner, a route kept briefly on your device while you log in (see "Your route while you log in"), and your cookie choice itself. They are not used for measuring.

Without consent (necessary only, or no choice yet). We store and read nothing on your device for measuring, and the page sends nothing. The server counts page views from the request itself, without using anything on your device: which page, the language, what kind of site you came from (our own pages, a search engine, a social network, another site or none) and the campaign code "ct" in the address, if there is one. We never store the address of the referring page, and we use your browser's identification (User-Agent) only to filter out obvious bots, without storing it.

With consent to statistics. Then we store a random visit ID on your device and send it with small events from the pages, together with a rough device type (phone or computer) and a screen width in coarse steps. The events are for example which tabs and buttons you use in the route planner, that you load a GPX or FIT file (only the file type and the outcome: it worked, or a fixed error code), that you press Reverse, Find the best start time or Use this time, that the guest limit is reached, and that you press Log in, buy, the store button or the link to this privacy policy. On the pages where you buy, we also measure that you start a purchase and that the thank-you page is shown (only as a fixed word, never the code, the amount or your account). Every event is a name and a few fixed codes. That lets us follow your visit from page to page, for example from the Vind Ride page to the route planner, your own route, log in and Send to my Edge, or from Kuling's page to the purchase pages, and see whether people come back. When you say yes, the page also sends the choice itself, with no ID, so we can count how many say yes. The ID is random, and we do not link it to your login, account, licence, e-mail address or IP address. If you later choose "Necessary only" or untick Statistics, we delete the ID from your device at once. If your choice expires after a year, the page deletes the ID the next time you open it. Measurements already sent are deleted with the rest after about three months. This is based on your consent, which you can withdraw at any time with Cookie settings.

What we never measure. Coordinates, addresses, place names, route names, file names or the contents of a file, e-mail addresses, IP addresses, account IDs and licence codes. We use no measurements or ads from Google or any other third party. The site is hosted by Cloudflare, which also stores the measurements for us.

Where and how long. The measurements are stored in Cloudflare Workers Analytics Engine, which we already use. We cannot promise that they are located in the EU. Cloudflare processes them for us under its data processing agreement, which includes the EU standard contractual clauses. Cloudflare deletes them automatically after about three months, like the weather lookups. We look at them only as totals on our own admin page. To stop misuse we count events per sender, using a hash of the IP address. Cloudflare keeps the count for about a minute, and we store nothing about it.

Why we collect it

This section is about the anonymous usage and error log only. We collect it to find and fix bugs and errors, and to see which features people actually use, so we know what to improve. That is the whole purpose. It is not used for advertising, and we do not build a profile of you or your device. Licence data has its own purpose, described under "Licence and subscription (Kuling and Vind Ride)".

Where it is stored

The data is processed and stored using Cloudflare, a cloud infrastructure provider. Our server (a Cloudflare Worker) runs on Cloudflare's global network, and the database (Cloudflare D1) is set up in the EU. Because Cloudflare operates a worldwide network, individual requests may pass through Cloudflare locations outside the EU as ordinary internet routing, the same way any web request does, but the stored data itself stays in the database region we chose. This does not apply to the measurements on the website and the weather lookups. They are kept in Cloudflare Workers Analytics Engine, see "Cookies and measurements on offoverdrive.com". E-mails about your account on My page in Vind Ride's route planner are, however, sent by Resend, which stores information about them in the USA, see "Vind Ride: My page and the route planner".

How long we keep it

This section is about the anonymous log only. Its data is deleted automatically within about 90 days. Our cleanup job runs once every night, so in rare cases a row may live a little past exactly 90 days before it is removed. Licence records follow their own rule, described under "Licence and subscription (Kuling and Vind Ride)". My page in Vind Ride's route planner has its own rules, see "Vind Ride: My page and the route planner".

Sharing

We never sell any of this data. The anonymous log is never shared with any third party. It is not linked to any account, name or other personal identifier at any point, so it cannot reasonably be traced back to you. The one exception is the weather lookup of Vind and Kuling, where MET Norway receives the coordinates of the middle of the cell, as described under "Weather lookups (Vind and Kuling)".

Licence records are different. A licence record contains Stripe's customer ID and subscription ID, and at Stripe these IDs are linked to your name, e-mail address and billing address. Stripe sells and processes the subscription, see "Licence and subscription (Kuling and Vind Ride)". If you use My page in Vind Ride's route planner, Resend receives your e-mail address in order to send e-mails about your account, see "Vind Ride: My page and the route planner".

Your choice

You can turn this off at any time: open the app's settings in Garmin Connect (or Garmin Connect Mobile), find "Share anonymous usage", and switch it off. For Kuling and Vind Ride you can also do this on the watch or bike computer: open the settings menu and switch off "Share usage". If it is off, the app sends nothing to this log. Kuling's wind forecast lookup is switched off separately with "Wind forecast", see "Weather lookups (Vind and Kuling)" above.

Garmin's own apps and services

This policy only covers what our own server receives from the app on your watch or bike computer and from our pages on offoverdrive.com. Garmin Connect IQ, Garmin Connect and Garmin Connect Mobile collect and handle data separately from this, under Garmin's own privacy policy, which you can find on Garmin's website.

Contact

Questions about this policy or the data we hold: support@holmstadgroup.dk.