Privacy Policy
Last updated: 8 June 2026
1. Who we are
RepOne is developed and operated by Alex Kuchar ("I", "me", "my"). This Privacy Policy explains what data RepOne collects, how it is used, and your rights regarding that data.
Data controller: Alex Kuchar — alex@getrepone.app
2. Data stored on your device
The vast majority of RepOne data never leaves your device. The following is stored exclusively in SwiftData on-device and is not transmitted to any server under normal use:
- Your name and fitness profile (goal, experience level, body measurements, preferred units)
- Training days and weekly plan structure
- All routines, exercises, sets, reps, and weights you log
- Workout history and personal records
- Bodyweight logs
Your name is also stored in Apple's UserDefaults so it persists across app restarts. Note that UserDefaults data is not backed up to iCloud and will not survive a full uninstall.
Exception — Coach Context: If you are a Pro subscriber and choose to attach context to a Coach message using the + button (Recent Workouts, Active Plan, or Body Stats), a summary of the selected on-device data is included in that API request and transmitted to Anthropic's servers as described in Section 4. This is entirely optional and opt-in per message — no data is sent without your explicit action.
3. Apple HealthKit
If you grant permission, RepOne reads your daily step count from HealthKit to detect active rest days. This data is accessed locally on your device and is never sent to any external server. You can revoke this permission at any time in iOS Settings → Privacy → Health.
4. AI Coach (Coach)
The AI Coach feature ("Coach") is available to RepOne Pro subscribers and to users who have purchased AI Credits. It lets you have a conversation with an AI assistant to build personalised workout routines. When you use Coach:
- Your messages and the conversation history are transmitted to a Cloudflare Worker which forwards them to Anthropic's Claude API to generate a response.
- The list of available exercises (names, muscle groups, equipment) is included in each request as context so Coach can reference your library.
- If you attach context via the + button (Recent Workouts, Active Plan, or Body Stats), a summary of that on-device data is appended to the request. See Section 2 for details.
- Coach may autonomously perform web searches via Anthropic's servers when it determines a search would be helpful (e.g. finding exercise demonstration videos). You cannot directly trigger or suppress individual searches. This is performed entirely server-side by Anthropic — the App itself does not make separate requests to third-party sites.
- Responses are streamed back in real time and rendered in the chat interface.
Anthropic (Claude API): Messages processed via the API are subject to Anthropic's Privacy Policy. Anthropic does not use API messages to train their models by default, and data is not retained beyond the duration needed to fulfil the request.
Cloudflare: The Worker acts as a proxy and does not persist your messages. Standard Cloudflare access logs may be retained per Cloudflare's Privacy Policy.
App Attest (device security): To verify that API requests originate from the genuine, unmodified RepOne app, the App uses Apple's App Attest service via the DeviceCheck framework. This generates a cryptographic attestation verified against Apple's public keys. No personally identifiable information is shared as part of this process. See Apple's Privacy Policy for details.
Do not include sensitive personal information (e.g. medical conditions, medications) in Coach conversations.
5. Subscriptions and AI Credits (RevenueCat)
RepOne Pro subscriptions and AI Credit purchases are managed via Apple In-App Purchase. RevenueCat is used to verify entitlement status and manage purchase state. RevenueCat may collect:
- Anonymous app user ID (randomly generated, not linked to your identity)
- Purchase history and subscription status
- App version and device platform
Your AI Credit balance is managed as a RevenueCat virtual currency ("CRD") and is held server-side by RevenueCat. It is linked to your RevenueCat app user ID (derived from your Apple ID) and will be restored if you reinstall the App and your Apple ID remains the same.
See RevenueCat's Privacy Policy for full details. Payment processing is handled entirely by Apple; I do not receive or store your payment card details.
6. Customer support
Support is handled directly via email at alex@getrepone.app. When you contact support, your name, email address, and the contents of your message are received and retained to allow follow-up and to improve the service. No third-party support platform is used.
7. Push notifications
If you enable workout reminders, RepOne schedules one local notification per training day. The notification time is personalised based on your historical workout start times — the App estimates when you typically train and schedules the reminder accordingly. This calculation happens entirely on-device; your workout history is never transmitted to a server for this purpose. These notifications are generated locally — no data is sent to a server to deliver them.
8. No tracking or advertising
RepOne does not use any advertising SDKs, does not track you across apps or websites, and does not sell your data to third parties. The Apple privacy manifest declaresNSPrivacyTracking: false.
9. Your rights (GDPR)
If you are located in the European Economic Area, you have the following rights regarding your personal data:
- Access — you can request a copy of the data I hold about you.
- Rectification — you can correct inaccurate data directly in the app (Settings → Profile).
- Erasure — you can delete all your data at any time using "Reset All Data" in Settings, or by uninstalling the app.
- Portability — you can request an export of your data.
- Objection — you can object to processing at any time.
To exercise any of these rights, contact me at alex@getrepone.app.
10. Data retention
All on-device data is retained until you delete it or uninstall the app. AI Coach conversation messages are not retained server-side beyond the processing request. RevenueCat subscription records are retained per their policy.
11. Children
RepOne is not directed at children under 13. I do not knowingly collect personal information from children under 13. If you believe a child has provided personal information, please contact me and I will delete it promptly.
12. Changes to this policy
I may update this Privacy Policy from time to time. Significant changes will be communicated via an in-app notice. The date at the top of this page always reflects the most recent revision.
13. Contact
Questions or complaints about this Privacy Policy: alex@getrepone.app
If you are located in the EU and believe your rights have not been adequately addressed, you have the right to lodge a complaint with your local data protection authority.