Aski is a solo iOS and watchOS app operated by Cas van der Hoven as an independent developer. The section above is the short version; what follows is the policy in long-form, for reference.
What the developer can see
Nothing. Aski has no backend. The developer does not operate any server that receives data from the app, does not embed any analytics SDK, crash reporter, advertising identifier, or third-party tracking library, and has no way to read your workouts, sessions, or health data.
What the app reads from your iCloud Drive
Aski reads workout JSON files from the folder
Aski/Documents/workouts/ in your own iCloud Drive.
This is how AI-generated or hand-authored workouts get into the app —
you drop a file into that folder on any of your devices, iCloud syncs
it, and Aski imports it.
The app (running on your device, under your Apple ID) is the only thing that touches these files. The developer has no access to your iCloud account. If you uninstall Aski, the app loses its read access to that folder; the files themselves stay under your control in iCloud.
What the app stores locally on your device
- Session logs. Completed sets, reps, weights, timing, and optional pain notes are persisted via SwiftData in the app's sandboxed storage on your device.
- HealthKit writes. When you finish a session, Aski writes a workout record (including heart-rate samples from your Apple Watch) to HealthKit on your phone. You control HealthKit access from iOS Settings and can revoke it any time.
- App settings. Preferences like training mode, PR celebration, and morning-check timing live in UserDefaults, local to the app.
AI chatbots
Aski is designed to work with any AI chatbot you prefer (ChatGPT, Claude, Gemini, a local model, etc.) for generating workout and plan JSON. That interaction happens entirely in your chatbot — Aski has no awareness of which chatbot you used, and there is no integration layer collecting prompts or responses. The chatbot's own privacy policy governs what happens inside that tool.
Phase 1 adds an in-app handoff: tapping Write one with my AI coach copies a prompt containing your goal and current plan state to the clipboard, then opens Claude, ChatGPT, or Gemini via a universal link. The clipboard contents become subject to the chatbot's terms once you paste; Aski never makes a network call to any chatbot API, and never sees the chatbot's reply except as a plan JSON file you save into your iCloud Drive.
Strava (optional, one-way)
You can connect Aski to Strava from Profile → Connections → Strava. When you do:
- OAuth access and refresh tokens are stored in the iOS Keychain on your device. They are only used to make signed requests to Strava's API from your phone.
- After each completed session, Aski uploads a session summary (duration, distance where applicable, average heart rate, calories estimate) to your Strava account. This is one-way; Aski does not read anything back from Strava.
- You can revoke Aski's Strava access any time from your Strava settings.
Garmin Connect (optional, two-way, Phase 2)
Aski's roadmap includes an optional Garmin Connect integration. Phase 1 does not include this integration; the Garmin row in Profile → Connections is disabled until the Garmin Developer Program approves Aski's application. When it ships:
- Activity API (Garmin → Aski). When you finish a run
on your Garmin watch, the activity flows into Aski via Garmin's
Activity API webhook. Aski uses it only to link the run to the
matching planned
PlanItemin your training plan. No third-party sharing, no aggregate analytics. - Training API (Aski → Garmin). When you have a planned run on your active training plan, Aski can publish it as a structured workout to your Garmin Connect calendar so your watch knows the intervals before you head out. You control this per-plan and can disable it any time.
- OAuth 2.0 access and refresh tokens are stored in the iOS Keychain on your device. They are only used to make signed requests to Garmin's API from your phone, never relayed through a backend (Aski has none).
- You can revoke Aski's Garmin access any time from your Garmin Connect account (Account → Apps), or by tapping Disconnect Garmin in Aski.
Apple services
When you install Aski through the App Store, Apple handles purchase, billing, and delivery. Their handling is governed by Apple's privacy policy. Aski does not receive your name, email, or Apple ID.
Notifications
Aski schedules at most one local notification per session — the next-morning reactivity check, which you can disable from Profile → Training → 24h check after rehab sessions or revoke entirely via iOS notification permissions.
Changes to this policy
If this policy changes in any material way, the effective date above will update and a note will appear in the changelog.