Privacy policy

Your training data
stays yours.

Last updated: October 15, 2026

IntervalSync connects an athlete’s Intervals.icu training account to an AI assistant chosen by the athlete through an OAuth-protected MCP server. It can work with ChatGPT, Claude, Grok, and other assistants that support a custom remote MCP connection. We use Intervals.icu access only to provide the connection and actions that the athlete authorizes.

What we store

We store account metadata, an encrypted Intervals.icu credential and which Intervals.icu permissions you approved for it, public OAuth client registration metadata, hashes of short-lived OAuth authorization codes and access and refresh tokens, a hash and an encrypted copy of each calendar feed link’s key, plan status, and a minimal interaction history containing the MCP tool name, a safe summary, outcome, and time. When you pick one of IntervalSync’s prompts from your AI assistant’s menu, the history notes which prompt and when, and nothing from your conversation. If your assistant sends feedback on your behalf, we store that message and our reply for one year; you can read exactly what was sent in your IntervalSync portal. If you ask an AI assistant to save something to your training context — your goal, events, constraints, preferences or notes — we store it in your words, with when it was saved and which assistant saved it, and make it available to the AI assistants connected to your account: each is told when a conversation starts which parts you have saved, and reads them when it needs them. A device you have paired with your account can read them too. You can see all of it, and remove any part, in your IntervalSync portal, or ask an assistant to change it. The activity history notes only which part changed, never what it says. Interaction records are deleted automatically 180 days after they are written, and expired sign-in sessions, OAuth authorization codes, and access and refresh token hashes are deleted once they lapse. We also keep a short history of your AI assistants’ sign-ins: which assistant, on which training connection, when it was connected, and when it was revoked, signed out, or lapsed. When you remove a training connection, we keep when it was added and removed, how many of your AI assistants’ tool calls were deleted with it, and when the last of those was — never the calls themselves. Neither holds a token, and both are deleted 180 days after the sign-in ends or the connection is removed, or with your account. We do not retain returned training data, raw chat content (apart from feedback you send and the training context you ask to save), plaintext Intervals credentials, plaintext OAuth tokens, workout instructions, wellness values, or any response data sent to a connected AI assistant. The coach notes an assistant saves for a paired device at your request, and the ride reports one sends, are kept as described under Paired devices. When an account is created from a link carrying campaign tags, from another site, or while you are connecting an AI assistant, we record how it arrived — the campaign tags themselves, the referring site’s host name but never the full referring address, and the name of the assistant you were connecting, such as ChatGPT or Claude, but nothing about your account with it. This is written once, when the account is created, and is never updated afterwards; it tells us which channels bring athletes to IntervalSync and nothing about what you do here. It does not depend on the analytics choice below, and it is deleted with your account.

How data is used

IntervalSync uses the credential solely to request the Intervals.icu data required by MCP tools an athlete invokes, and to draw the progress charts in the athlete’s own portal. Depending on the request, those tools can return athlete profile and sport-setting data; completed-activity summaries, intervals, and selected sensor streams; planned workouts; and wellness records. This information is returned to the connected AI-assistant conversation that invoked it. The progress charts are drawn from activity summaries and best-power curves each time the athlete opens the portal. IntervalSync does not retain those returned records. We do not sell training data.

Analytics

With your consent, IntervalSync uses Google Analytics 4 to understand general site use and product flow, such as page visits, prompt copies, account connection, and checkout starts. We do not send training data, account emails, Intervals.icu credentials, OAuth tokens, AI messages, connection identifiers, or support-message contents to Google. Analytics is optional and not required to use IntervalSync. You can change your choice at any time.

Calendar subscriptions

When an athlete chooses to subscribe to their training calendar, IntervalSync provides a private iCalendar feed URL for that training connection. The URL contains a random key used for nothing else. We store a one-way hash of that key, to recognize the feed, and an encrypted copy, so the athlete’s portal can show the URL again. A calendar app that has this URL can request the connection’s planned-calendar events, so athletes should treat it like a password and should not share it. An athlete can reset the URL in the portal at any time. The previous URL is refused from that moment, though a calendar app keeps whatever it had already downloaded. Earlier feed URLs, which were built from the connection’s internal identifier, work until October 10, 2026 (UTC) and then stop; the portal shows the replacement. We retrieve the events from Intervals.icu when the calendar app refreshes the feed and do not retain a copy. After the Free trial, a fresh calendar-feed refresh uses the calendar feed’s own one-pull-per-UTC-day allowance, separate from the allowance of each data tool. Disconnecting the associated training connection disables its calendar feed.

Paired devices

Where pairing a device is offered, an athlete can pair a device such as a bike computer with their account. The device shows a six-digit code, and the athlete enters it in their IntervalSync portal while signed in; nothing is paired by the device alone. The device is then given a token of its own, and never the athlete’s Intervals.icu credential. With it the device can read the athlete’s name and ride settings from Intervals.icu — critical power, W′, FTP, weight, maximum and resting heart rate, and power and heart rate zones — on its own, about once a day. When the athlete opens their past rides on the device, it can also read a list of their rides with power from the last 30 days, with each ride’s name, start time and length, and one ride’s power, second by second. When the athlete opens the app on the device, it can also read twelve weeks of training trends — hours trained each week, critical power and W′ —, that day’s heart rate variability, resting heart rate and time asleep from the athlete’s Intervals.icu wellness record, and the training context the athlete has saved, as their words only, without when a part was saved or which assistant saved it. When the athlete opens their plan on the device, it can read the workouts planned on their calendar for that day and the seven after: each one’s name, sport, date, length, load and written description. If the athlete is in a coach’s space or a team, the device can also read each space they can read at that moment: its name, its shared brief and its three newest updates, each with its author’s name. It can read the coach notes described below. It can read nothing else. We retrieve everything but the training context from Intervals.icu when the device asks and do not retain a copy. We store a one-way hash of the device’s token, the name the device gave itself, when it was paired and when it last read, and the interaction history notes each read without its values and without naming a ride. While a code is waiting to be entered, for up to ten minutes, we store a keyed hash of it. An athlete can remove a device in the portal at any time, which stops its reads at once; disconnecting the training connection or deleting the account removes its devices too.

Two things are kept on the athlete’s IntervalSync account for a paired device, and neither is read from or written to Intervals.icu. The first is coach notes: when the athlete asks an AI assistant to, or agrees, the assistant can save comments on rides and weeks (the ten newest are kept), one brief for a day’s ride, and one set of targets for it — upper limits for power and heart rate and a short note. We store them as written, with when each was saved and which assistant saved it, and the device shows them; the athlete’s connected assistants can read them. The second is ride reports: when a ride with power ends, the device sends on its own, as soon as it is online, what only the device measured — when the ride ended, its length, average power, best 5 and 20 minute power, the lowest W′ balance, training stress by power zone, and, if the athlete rates how they felt, that rating, in which case the device sends the report again and the new one replaces the first. We store the thirty newest, and the athlete’s connected assistants can read them. The athlete’s portal says how much of each is kept and deletes either at any time; both are deleted with the account. The interaction history notes that a note was saved or a report sent, never its words or its numbers.

Sharing with a coach

When coach sharing is enabled, a coach can send you a single-use invitation that expires after seven days. Opening the link or signing in does not share anything: you approve access explicitly, and the approval page names the training account it covers before you decide. That is always the one you signed in to IntervalSync with through Intervals.icu. A training account added with an API key is never shared. The permission lets that coach's connected AI assistants read your athlete profile, completed activities and sensor streams, planned workouts, wellness records, and sport settings using your own encrypted Intervals.icu credential. It does not permit changes to your records or calendar, or access to your saved training context or feedback. An invitation to a coach's one-to-one space can give the same permission: if you do not share with that coach yet, joining asks for it, on a page that lists what is shared, and gives it only if you tick the box that agrees to it.

The sharing controls show each account the other's display name and when sharing began. They do not expose the other account's IntervalSync email or Intervals.icu credential. We store the permission, the training connection it covers, and a hash of the invitation token, and, so that the coach can copy the link again from their own page, the token encrypted; the encrypted copy is deleted once the invitation is used, declined or withdrawn. For the coach, we note when the link was first opened and how many times it has been; that count keeps nothing about who opened it, such as an IP address or a browser. If you open an invitation while signed in, we also store that your account holds it, so it waits under Coach or Team in your workspace until you accept or decline it there or on its page. If you decline it, the person who invited you is shown your display name and the day you declined, until they dismiss it or the invitation expires. A coach can withdraw an unused invitation, which stops the link working at once, and whoever opens it is told it was withdrawn. Invitations are deleted automatically after seven days, and deleting your account removes any you declined and lets go of any you held. A coach's read appears in both accounts' activity histories; your copy names the coach and the tool used, without keeping returned training data. These records follow the 180-day interaction retention described above.

You can stop sharing under Coach → Coaches with access in your workspace, and the coach can remove you from theirs. The next shared tool call is refused. Disconnecting the training connection or deleting either IntervalSync account also removes the permission. If you are in that coach's one-to-one space, the two end together: ending the permission takes you out of the space, and leaving the space ends the permission. The coach keeps what both of you published there as a record that only they and their connected assistants can read, with nothing added and nobody else invited. It is kept for one year from the day the space ended, in place of the 90 days an update is otherwise kept, unless the coach deletes it sooner, and deleting your account removes your words from it. You keep a copy of your own as well, however the space ended, including when the coach removed you or closed it: the space's name, the coach's display name, the brief as it stood and the updates both of you had published, as they were that day. We store it for one year from the day the space ended, on any plan, and you can delete it sooner under Coach. Only you and your connected assistants can read it, unless you share it with a later coach as described below, and only while your account is on a plan of its own: Pro, a Coach plan or a trial that is still running. A Duo seat is not one. Without such a plan the copy stays stored and closed, and nobody reads it. It is separate from the coach's record: deleting either leaves the other, and nothing the coach does to their record changes your copy. Deleting your account deletes your copy. If the coach deletes their account, their words and name are removed from your copy. A coach's words therefore stay with the athlete they were published to for up to a year after the space ends. While your copy is open you can let a coach who has your permission to read your training read all of it, including the brief and updates your earlier coach published. You choose the coach on the copy under Coach, and turn it off there, while the copy is open to you. That coach and their connected assistants can then read the copy and nothing more: they cannot add to it, change it, delete it or pass it on. Their access to it ends when you turn it off, when your permission for that coach ends in any of the ways above, when the copy's year is over, and when you delete the copy or your account. It is closed to them, and not ended, while your account is not on a plan of its own or the coach has no Coach plan or its trial: they read it again, without you being asked again, once both do. While your account is not on such a plan the copy is closed to you as well and has no switch, so to end a coach's access for good then, stop sharing your training with that coach or delete the copy. Sharing your training with that coach again later does not share the copy again. The earlier coach is not told, and their own record is not changed. A coach who publishes in an athlete's space should therefore expect that a later coach the athlete chooses may read those words within that year. Data already returned to the coach's assistant remains subject to that provider's retention and privacy rules; withdrawing access cannot remove prior responses from it. The coach needs a Coach plan, or a full-access trial that is still running, to read shared data, and those reads count against the coach's daily limit. You do not need a paid plan to share with a coach.

Duo billing and cooperation spaces

When Duo is enabled, we store its payer, accepted billing member, subscription identifiers and payment status to cover two independent accounts. Members see the billing membership's display names. Duo shares no training data, personal context, goals or conversations. Personal Pro subscriptions remain independent.

When shared contexts for coaches and teams are enabled, accepted members and their connected assistants can read the shared brief and updates that members deliberately publish, while the space is open to them as the terms of service set out: a team to a member whose account is on a plan of its own, and a coach's space to the coach on a Coach plan or its trial and to its athlete while the coach has one, whatever the athlete's own plan. A Duo seat is not a plan of an account's own. Joining requires explicit acceptance. Joining a coach's space gives no access to private training records, which need the separate coach permission described above. Joining a team shares them with its members, as the next paragraph describes. Nobody's saved training context or feedback is shared by either. We store membership, display names, the shared words, timestamps, sequence and brief revision, and the authenticated assistant name when an assistant publishes. A team's members can also add events to it: a date, optional start and end times and end date, a name and a description. Every member of the team, and their connected assistants, see each one under the name of the member who added it, while the team is open to them. A member can add an event to their own Intervals.icu calendar as a note, from their portal: its name, description, dates and times are then sent to Intervals.icu through that member's own connection, and Intervals.icu keeps the note until the member removes it there; the activity history records the event's date and that it was added, never its words. We keep an event until 90 days after its date, and delete it sooner when the member who added it or the team's owner removes it, when the team is closed, or when the account of the member who added it is deleted. We do not copy private chat transcripts automatically or put these words in interaction history, administrator diagnostics or MCP server instructions.

When teams are enabled, a team's members read each other's training data. You agree to it when you make a team or accept an invitation to one, on a page that states what is shared; opening an invitation or signing in shares nothing. It covers the training account you signed in to IntervalSync with through Intervals.icu, and never one added with an API key. It lets every other member's connected AI assistants read the groups of your training you leave ticked, of five (activities; wellness records; planned workouts; a fitness and load summary; and the athlete profile, with the weight and resting heart rate entered in it, and each sport's zones), using your own encrypted Intervals.icu credential, for as long as you are in the team, including members who join after you; only the team's owner invites. It does not permit changes to your records or calendar, or access to your saved training context or feedback. All five groups are ticked when you first agree, the page shows them before you do, and you can change them on the team's card at any time; a change applies to the next read, and with none ticked nobody in the team reads your training and you read nobody's. We store on the team's record that you agreed, when, the training connection it covers and the groups you chose. A member's read appears in both accounts' activity histories; your copy names the member, the tool used and the group it was shared as, without keeping returned training data, and follows the 180-day interaction retention described above. Leaving the team, being removed from it, the team being closed, or deleting your account ends it, and the next read is refused. Disconnecting that training account stops the reads while you keep your place, until you share your training with the team again under Team. While your own account is not on a plan the team counts, nobody in the team reads your training and you read nobody's. Data already returned to another member's assistant remains subject to that provider's retention and privacy rules; leaving cannot remove prior responses from it.

Membership invitations are stored as a hash of their token and, so that whoever sent one can copy its link again from their own page, as the token encrypted; the encrypted copy is deleted once the invitation is used, declined or withdrawn. Invitations are used once and expire after seven days; one you open while signed in is kept for your account as described above. For whoever sent an invitation, we note when its link was first opened and how many times it has been; that count keeps nothing about who opened it, such as an IP address or a browser. Withdrawing an invitation stops its link working at once, and whoever opens it is told it was withdrawn; that record is deleted with the invitation after seven days. For each space you are in, we also keep how far you have read its updates, as a number and nothing else, so your workspace can show how many are new; deleting your account removes it. Updates expire after 90 days; the current brief remains until changed or the space is closed. Members can remove their own messages; owners can remove any message or close the space and delete its history. Account deletion removes the departing member's authored words. Removing a member stops future reads for all of their assistants. Words already sent to another person's assistant follow that provider's privacy and retention rules. An invitation link carries its token after a "#", which a browser does not send, so the token is not in our request logs; the invitation page contains no analytics and sends no referrer. Each member sees the other members' display names, and so do their assistants; no account identifier is given to an assistant.

Read and write access policy

The 14-day trial applies to new accounts moving forward. We store the trial end date as account metadata so an existing account keeps the access period it was originally given, including its 30-day trial. Signing in again or reconnecting does not restart or shorten it.

Every new Free account receives 14 days of full access, up to 300 calls to Intervals.icu per UTC day: supported reads — including activity detail, interval execution, available power/heart-rate/cadence streams, planned workouts, wellness, and sport settings — and the currently supported, confirmation-gated write tools. After that trial, Free permits one Intervals.icu data pull per tool per UTC day and becomes read-only. An active Pro subscription keeps the same reads and supported writes, up to 300 calls to Intervals.icu per UTC day: create or update a planned workout on the athlete’s Intervals.icu calendar, delete one planned workout from that calendar, and update selected wellness fields. Deleting a planned workout cannot be undone; the workout is returned in the tool response as it is removed so it can be recreated. The tool request must include an explicit confirmation after the athlete has reviewed the exact change. Every attempted write is recorded in the connection’s activity history without recording the workout instructions or wellness values.

What a sign-in with Intervals.icu requests depends on whether the browser is signed in to IntervalSync when the sign-in starts. Started while signed out of IntervalSync, it requests the supported write permissions, so that a new account can use the full 14-day access period. IntervalSync cannot tell which account is signing in until the sign-in completes, so a Free athlete past that trial who signs in this way is asked for the same permissions as a new account. Started while signed in to IntervalSync — with Refresh Intervals permissions or Reconnect Intervals.icu in the portal, or while connecting an AI assistant — it requests the permissions of the signed-in account’s plan: for a Free account after its trial, only the read permissions needed by the read-only plan. Either way, a Free account after its trial is not offered the write tools, and a write request from one is refused before anything is sent to Intervals.icu. Full-access accounts request read access to activities and athlete settings, and write access to wellness and calendar; each write permission also includes read access. Permissions for chats, the workout library, completed-activity uploads, and settings changes are not requested for tools that do not exist. The current MCP tool set does not yet upload completed activity files, modify chats or the workout library, delete completed Intervals.icu activities, or change account settings; it can delete a planned calendar workout, and no other calendar category; broader tools will be disclosed here before they are introduced. No write is made without a tool invocation from a connected AI assistant.

Third parties and billing

Intervals.icu processes the authenticated training requests. The AI assistant selected by the athlete processes tool requests and responses under that athlete’s relationship with its provider. Stripe processes subscription checkout and billing; IntervalSync does not receive card numbers. Google processes analytics only when an athlete or visitor consents as described above. Use of the Intervals.icu API is also subject to Intervals.icu’s API terms. When the progress charts in an athlete’s portal are drawn wholly or in part from Garmin-sourced activity data, the panel attributes Garmin directly beneath its title, with the Garmin devices the data came from where Intervals.icu names them, as Garmin’s API brand guidelines require.

Security and deletion

Intervals credentials are encrypted before storage. Athletes can disconnect a training connection or delete their IntervalSync account in Settings. Disconnecting deletes that connection’s credential, the OAuth authorization data and token hashes issued for it, the devices paired with it, and its interaction history. The account itself remains until it is deleted, and records when the athlete disconnected until they sign in with Intervals.icu again. Account deletion removes the IntervalSync account, your training context, credentials, OAuth authorization data and token hashes, paired devices, coach notes, ride reports, interaction history, sessions, and free-tier usage records. Stripe may retain payment records as required for billing and legal obligations.

When the last connection an athlete made by signing in with Intervals.icu is disconnected, or deleted with their account, IntervalSync then asks Intervals.icu to disconnect IntervalSync from the athlete’s Intervals.icu account, to end the access the athlete granted. We ask once, after the credential has been deleted here, so we cannot ask again later. If Intervals.icu does not confirm it, the portal says so, and the athlete can remove IntervalSync in their Intervals.icu settings; either way IntervalSync no longer holds the credential and cannot use that access. Connections removed before October 7, 2026 were not followed by this request, and IntervalSync can be removed at Intervals.icu in the same way. A personal Intervals.icu API key is the athlete’s own, and we cannot ask Intervals.icu to withdraw it: deleting our copy leaves the key itself unchanged at Intervals.icu. Apart from that one request, neither disconnecting nor deleting an account deletes, alters, or closes the athlete’s Intervals.icu account or its activities.

Contact

IntervalSync is operated by Walloris Tech LLC, under its terms of service. For privacy questions or requests, including access to or deletion of your data, use the contact form at intervalsync.icu/support. Messages go directly to the IntervalSync support inbox.

Trademarks