Privacy Policy — CoachSwim
Effective date: October 30, 2026
CoachSwim ("CoachSwim", "we") is a swim training app for Android, operated by Nguyễn Ngọc Ẩn. This policy explains what we collect, why, who processes it, and how you stay in control.
In short
- Your swim videos never leave your phone. Pose tracking runs on the device.
- We connect to Garmin only with your permission, only to send workouts to your Garmin Connect calendar.
- We never sell your data, and we never use Garmin data — or anything derived from it — to train, evaluate or improve any AI model.
- You can disconnect Garmin, and ask us to delete your data, at any time.
1. What we collect
Stored only on your phone
- Your swim profile: goal, pool length and threshold pace.
- Your plan, which sessions you've marked done, and your free-tier usage counts.
- Videos you choose to analyse. They are read on the device and are never uploaded.
Sent to our servers when you use a feature
- Plan generation: goal, pool length, threshold pace and, if you've analysed a video, the measured joint angles.
- Technique notes: a short summary of joint angles and one compressed still frame (at most 50 KB) from your video.
- Quick workouts: the text you type or dictate.
- Garmin connection: see section 2.
On our website
- If you join the beta waitlist, the email address and details you enter.
2. Garmin Connect
When you choose Connect Garmin in the app, Garmin asks you to approve access. If you approve, we receive and store:
- a Garmin access token and refresh token, which let us act on your behalf;
- your Garmin API user ID and the permissions you granted.
We use this only to send the workouts you choose to your Garmin Connect calendar (Garmin Training API). We do not currently read activities, health or other data from your Garmin account. If we add that later, we will update this policy and ask for your consent in the app first.
The tokens are stored on Cloudflare's servers, linked to a random identifier for your app installation rather than to your name or email. Garmin data is never sent to AI services.
3. Who processes your data
| Provider | What they do for us | Data involved |
| Cloudflare, Inc. | Hosts our website and API, and stores Garmin connection tokens and waitlist sign-ups | Garmin tokens and user ID, waitlist entries, request data passing through our API |
| Google LLC (Gemini API) | AI service that writes training plans, technique notes and parses quick workouts | The inputs listed under "Sent to our servers" above. No Garmin data. |
| Garmin Ltd. and its subsidiaries | Receives the workouts you send to your Garmin Connect account | Workout content |
We do not sell, rent or trade your data, and we do not share it with anyone else unless required by law.
4. AI transparency statement
- What uses AI: training plan generation, the written technique notes after a video analysis, and turning quick-workout text into a structured workout. These are processed by Google's Gemini API.
- What doesn't: pose tracking runs on your phone without sending video anywhere. Garmin data is never sent to an AI service.
- No training on your data: we do not use your data to train, evaluate or improve AI models, and we never use Garmin data, or anything derived from it, for any AI purpose.
- Your choice: AI features run only when you use them. If AI isn't reachable, the app uses an on-device plan instead. You can stop sending data to the AI service by not using those features, and you can ask us to delete anything we hold (section 6).
5. Security and retention
All traffic to our servers uses HTTPS. Garmin tokens are kept until you disconnect Garmin or ask us to delete them, and are removed if Garmin reports that you revoked access. Short-lived sign-in records expire within 10 minutes. We do not keep the content you send for plan generation or technique notes after responding.
6. Your choices and rights
- Disconnect Garmin: in the app, open Profile & settings → Garmin Connect → Disconnect. We delete your tokens and tell Garmin to remove the connection. You can also revoke access from your Garmin Connect account settings.
- Delete on-device data: uninstall the app, or clear its storage in Android settings.
- Access, correct, export or delete: email nguyenngocan.hcmut@gmail.com. We respond within 30 days.
- Withdraw consent: you can withdraw consent for any processing at any time using the options above. This doesn't affect processing that already happened.
7. Children
CoachSwim is not directed at children under 16 and we do not knowingly collect their data.
8. Changes
If we change this policy, we will update the date above and, for material changes, tell you in the app before they apply.
9. Contact
Nguyễn Ngọc Ẩn · nguyenngocan.hcmut@gmail.com