1. We do not collect any personal data
The App does not collect, transmit, or store any personal information on our systems. Specifically, the App does not:
- Require or offer an account, sign-in, email address, or password
- Send your videos, photos, swing analyses, scores, or any other content to us or to any third party
- Collect usage analytics, event telemetry, crash reports, or product metrics
- Use advertising identifiers (IDFA), tracking pixels, cookies, or cross-app tracking
- Access your location, contacts, calendar, microphone, health data, or motion data
- Show advertisements
- Contain any third-party analytics, advertising, or attribution SDK
The App contains no networking code. It cannot upload your content, because it has no ability to make network requests. The only network activity associated with the App is Apple's own App Store connection used for in-app purchases (see Section 5).
The App's Apple Privacy Manifest (PrivacyInfo.xcprivacy) declares no
collected data types and no tracking, consistent with the above.
2. Your swing videos
Choosing a video
To analyse a swing, you pick a video from your photo library using Apple's standard photo picker. iOS shows you this picker and hands the App only the single video you select — the App never gets access to the rest of your photo library, and it does not browse, index, or read any other media.
The App requests photo library access for this purpose only, described in iOS as: "Select golf swing videos to rate or analyse." The App does not record video itself and does not use your camera.
Analysis happens entirely on your device
All swing analysis runs locally on your device using machine learning models bundled inside the App:
- A pose estimation model (MediaPipe) that locates body landmarks in each frame
- A keyframe model that predicts the start, top, and contact frames of the swing
- A golf club detection model that locates the club and club head
- On-device metric and diagnosis logic that produces your score, findings, and Swing Lab report
These are local model files shipped with the App, not cloud services. No frames, landmarks, images, scores, or analysis results are sent anywhere. Analysis works with the device in airplane mode.
Where your videos and results are stored
Everything the App saves stays in the App's own private storage on your device (its iOS sandbox), which no other app can read:
| What | Where | Why |
|---|---|---|
| The video you selected, while it is being processed | Temporary directory | Working copy for analysis |
| Videos of analysed swings | App Support → ButterySwing/videos |
So you can re-open a swing from your Library |
| Analysis results (scores, findings, keyframes, club detections) | App Support → ButterySwing/results |
So a report can be rebuilt without re-analysing |
| Your swing history list (swing name, date, score, finding count) | App Support → ButterySwing/swing_history.json |
Powers the Library screen |
| Swing Lab token balance and processed purchase IDs | App preferences (UserDefaults) |
Tracks your token balance and prevents double-crediting a purchase |
The names attached to your swings are whatever you type in yourself — the App does not ask for, suggest, or require your real name.
None of this is backed up to our systems, because we do not have any. If you use iCloud or encrypted device backups, this data may be included in your own Apple backup under Apple's terms, not ours.
3. You are in control of your data
- Delete an individual swing: open the Library, tap delete on a swing, and confirm. This permanently removes that swing's stored video and its analysis results from your device.
- Delete everything: delete the App from your device. iOS removes the entire App sandbox, including all stored videos, analyses, history, and your saved token balance.
Because we never receive your data, there is no server-side copy of anything to request, export, or ask us to erase.
Note: deleting a swing from Buttery Swing does not delete the original video from your photo library. The App only ever copies the video you select; it never modifies or deletes anything in Photos.
4. There are no social or sharing features
Buttery Swing has no friends, followers, profiles, feeds, or global leaderboards. When you rate multiple swings in one session, the "leaderboard" you see simply ranks those swings against each other on your device. Nothing you do in the App is visible to anyone else.
5. Purchases
Swing Lab reports are unlocked with tokens, which you can buy as in-app purchases through Apple's App Store.
The App does not collect, store, receive, or have access to your payment information. All purchases are handled by Apple via StoreKit. The App only ever sees a verified confirmation from Apple that a purchase completed, along with the product identifier and a transaction ID, which it uses to add tokens to your local balance and to make sure the same purchase is never credited twice. Your token balance and the list of already-credited transaction IDs are stored only on your device.
Apple's handling of your purchase and payment details is governed by Apple's Privacy Policy.
Tokens are consumable and are tracked locally on the device where they were purchased. Because there are no accounts, a token balance does not follow you to another device, and deleting the App clears any unused balance.
6. Children
Buttery Swing is not directed at children under 13. Since the App collects no personal information from anyone, it collects no personal information from children.
7. Security
Your content stays inside the App's iOS sandbox and benefits from the device-level protection iOS provides, including your passcode and device encryption. Since nothing is transmitted off your device by the App, there is no data in transit to intercept and no database of user content that could be breached.
8. Third-party components
The App bundles open-source software, including machine learning models and
libraries, to perform on-device analysis. These are compiled into the App and run
locally — they are not services, they do not phone home, and they receive no data
beyond the frames being analysed on your device. See
THIRD_PARTY_NOTICES.md in the App's source distribution for
attributions.
9. Changes to this policy
If the App gains features that change how data is handled — for example, optional accounts or cloud backup — this policy will be updated before those features ship, and the "Last updated" date above will change. Any such feature would be opt-in, and this document would describe exactly what it involves.
10. Contact
Questions about this policy or about privacy in Buttery Swing: