Home

Privacy Policy

Effective 5 October 2026

Season is a coaching product built on your own riding data, so we owe you a straight answer on what we hold and why. This is it. No dark patterns, no selling data, no advertising.

Who we are

Season (seasoncoach.com) is operated by Sebenza Online in South Africa. We are the “responsible party” (or “data controller”) for the personal information described here. Questions, requests and complaints go to hello@seasoncoach.com.

What we collect

Your account. Your email address, and if you sign in with Google, the name and profile picture Google shares. We send sign-in links to that address.

Your athlete profile. What you tell the coach or enter on the profile page: threshold numbers (FTP, LTHR, max heart rate, threshold pace), weekly hours and training days, discipline, your goal and your events (name, date, priority, location, notes), and any constraints such as days you cannot train.

Your riding. When you connect Intervals.icu, Wahoo, Hammerhead, Garmin or COROS, we import your activities: title, sport, date and duration, power, heart rate, cadence, speed, distance, elevation and GPS location streams, and the summary figures your device or service computes. We store the raw streams so the coach can re-analyse a ride later rather than re-fetching it.

Your sleep and recovery. If your Garmin, COROS or Intervals.icu shares it, and only once you say yes in the app, we use one set of numbers per night: heart-rate variability (HRV), resting heart rate, sleep duration and score, overnight breathing rate and skin temperature. We use them to read how recovered you are each morning and to suggest easing or moving a hard session. This is health data, so we treat it as such: it is used only with your consent, it is never used for anything else, and switching it off in Settings deletes what we hold and stops us keeping more.

Your menstrual cycle. Only if you choose to answer: whether you have a cycle (and, if you tell us, whether you are on hormonal contraception, pregnant, postpartum or in the menopause), and the dates your periods start, which you log in the app, tell the coach, or keep in Intervals.icu. We use it to read your recovery around your cycle, to pause recovery alerts and threshold estimates during pregnancy and after a birth, and to raise a private note if your cycles suggest something worth a doctor's look. It is never shown to a human coach or to our staff in the app, never put in a notification or an email, and the coach model sees only the phase, never your dates. What you tell the coach yourself stays in that conversation, which a coach you have invited can read. You can change your answer or delete it all in Settings at any time.

Your conversations. Every message between you and the coach, and between you and a human coach you have invited, is stored so the thread is there when you come back and so the coach has context.

What the coach derives. Zone times, training load, decoupling, efficiency, heart-rate recovery, execution scores, the season timeline, the monthly Athlete Report and similar figures computed from the data above.

Payments. If you buy a plan on our website, Stripe handles your card: we never see or store card numbers, and we store your Stripe customer and subscription identifiers and the status of your plan. If you buy a plan in the iPhone app, Apple handles the payment through your Apple ID: we never see your payment details, and we store the purchase record Apple sends us (which plan, its dates, whether it renews, any refund) linked to your account.

Notifications. If you turn on push notifications, we store the subscription your browser gives us so we can send them.

Technical data. Our hosting providers keep standard server logs (IP address, browser, pages requested) for a short period for security and debugging.

Visit statistics. On our public pages (the home page, the pages about the services we work with, sign-up and sign-in, these legal pages) we use Google Analytics to see how visitors find us, which pages they read and how far through the sign-up form they get. Inside the app it records only which section you opened (the chat, the training plan, the season page and so on) — never the address of a ride, anything you wrote, or any of your riding or profile data — and a few setup milestones: that a sign-up, a trial or a subscription happened and on which plan, that a ride source was connected and which one, and that the first questions were shown and answered. Never what you answered, and never who. Everywhere, its advertising features are turned off, and we do not run advertising trackers.

Cookies. The cookies that keep you signed in are essential and always on. Google Analytics' cookies are the only others. In the EU, the UK and Switzerland they are set only if you accept them when we ask; until then, and if you say no, Google Analytics runs without cookies. Wherever you are, you can change your answer at any time: . Your answer is remembered in your browser.

What we use it for

  • Coaching you: analysing rides, planning your season, writing workouts to your head unit, answering your questions.
  • Running the product: sign-in, syncing with the services you connected, notifications you asked for, billing.
  • Keeping it working: debugging, security, preventing abuse, and aggregate usage figures that are not about any one athlete.
  • Telling you things you need to know about your account or the service. We do not send marketing email.

We rely on our contract with you for the coaching and billing, your consent for connecting third-party services and for push notifications, your explicit consent for your sleep, recovery and menstrual cycle data, and our legitimate interest in keeping the service secure.

The AI

The coach is built on AI models from OpenAI, and at times from Anthropic. When you talk to it, your message and the context it needs (your profile, relevant rides and derived figures, recent conversation) are sent to that provider's API to generate the reply. The same happens when we write up a ride or generate your monthly Athlete Report. Under both providers' commercial terms, data sent through the API is not used to train their models.

The coach can be wrong. It is software reading numbers, not a doctor, and it does not know how you feel today unless you tell it. A recovery reading such as “you might be fighting something” is a prompt to check in with yourself, never a diagnosis.

Who else sees your data

We share data only with the providers we need to run the service, and only what each one needs:

  • Supabase — database, authentication and file storage where your account and riding data live.
  • Vercel — hosts the application and serves it to you.
  • OpenAI and Anthropic — generate the coach's replies, ride write-ups and reports, as above.
  • Stripe — payments and subscription management for plans bought on our website.
  • Apple — in-app purchases in the iPhone app, Sign in with Apple if you choose it, and the app's notifications.
  • Resend — delivers the emails we send you (your email address and the message).
  • Google — sign-in, only if you choose to sign in with Google; and Google Analytics on our public pages, as described under Visit statistics.
  • Stridee — connects your Garmin or COROS account, if you choose to: it passes us your activities and, with your yes, your sleep and recovery numbers, and carries planned workouts to your watch.
  • Intervals.icu, Wahoo, Hammerhead, Garmin, COROS — the services you connect. We read your activities from them and, where you enable it, write planned workouts to them. Their own privacy policies govern what they do.
  • Open-Meteo — we send the approximate coordinates (rounded to about 100 m) and date of a ride's start to fetch the weather, so the coach can account for heat. No identity is attached.
  • Mapbox — draws ride maps from GPS traces.

Human coaches. If you accept an invitation from a coach, that coach can see your profile, riding, plan, season, reports and the coaching thread (and your sleep, HRV and recovery readings night by night, if you said yes to sleep and HRV — never your menstrual cycle data), and can edit your plan and events. You can end that relationship at any time from your profile, and their access ends with it.

We do not sell personal information, and we do not share it with advertisers. We will disclose data if the law requires it.

Where it lives

Your data is stored by Supabase and processed by the providers above, which may be outside South Africa. Each of them is bound by contractual terms that require them to protect it to a standard at least equal to what this policy promises.

How long we keep it

For as long as your account is active. A coach that reads two years of your history needs the history.

You can clear your activities, your training plan or the coaching conversation yourself at any time from Settings. Disconnecting a service stops new data arriving from it. To delete your account and everything in it, use Delete Account in Settings, on the web or in the app: it happens straight away and cancels any subscription. Or email hello@seasoncoach.com from the address on the account and we will do it within 30 days and confirm.

Your sleep and recovery numbers are deleted as soon as you switch them off in Settings, and your cycle data as soon as you delete it there.

Backups roll off within a further 30 days. Server logs are kept for no more than 90 days.

Your rights

Wherever you live, you can ask us for a copy of your personal information, ask us to correct it, ask us to delete it, object to a use of it, or withdraw a consent you gave. Most of it you can already see and edit in the app; for the rest, email hello@seasoncoach.com. We will answer within 30 days and never charge for it. If you are in South Africa you may also complain to the Information Regulator; in the EU or UK, to your local supervisory authority.

Security

Data travels over TLS and is stored encrypted at rest. Every table is protected by row-level security so an athlete can only read their own data and a coach only their athletes'. Tokens for the services you connect are stored server-side and never shown to the browser. No system is perfect; if we discover a breach that affects you we will tell you without undue delay.

Age

Season is for adults and for riders aged 16 and over. If you learn that someone younger has an account, tell us and we will remove it.

Changes

When this policy changes materially we will tell you in the app or by email before it takes effect. The date at the top is the version you are reading.

Privacy PolicyTerms of Service