Tailwind Tally

Privacy Policy

Effective September 29, 2026 · applies to the Tailwind Tally web app and the Tailwind Tally iOS app, which shows the same web app in a native shell.

The short version

Tailwind Tally doesn't have accounts, doesn't set its own tracking cookies, and doesn't store anything server-side beyond map tiles and Strava data it briefly relays on your behalf. Your GPX route data is processed entirely on your own device, with two optional exceptions: if you ask for a weather forecast, three rounded locations from your route are sent to a weather service (see "Weather forecast" below), and if you use the Live tab, your own location, rounded to about 11 km, is sent to that same service (see "Live wind" below). The sections below explain exactly what does happen, and why.

Route files (GPX)

Whether you drop a file in the browser, share one from another app on your phone, or load one from Strava, the route data is parsed and analyzed entirely on your device — in your browser's own JavaScript, or inside the iOS app. It is never uploaded to, or stored on, any server we operate.

Connecting to Strava (optional)

If you choose to tap "Connect to Strava," you're sent to Strava's own login page to authorize Tailwind Tally to read your routes. We request the read and read_all scopes, which let the app list and export your Strava routes (including private ones).

What we receive and how it's used:

A small backend service we operate (see "Infrastructure," below) performs two things that require holding our Strava application's client secret, which can't safely live in a browser or a mobile app: exchanging Strava's one-time login code for that access token, and relaying the route-list/route-export API calls (only because Strava's API doesn't allow browsers to call it directly - not because it needs our secret). That backend does not log, store, or retain any Strava data that passes through it.

Disconnecting is as simple as reloading the page or restarting the app - there is nothing stored to delete.

Map tiles

Map imagery is served by MapTiler, requested through our backend so our MapTiler API key stays private. MapTiler receives the map area you're viewing and your IP address, the same as any map tile request - no Tailwind Tally-specific personal data is attached to these requests.

Weather forecast (optional)

If you choose "From forecast" and tap "Get forecast," the app asks Open-Meteo, a free weather service, what the wind, temperature, humidity and rain are expected to be on the date you picked. To answer, Open-Meteo receives up to three places from your route (its start, middle and end), each rounded to about 11 km, and that date. It does not receive your route file, your exact coordinates, or anything about who you are. Like any web request, it also sees your IP address.

The request goes from your device straight to Open-Meteo, not through our backend, and we don't keep a copy. Nothing is sent unless you tap "Get forecast"; setting the wind and temperature by hand never contacts any weather service. Weather data by Open-Meteo.com, licensed CC BY 4.0; see Open-Meteo's terms.

Live wind (optional)

If you open the Live tab and tap "Show the wind here," the app asks your device for its location - your device asks your permission first - at low accuracy (a network-based position is enough). On your device the location is rounded to about 11 km, and only that rounded position is sent to Open-Meteo to get the current weather there (wind, temperature and sun, and rain and thunderstorm risk for the next hour). Your exact location never leaves your device, and nothing is stored - not by the app and not by us. Nothing is sent unless you tap the button (or "Refresh").

To turn the arrow with your phone, the app reads your device's compass (on iPhone after you allow access to "motion and orientation"). That reading is used on your device only and is never sent anywhere.

Language setting

If you choose English or Dutch with the EN | NL switch, that choice is saved in your browser's local storage (localStorage) on your own device, so the app opens in the same language next time. It is never sent anywhere. Until you choose, the app follows your phone's or browser's language.

Analytics

We use GoatCounter to count page visits. It sets no cookies and collects no personally identifying information - see GoatCounter's privacy policy.

Fonts

Page text uses fonts loaded directly from Google Fonts. Google may log standard web request data (such as your IP address) for these requests, as with any font served from their CDN.

The iOS app specifically

The iOS app is a thin native shell around the same web app described above, so everything on this page applies to it too. The one native-only feature is that Tailwind Tally can be offered as an "Open in…" destination for .gpx files shared from other apps (Strava's own app, Mail, Files, AirDrop). That file is read on-device and handed to the same in-app web page - it is not uploaded anywhere by the app itself.

What we don't do

Infrastructure (who's actually involved)

ServiceRole
GitHub PagesHosts the web app's files.
RenderHosts the small backend that proxies map tiles and Strava API calls.
StravaProvides route data you explicitly connect and authorize.
MapTilerProvides map tile imagery.
Open-MeteoProvides the weather forecast (wind, temperature, humidity and rain), only if you use "From forecast," and the current weather at your rounded location, only if you use the Live tab.
GoatCounterCookieless page-visit analytics.
Google FontsServes the page's typefaces.

Children's privacy

Tailwind Tally is not directed at children and we do not knowingly collect data from children.

Changes to this policy

If this policy changes, the updated version will be posted at this same address with a new effective date above.

Contact

Questions about this policy or your data can be sent to gjjnwhxcb@mozmail.com.

← Back to Tailwind Tally