Privacy Policy

Last updated: June 2026

Who we are

The data controller for IntervalCoach is Russchen Media (operating under the registered Dutch trade name IntervalCoach), a sole proprietorship registered in the Netherlands at Kloosterhout 27, 9408 DL Assen, Chamber of Commerce number 51094282. For any privacy-related question, or to exercise your rights, contact coach@intervalcoach.app.

We have assessed whether we are required to appoint a Data Protection Officer under Article 37 GDPR and have concluded that we are not, because our processing does not reach the large-scale threshold for that obligation. The benchmark cohorts we build from training metrics (see the Benchmarks section below) are statistical aggregates drawn only from groups of at least 50 people, so the figures do not identify any individual, and our processing of special category data is limited to the personalised features you explicitly opt in to. You can raise any privacy concern, or object to the benchmark processing, via the email above.

Overview

IntervalCoach is an AI-powered training assistant that generates personalized cycling, running, swimming, walking, hiking, and strength workouts. This privacy policy explains how we collect, use, and protect your data when you use our service.

Legal basis for processing (GDPR Article 6)

If you are in the European Economic Area or the United Kingdom, we process your personal data on the following legal bases:

  • Performance of a contract (Article 6(1)(b)): account creation, OAuth authentication, retrieving your training data from Intervals.icu, generating workouts and analyses, processing your subscription via Stripe or Apple.
  • Explicit consent (Article 6(1)(a) and 9(2)(a)): processing of health and wellness data (heart rate variability, sleep, resting heart rate, recovery), and sending optional marketing or product-update emails. You may withdraw this consent at any time through Settings or by contacting us.
  • Legitimate interests (Article 6(1)(f)): error monitoring through Sentry, fraud and abuse prevention, security of the service, investigating support reports you submit, and improving the service based on abstracted, non-identifying patterns we observe in usage and reports. Where we rely on legitimate interests we have assessed that our interest does not override your privacy rights; you may object to this processing at any time.

Data We Collect

When you connect your Intervals.icu account, we access:

  • Fitness metrics: CTL, ATL, TSB, eFTP, and training load data
  • Wellness data: HRV, sleep, resting heart rate, and recovery status. If you connect Whoop or Apple HealthKit, the same categories of data are read from those sources.
  • Activity history: Recent workouts, power/pace data, and training zones
  • Calendar events: Planned workouts and race goals

We only access data necessary to generate personalized workout recommendations. We do not access your personal profile information, payment details, or data unrelated to training. Training data linked to your account is pseudonymised — it is associated with an internal session identifier, not your name or email, when sent to external AI providers.

Health and wellness data (special category)

Some of the data you connect to IntervalCoach — heart rate variability, sleep, resting heart rate, recovery scores from Whoop or Apple Health — constitutes special category data ("health data") under Article 9 of the GDPR. We process this data only with your explicit consent, which we ask for before the first time this data is used. You may withdraw consent at any time in Settings, after which we will stop processing this data and delete what we have cached. Withdrawal does not affect the lawfulness of processing carried out before withdrawal. If you do not give this consent, IntervalCoach will still function on the basis of training data alone, but recovery-aware features will be less personalised.

Apple Health (HealthKit)

On iPhone and Apple Watch, the IntervalCoach app can read the categories below from Apple Health on your device. You decide exactly which ones to share in Apple’s permission screen, and you can change that at any time in the Health app — we only ever read what you have allowed, and only while permission is granted:

  • Wellness and recovery: heart rate variability, resting heart rate, respiratory rate, blood oxygen, wrist temperature, sleep, VO2 max, heart-rate recovery, body weight, and body fat percentage
  • Menstrual cycle (optional): menstrual flow, read only if you choose to share it, to make recovery and readiness more accurate
  • Workouts: your recorded workouts and exercise sessions, including heart-rate samples and GPS route data when present, which we sync to your training log

The app reads this data on your device and sends only what is needed to provide IntervalCoach’s features: recovery-aware readiness, training analysis, and syncing completed workouts to your training log. We never read from Apple Health on our servers — the iOS app decides what to send. You can revoke access at any time in the iOS Settings or Health app, which immediately stops all access.

IntervalCoach does not write any data into Apple Health. With your permission, the iOS app can schedule your planned IntervalCoach workouts in the Apple Watch Workouts app (via WorkoutKit), so you can start a session from your watch.

Data obtained through HealthKit is used only to provide the features described above. We do not use Apple Health data for advertising, we do not sell it, and we do not share it with third parties except as strictly needed to provide the Service. We do not use Apple Health data to develop, improve, or train generalized or non-personalized AI or ML models; it is used only to power your own personalized coaching.

All the categories above are special category data under Article 9 of the GDPR. Our consent basis is described in the Health and wellness data (special category) section above: granting permission in Apple’s Health app is your explicit consent under Article 9(2)(a).

Google Health Data

If you choose to connect Google Health (through Health Connect or your Google account), IntervalCoach accesses the following data with your explicit consent, and only while the connection is active:

  • Activity and fitness: workouts, steps, distance, and VO2 max
  • Health metrics and measurements: heart rate variability, resting heart rate, blood oxygen, respiratory rate, skin temperature, and body composition
  • Sleep: sleep stages, duration, and efficiency
  • Location: GPS routes attached to your outdoor workouts, used to show the route map and export the activity

This data is used solely to provide IntervalCoach's core features: recovery-aware readiness, training analysis, and syncing your workouts. You can disconnect Google Health at any time in Settings, which immediately stops all access.

IntervalCoach's use and transfer of information received from Google APIs to any other app will adhere to the Google API Services User Data Policy, including the Limited Use requirements. We do not use Google Health data for advertising, we do not sell it, and we do not allow humans to read it except where you explicitly ask us to (for support), where required for security, or where required by law. We do not use Google Health data to develop, improve, or train generalized or non-personalized AI or ML models; it is used only to power your own personalized coaching.

Health Connect (Android)

On Android, when you grant Health Connect permission, the IntervalCoach app reads the following from Health Connect on your device, and only while those permissions are granted:

  • Wellness and recovery: heart rate variability, resting heart rate, heart rate, respiratory rate, blood oxygen, skin temperature, sleep, VO2 max, heart-rate recovery, and body composition (weight and body fat)
  • Workouts: your recorded workouts and exercise sessions, including heart-rate samples and route/location data when present

The app reads this data on your device and, with your consent, sends only what is needed to provide IntervalCoach's features: recovery-aware readiness, training analysis, and training-load accuracy. You can revoke access at any time in Android settings or in Health Connect.

In a future update, the app may write the interval workouts you complete in IntervalCoach back to Health Connect, so your other apps can see them. This happens only with your explicit Health Connect write permission.

Our access to and use of Health Connect data complies with the Google Play Health Connect permissions policy, and we use it only to provide the features described above. We do not use Health Connect data for advertising, and we do not sell it. We do not use Health Connect data to develop, improve, or train generalized or non-personalized AI or ML models; it is used only to power your own personalized coaching.

How We Use Your Data

Your training data is used to:

  • Generate AI-powered workout recommendations tailored to your fitness level
  • Analyze your training load and recovery status
  • Track zone progression and identify training gaps
  • Send workout summaries and coaching insights (if enabled)
  • Investigate support reports you submit, debug issues, and improve the service. We may extract abstracted, non-identifying patterns from individual reports (for example, the relationship between a workout's name and its measured intensity) to write regression tests and improve our classification logic. These patterns do not contain personal identifiers, and your raw data is never used to train AI models.

Benchmarks and comparisons

We use training metrics from IntervalCoach accounts — power, fitness (CTL), running speed, weekly training load, and age and sex bracket — to build aggregated comparison cohorts, so you can see how your numbers compare to similar athletes (for example “stronger than 70% of riders in your bracket”). A cohort is only built from real user data once it has at least 50 members; smaller groups fall back to published reference values. The benchmarks shown are aggregated ranges and percentiles only and do not contain identifiable data — they never reveal another user’s identity or individual figures. Our legal basis is our legitimate interest in providing these comparative insights, and you can object at any time by contacting us.

Data retention

We retain different types of data for different periods:

  • Account information (athlete ID, email): for as long as your account exists. Deleted within 30 days after account deletion.
  • OAuth tokens (Intervals.icu, Whoop): encrypted, kept while your account is active. Revoked and deleted on account deletion.
  • Training analysis cache: up to 7 days, then re-fetched from Intervals.icu when needed.
  • Coach+ chat history: retained for as long as your account exists or until you delete it; you can clear chat history in Settings.
  • Billing records (Stripe / Apple): retained for 7 years to comply with Dutch tax law (Algemene wet inzake rijksbelastingen, article 52).
  • Email logs (Resend): 90 days for delivery diagnostics.
  • Error data (Sentry): 90 days.

We do not store your raw activity files or detailed workout streams; those remain in Intervals.icu.

Third-Party Services

IntervalCoach uses the following third-party services:

  • Intervals.icu: Your training platform. We access your data via their API with your authorization. Intervals.icu Privacy Policy
  • Google (Gemini): AI model used to generate workout recommendations and coaching advice.
  • xAI (Grok): AI model used to generate workout recommendations and coaching advice.
  • Vercel: Hosting platform and AI Gateway (routes requests to AI providers). Vercel Privacy Policy
  • Vercel Analytics & Speed Insights: Privacy-friendly, cookieless usage analytics and performance monitoring (page views and Web Vitals) used to understand usage and improve the app. No cross-site tracking and no personal identifiers are collected.
  • Stripe: Payment processing for subscriptions. We do not store your payment details.
  • Resend: Email delivery for workout summaries and coaching updates.
  • Sentry: Error monitoring to improve app reliability. No training data is sent to Sentry.
  • Whoop: Optional integration. Read-only access to your recovery and strain data with your explicit consent. Tokens are encrypted at rest and revoked on disconnect.
  • Apple HealthKit: Optional integration. Wellness data (HRV, sleep, resting heart rate, body weight) pushed to us from your iOS device. We never read from Apple Health directly; the iOS app decides what to send. The iOS app can also add your planned IntervalCoach workouts to the Apple Watch Workouts app via WorkoutKit, with your permission.
  • Apple Push & Firebase: Apple Push Notification service and Firebase Cloud Messaging: when you turn on notifications, your device sends us a push token so we can deliver the notifications you have enabled (such as your daily workout and reminders). You can turn notifications off at any time in your device or app settings.
  • Google Health: Optional integration. Read-only access to workouts, GPS, heart rate, sleep, and other wellness metrics from your Fitbit, Pixel Watch, or any Wear OS device, with your explicit consent.
  • Upstash (via Vercel KV): Underlying provider of Vercel KV, which we use to store athlete data, encrypted tokens, and operational caches. Data is held in the EU (Frankfurt) region.
  • Featurebase: Customer support, feedback, and help center. When you open a support thread or use the in-app messenger, your name, email, subscription tier, and current page are shared with Featurebase so we can respond. The widget loads only on signed-in pages.
  • Moneybird: Dutch accounting software. We push billing records (invoices and payment line items) to Moneybird to meet Dutch tax-reporting obligations. We do not push training, wellness, or activity data.

AI Data Sharing

To generate personalized workouts and coaching advice, we send the following training data to AI providers (Google and xAI):

  • Fitness metrics: CTL (fitness), ATL (fatigue), TSB (form), and FTP/threshold values
  • Recent workout history: activity type, duration, power/pace data, and training load
  • Training schedule: available training days, preferred duration, and sport preferences
  • Recovery data: sleep, HRV, and resting heart rate (if Whoop or Apple HealthKit is connected, and only with your consent under section above)
  • Chat messages: questions you ask the AI coach

We do NOT send personal identifiers (name, email address, or account information) to AI providers. Training data is pseudonymised — linked only to an internal session identifier — before transmission.

Your data is not used by Google or xAI to train their AI models, in accordance with the data processing terms of their paid API services. Your data is processed only to generate your response and is not retained by the AI providers beyond completing the request.

You are asked for consent before any health data (special category, under section above) is shared with AI providers. You can revoke access by deleting your account or by withdrawing health-data consent in Settings.

Connecting an external AI assistant (Max plan): if you connect a third-party AI assistant such as Claude, ChatGPT or Cursor through our MCP connection, you authorise it to read your training data and use your coaching tools on your behalf. That assistant then processes your data under its own provider’s privacy policy, not ours. Access is granted through a one-time approval and you can revoke it at any time by removing the connection in your assistant or turning it off under Settings → Beta.

Data Sharing

We do not sell, rent, or share your personal data with third parties for marketing purposes. Your training data is shared with Google and xAI solely for the purpose of generating personalized workout recommendations and coaching advice. This data does not include personal identifiers.

International data transfers

Some of our service providers are based outside the European Economic Area, primarily in the United States. When your personal data is transferred outside the EEA, we rely on the safeguards listed in Articles 44 to 50 of the GDPR — primarily certification under the EU–US Data Privacy Framework where the provider is certified (including Google and Stripe), or the European Commission's Standard Contractual Clauses supplemented where appropriate by additional safeguards. You can request a copy of the relevant transfer documentation by contacting us at coach@intervalcoach.app.

Cookies and tracking

IntervalCoach uses only strictly necessary cookies to operate the service. We do not use third-party advertising analytics or cross-site tracking, advertising pixels, or session-replay tools. Vercel Analytics provides cookieless, aggregated usage data (see Third-Party Services above).

  • Strictly necessary: an HTTP-only encrypted session cookie (ic_session) that keeps you signed in, and a language-preference cookie. These cannot be disabled without making the service inoperable.
  • Error monitoring: Sentry runs in your browser to capture JavaScript errors. Session replay is disabled. Sentry does not set persistent cookies for tracking.

Some service providers (Stripe checkout, Apple App Store) may set their own cookies when you interact with their pages — those are governed by the providers' own policies.

Your rights

If you are in the EEA or UK, the GDPR gives you the following rights regarding your personal data:

  • Access (Article 15): request a copy of the personal data we hold about you.
  • Rectification (Article 16): ask us to correct inaccurate or incomplete data.
  • Erasure (Article 17, "right to be forgotten"): ask us to delete your data. Delete your account in Settings or contact us — we will delete your IntervalCoach data within 30 days. Note that we cannot delete data held by Intervals.icu on your behalf; you control that directly at intervals.icu.
  • Restriction (Article 18): ask us to restrict processing while a dispute is resolved.
  • Portability (Article 20): receive your data in a structured, machine-readable format. Download a JSON copy of everything we hold for you anytime from Settings → Account → "Export my data", or via GET /api/account/export. Your raw workout files (FIT/TCX) live at Intervals.icu and are exportable from there.
  • Objection (Article 21): object to processing based on legitimate interests, or to direct marketing.
  • Automated decision-making (Article 22): IntervalCoach uses AI to generate workout recommendations. These are suggestions, not decisions with legal or similarly significant effects on you. You can always decline or modify any recommended workout. If you would like a human review of any specific recommendation, contact us.
  • Withdraw consent (Article 7(3)): where processing is based on consent, you can withdraw it at any time.
  • Complain to a supervisory authority (Article 77): if you believe we have not handled your data properly, you can lodge a complaint with the Dutch Data Protection Authority (Autoriteit Persoonsgegevens, autoriteitpersoonsgegevens.nl) or with the supervisory authority in your country of residence.

To exercise any of these rights, email coach@intervalcoach.app. We will respond within 30 days.

Children

IntervalCoach is not intended for users under 18. We do not knowingly collect personal data from children. If you believe a child has provided us with personal data, contact coach@intervalcoach.app and we will delete it.

Security

We implement industry-standard security measures including encrypted token storage, secure HTTPS connections, and regular security reviews. However, no system is 100% secure, and we cannot guarantee absolute security. To report a security vulnerability, contact security@intervalcoach.app.

Changes to This Policy

We may update this privacy policy from time to time. We post the updated policy on this page and update the "Last updated" date; changes take effect when they are posted. For material changes — such as new categories of data we process, a change to the legal bases we rely on, or new third parties we share data with — we will notify you by email or in the app before they take effect.

Contact

For privacy-related questions or concerns, please email coach@intervalcoach.app.