For Everyone Account & billing

Coach note privacy: who sees what, when

The privacy model that gates CoachNote visibility, expressed as a precise rule set.

The model

Every CoachNote in the Hub carries a privacy gate. Visibility is determined by:

  1. Author identity: the user who wrote the note.
  2. Relationship state: whether the writing relationship is still active.
  3. visible_to_athlete flag: whether the athlete can read this note.

The exact visibility rules

For any given note N about athlete A written by coach C under relationship R:

Viewer Can see N?
C (the author) Always, forever
Admin / Superadmin Always
Athlete A Yes if N.visible_to_athlete = True; otherwise no
Any other coach currently coaching A Yes if R.status = 'active'; no if R ended
Any other user No

What "current coach" means

A coach is "currently coaching" an athlete if they have a CoachAthleteRelationship row with that athlete in status='active'. The relationship is the access gate; when it ends, the access ends.

Why this matters at coach switches

When an athlete switches coaches:

This is by design: the previous coach's working notes ("limiter is mental on long climbs", "athlete tends to under-report soreness") are private to the previous coach and should not transfer with the athlete unless the previous coach explicitly shares them.

What about team assistant coaches

An assistant coach attached to the team has a TeamCoachAssignment. The same gate applies: if the assignment is status='active', the assistant coach sees notes authored by other coaches on the team for that athlete. When the assignment ends, the assistant coach loses access.

The visible_to_athlete flag

The flag defaults to False (private to coaches). To make a note visible to the athlete, you have to explicitly turn it on when authoring or editing the note.

The athlete sees only notes with the flag on, regardless of which coach authored them.

What is NOT covered by the privacy gate

Activity comment threads (ActivityNote) are not gated by the same mechanism. They are visible to anyone who can see the activity (athlete + current coach + admin). They are designed for conversation, not for private coach notes.

If you have something private to record, use a CoachNote with visible_to_athlete = False. Do not put it in an activity comment.

What you cannot do

What an admin can do

Admins can see all notes regardless of relationship state. This is for audit and support, not routine reading.

See also: Writing coach notes, Switching coaches explained, Activity notes thread.

Last updated May 12, 2026

Still stuck? Ask us a question and we'll write up an answer.

Ask a question