DRIVING RANGE

Privacy Policy

Last updated: 19 September 2026

This Privacy Policy describes how the Driving Range apps ("the app" — the Garmin Connect IQ app, the iOS app with its Apple Watch companion, and the Android app with its Wear OS companion) and the website at golfwatch.app ("the website") handle information about you.

By using the app or the website, you agree to the practices described below.

Summary

  • You can use the app without creating an account. Sign-in is optional and exists to sync your data across your devices.
  • Swing and session data is recorded on your watch and stored on your watch and paired phone. It is uploaded to a server we operate only if you sign in, to show your practice history across your devices — and for no other purpose.
  • The Apple Watch and Wear OS apps read your heart rate only during a practice session you start, to show it live and compute the session's average heart rate and calories. There is no background or passive health monitoring.
  • We receive anonymous telemetry and crash reports, hosted on EU servers and tied to a random identifier — never to your name or email.
  • Subscriptions and purchases are processed by Apple or Google. We never see your payment details.

What we collect

Watch apps (Garmin, Apple Watch, Wear OS)

During a practice session the watch records:

  • Per-swing motion-sensor data and the metrics computed from it (tempo, smoothness, transition, acceleration, follow-through, arc consistency, backswing tempo, wrist release, swing score). Raw sensor samples are processed on the watch; the app transmits only the computed metrics, never the raw samples.
  • Session totals (number of swings, duration, calories, average heart rate).
  • Settings you configure inside the app (sensitivity, units, metronome, etc.).

Heart rate. The Apple Watch and Wear OS apps read your heart rate from the watch's sensor only while a practice session you started is running, to show live heart rate on the session screen and to compute the session's average heart rate and calories. Access is requested with the platform's runtime permission dialog the first time you start a session, and sensor access ends when the session ends — the app never monitors heart rate in the background. The Wear OS watch app itself does not read from or write to Health Connect. On your phone, if you turn on Settings → Health Connect in the Android app, the app saves each practice session recorded by your Wear OS watch — workout type, start and end time, and calories — to Health Connect on your phone. You control that access in Health Connect and can revoke it at any time; data you save there is governed by Google's terms and your Health Connect permissions. The Android app never reads data from Health Connect, and nothing is written unless you turn the setting on. On Apple Watch, sessions are also saved to Apple Health as workouts if you grant HealthKit access; data in Apple Health is governed by Apple's privacy policy. On Garmin watches, heart rate and calories come from Garmin's own activity recording.

Where this data lives:

  • Garmin: on the watch and in standard Garmin Connect FIT files in your Garmin Connect account, both governed by Garmin's privacy policy. We receive a copy only if you connect the watch to our phone app and sign in — then sessions and their computed swing metrics sync to your account as described below.
  • Apple Watch / Wear OS: on the watch, on the paired phone (below) and, only if you sign in, in your account.

Phone apps (iOS and Android)

When you install the iOS or Android app, recorded sessions and swings are transferred from the watch and stored locally in the app's database on your phone. This local copy leaves your device only if you sign in to an account (below) — otherwise it stays on your phone unless you choose to share or export it.

Account (optional)

If you choose to sign in — with Apple on iOS, or Google on Android — we create an account on our server. The data stored against that account is:

  • A stable per-app identifier (Apple's sub claim, or your Google account's subject identifier) that lets you sign in again later without a password.
  • The email address the identity provider shares with us. You can use Apple's "Hide My Email" feature, in which case we receive only a relay address; either way we use the email solely for account-related correspondence and never share it.
  • Your CoachProfile (handedness, handicap, shot shape, dominant miss, years playing, focus) — exactly the values you fill in during the onboarding flow.
  • Your app settings (appearance, language).
  • Your sessions and swings — the practice data described above, including per-swing metrics and session totals (duration, calories, average heart rate) — so your practice history appears on all your devices. Coaching insights computed from your swings sync the same way.
  • Paired-watch identifiers — a random identifier for each watch you pair, used to route that watch's sessions to your account.
  • Your subscription / entitlement state (which features are unlocked, plus trial usage such as swing counts).

This data is stored on a database hosted in the European Union (Ireland region). Sign-in itself is handled directly between your device and Apple or Google — your password and second-factor data never touch our server.

If you delete your account from inside the app (Settings → Account → Delete Account), every row of the data above — including all synced sessions and swings — is removed within seconds, and the app is detached from your Apple or Google identity. Deletion is permanent and immediate.

Subscriptions and purchases

Purchases are handled entirely by the platform stores — Apple's App Store on iOS (under Apple's terms and privacy policy) and Google Play on Android (under Google's privacy policy). We receive only:

  • Whether your account has an active subscription or one-time unlock, and which plan (e.g. monthly or annual).
  • Anonymous purchase / refund / renewal events from the store, used solely to grant or revoke premium features inside the app.

We do not receive your name, email (from the store's billing system), billing address, payment method, or any other identifying information.

To cancel or refund a subscription, use Settings → Apple ID → Subscriptions on your iPhone, or Google Play → Payments & subscriptions on Android.

Telemetry and crash reports

  • Usage telemetry (Amplitude, EU data center): which screens and features are used, app version, device model, watch model, language, and aggregate session statistics (for example swing counts and average metric values). Telemetry is tied to a randomly generated device identifier — never to your name, email, or account. On Android and Wear OS, heart-rate data is never included in telemetry. If you installed the iOS app through an Apple Ads campaign, Apple provides anonymous campaign identifiers that we attach to telemetry; these identify the ad campaign, not you.
  • Crash and error reports (Sentry, EU): stack traces and device state at the moment of a crash, used only to fix bugs. On Android, crash reporting is off until you opt in.
  • Install attribution (iOS and Android apps): when the app is first opened it sends our server a few characteristics of the phone (operating-system version, device model, screen size, timezone, language) together with the app's random device identifier, which we use only to determine whether the install came from an ad we ran. If it did, we report a single anonymous "app installed" event to the ad network so the ad is credited, and note the ad source and campaign in telemetry. If it did not, nothing is stored.

Website (golfwatch.app)

The website is a static site. Apart from the ChatGPT ads measurement described below, it runs no advertising scripts and sets no advertising cookies. It uses Google Analytics (Google LLC) to see which pages are read and where visitors arrive from. No analytics cookies are set until you tap Accept in the cookie bar at the bottom of the page; until then, or if you decline, Google receives only cookieless page-view pings with no persistent identifier. If you accept, Google sets its analytics cookies on golfwatch.app, which expire two years after your last visit. Google processes this data under Google's privacy policy. We look only at aggregate reports; the data is never joined with app telemetry or account data, and we do not use it for advertising.

Your choice is remembered in your browser for twelve months. To change it at any time, use the Cookies link in the page footer.

Our web server also keeps standard access logs (IP address, requested page, browser type, referring site) for security and abuse prevention; they are deleted after ten days. From these logs we compute aggregate, cookieless visit statistics that contain no personal data and are shared with no one.

ChatGPT ads measurement. We advertise the app inside ChatGPT. To measure whether those ads lead to downloads, every page loads OpenAI's measurement script. If you arrive from a ChatGPT ad, the ad link carries an anonymous click reference. On our website it is kept in your browser for up to 30 days and reported to OpenAI together with the pages you view and the download links you tap; when one of our links sends you straight to a store, our own server reports that store visit to OpenAI with the same reference. OpenAI processes these events under OpenAI's privacy policy. Visitors who did not arrive from a ChatGPT ad have no click reference, and nothing about them is attributed. When a visitor with a click reference taps an App Store or Google Play link, or follows one of our links that sends them straight to a store, our own server also records that tap together with the IP address and basic browser characteristics (screen size, operating-system version, timezone, language — whichever the browser provides) for up to 8 days, solely to credit the ad if the app is then installed (see "Install attribution" above). No advertising identifier is used.

The website's outbound calls are:

  • Google Analytics (googletagmanager.com, google-analytics.com) — on every page, cookieless until you accept.
  • OpenAI (bzrcdn.openai.com, bzr.openai.com) — on every page, for ChatGPT ads measurement.
  • Our own server — when a visitor who arrived from a ChatGPT ad taps an App Store or Google Play link.
  • Apple App Store / Google Play / Garmin Connect IQ Store — when you click a download link.

How we use your data

  • To provide the app's core features (recording swings, scoring, coaching insights, subscription gating).
  • If you have an account: to sync your sessions, coach profile, and settings across your devices.
  • To diagnose bugs and improve the app, using anonymous telemetry and crash reports.
  • To process subscription purchases through Apple and Google.
  • To see which website pages are read, using aggregate Google Analytics reports and our own cookieless server-log statistics.
  • To credit a ChatGPT ad for an app install, as described under "Install attribution".

We do not:

  • Sell your data.
  • Share it with advertisers, marketing networks, or data brokers — except the anonymous ad-credit events described under "Install attribution" and "ChatGPT ads measurement" (a store visit and an app install, for visitors who arrived from a ChatGPT ad).
  • Use your health or fitness data for advertising of any kind.
  • Use it for profiling beyond what is required to compute swing scores and coaching tips.

Data processors

The following third parties process data on our behalf:

  • Apple — Sign in with Apple identity tokens are validated by Apple before we accept them. The App Store handles all iOS subscription payments.
  • Google — Google sign-in identity tokens are validated by Google before we accept them. Google Play handles all Android purchases.
  • Supabase (privacy policy) — hosts the authentication service, the account database (including synced sessions), and the edge functions described under "Account (optional)" above. Region: European Union.
  • Amplitude (privacy policy) — receives anonymous telemetry events from the apps. EU data center.
  • Sentry (privacy policy) — receives crash and error reports from the phone apps. EU region.
  • Google Analytics (Google LLC — privacy policy) — receives the website page-view data described under "Website". Not used by the apps.
  • OpenAI (privacy policy) — receives website measurement events, the store-visit event from our direct store links, and the ad-credit install event — all only for visitors who arrived from a ChatGPT ad. Not used by the apps otherwise.

How long we keep your data

  • Watch and phone apps: swing and session data are kept on your devices until you delete them or uninstall the apps.
  • Account data: retained for as long as you keep your account active, including synced sessions and swings. You can delete it at any time from Settings → Account → Delete Account; deletion is immediate and permanent.
  • Anonymous telemetry: retained for up to 24 months from the event date, then automatically deleted.
  • Crash reports: retained for up to 90 days, then automatically deleted.
  • Website analytics: your cookie choice is remembered for twelve months; Google Analytics keeps its event data for up to 14 months and its cookies, set only if you accepted, expire two years after your last visit; raw server access logs are deleted after ten days; the aggregate visit statistics computed from them contain no personal data and are kept indefinitely.
  • Subscription state: retained for as long as the subscription is active and for the period required by Apple's and Google's records.
  • Ads measurement: the ad click reference is kept in your browser for up to 30 days; download-link tap records are deleted within 8 days; the record of a credited install (device identifier and click reference) is kept as the record of that credit.

Your rights

If you are in the European Economic Area, the United Kingdom, California, or another jurisdiction with a comparable data protection law, you have the right to:

  • Ask what personal data, if any, we hold about you.
  • Request deletion of analytics events tied to your device's anonymous identifier, of any ad-credit record tied to that identifier, and of any account data (the in-app Delete Account option also satisfies this).
  • Object to or restrict processing.
  • Lodge a complaint with your local data protection authority.

To exercise any of these rights, email drivingrangeapp@gmail.com with a description of your request and, where possible, the anonymous device identifier shown in the app's Diagnostics screen (where available). We will respond within 30 days.

Children

The app is not directed to children under 13, and we do not knowingly collect data from children under 13. If you believe a child has used the app, please contact us and we will delete any associated data.

Security

We rely on the security of the underlying platforms (Apple iOS and watchOS, Android and Wear OS, Garmin Connect IQ, Supabase). Account data on Supabase is protected by row-level security policies that ensure each user can only read their own rows; sensitive auth tokens are restricted to server-side use only. Communication between the apps and our backend uses HTTPS exclusively.

Changes to this policy

When this policy changes materially, we will update the "Last updated" date at the top and announce the change in the apps' release notes. Continued use of the app after a change constitutes acceptance of the revised policy.

Contact

Questions, requests, or complaints about this Privacy Policy:

Email: drivingrangeapp@gmail.com