Privacy

Your video never leaves your phone.

This is the privacy policy for the SwingOK iPhone app and for this website. The app analyses your swings on the phone itself and sends us nothing. The website keeps a short list of things, all of them described below.

Last updated

The short version

The app has no account, no advertising, no analytics and no tracking SDK, and its App Store privacy label is “Data Not Collected”. Your swings are recorded, analysed and stored on your iPhone, and nothing is uploaded to us. On this website, if you join the beta with Sign in with Apple we keep your Apple user ID, the email Apple shares (which can be a Hide My Email address) and, if you share it, your name. If you join the waitlist we keep your email. The site measures its own visits with analytics we host ourselves. Nothing is sold or shared.

What the app does on your iPhone

SwingOK uses the camera to record your swings. Each recording and its analysis (your body's position, the club, the seven checkpoints and every check) are stored in the app's own storage on your iPhone. The analysis runs on the device, with Apple's Vision framework and models built into the app. There is no upload step and no server in that loop: we do not have a copy of your swings and could not produce one if asked. More on how it works.

Your practice history (the measurements of each swing, your level, streaks and drills) and your settings are kept on the phone too, so the Trends tab can show how you are improving. You can clear the history in Settings.

The app has no account and no sign-in. It contains no advertising, no analytics, and no third-party tracking or crash-reporting SDK, and it does not track you across other companies' apps or websites.

Permissions the app asks for

  • Camera. To record your swings. Video stays on your iPhone, as described above.
  • Microphone. Only if you turn on “Only keep swings that hit a ball”. The microphone then listens for the strike while you practise, so practice swings can be skipped. The sound is heard on the device and is never recorded, stored or sent anywhere. With that switch off, SwingOK does not use the microphone.

Importing a video uses the system Photos or Files picker, which runs outside the app. SwingOK sees only the video you pick and copies it into its own storage; it cannot read the rest of your library.

When something leaves your phone

Only when you send it. “Report for your coach” makes a PDF on your phone and opens the iOS share sheet; it goes only where you send it, under that app's own privacy policy. The privacy and support links in Settings open this website in Safari. The app makes no other network requests.

TestFlight beta builds only. Beta builds can include a bug reporter. It sends nothing on its own. If you file a report, it uploads what you write, an optional voice note or screen recording you choose to make, the screen you were on, your device model and iOS version, the app version, and technical details of the swing on screen, to a server we operate. Reports are used only to fix the app. TestFlight itself is run by Apple: when you install the beta, Apple shares your TestFlight email, crash reports and any feedback you send through TestFlight with us, under Apple's TestFlight privacy notice. Builds from the App Store contain no bug reporter.

Joining the beta with Sign in with Apple

The “Sign in with Apple” button on this site takes you to Apple, who asks whether to share your name and your email or a Hide My Email address. Apple then sends this site a signed token, which we check against Apple's published keys. We never see your Apple ID password. After you sign in, the page shows you how to install the beta through TestFlight.

When you sign in, this is the complete record we keep.

StoredWhy
Apple user IDThe stable, anonymous identifier Apple gives this website for your Apple Account. It is how we know a second sign-in is the same person, and it is not your Apple ID or email.
Email addressThe address Apple shares with us. If you chose Hide My Email it is a private @privaterelay.appleid.com relay, which forwards to you and which you can switch off in your Apple Account settings at any time.
NameOnly if you share it on Apple's sign-in sheet, which Apple offers the first time only. Used to address you if we write about the beta.
Device and browserA coarse device word (iphone, ipad, android, mac, windows, other) and your browser's user-agent string at sign-in. It tells us which phones testers use and helps us fix sign-in problems on a particular browser.
Where you came fromWhich button you pressed and, if the link you followed carried them, the campaign tags (utm_source, utm_medium, utm_campaign) and whether you scanned the QR code. It tells us which posts bring testers.
TimesWhen you first signed in, when you last did, and how many times.

We use it to run the beta: to know how many people joined and from where, and, if we need to, to write to you about the beta. Two cookies make the sign-in work: a ten-minute one that carries the sign-in across the trip to Apple, and a receipt that lets this site show you the install steps again for 30 days. Neither is used for advertising or tracking. You can stop sharing your email with SwingOK in your Apple Account settings (Sign in with Apple), and we will delete your record if you ask.

What the waitlist form collects

The waitlist is shown on phones and computers that can't install the iPhone beta. When you submit it, exactly five things are written to our database.

StoredWhy
Email addressSo we can write to you about SwingOK. It is the only thing you type into the form.
SourceWhich form you signed up from, for example the one shown on Android phones, where SwingOK does not run yet.
Device bucketA single coarse word derived from your browser's user-agent: iphone, ipad, android, mac, windows, other or unknown. We never store the raw user-agent string for the waitlist.
ReferrerThe page you were on before you landed here, truncated. It tells us where our readers come from.
Signup timestampWhen you signed up.

If you sign up twice with the same address, nothing new is written. To protect the form from scripts we keep a salted SHA-256 digest of your IP address next to a counter for one hour, never the address itself, and the form carries two invisible anti-bot checks that are not stored.

How this site measures itself

We run our own analytics, hosted on our own server (OpenObserve at data.swingok.com), not a third party's. It records page views, clicks, performance and errors, and a replay of the visit so we can see where a page confuses people. Text you type into a form is masked in the replay. It keeps a random visitor ID in your browser's local storage so that two visits can be recognised as the same browser; it is not linked to your name, and it is not shared with anyone.

  • No third-party analytics, ads or tracking pixels. No Google Analytics, no ad network, no social pixel.
  • No third-party font or asset calls. The typefaces are served from our own domain.
  • No selling, renting or sharing your data. Not for money, not for “partnerships”, not ever.

Our hosting provider and Cloudflare, which sits in front of the site, process requests to serve it, as any host must.

Retention, deletion and children

Your swings live only on your iPhone: deleting a swing deletes its files, and deleting the app deletes everything it stored. Beta sign-ins and waitlist entries are kept until the app launches and the beta ends, or until you ask us to delete yours, whichever comes first.

To be removed, or to ask what we hold about you, email [email protected]. If you signed in with Hide My Email, write from that relay address or tell us it. We will delete the record and confirm. You do not need to give a reason.

SwingOK does not knowingly collect personal information from children. If something on this page turns out not to match what the code does, that is a bug and we want to hear about it at the same address.

Get the free beta