0. Build reality — read this before the wordingNot in force#
Every section below is labelled. Wording for something that does not exist is a specification, not a promise, and must never be shown as if it were live.
| Consent | In the product today |
|---|---|
1. My coach and team can see my data (coach_access) | BUILT — but granted automatically as part of accepting a team invitation, with no separate choice, and it is not scoped to a team |
2. My coach can record results on my record (coach_post_results) | BUILT — granted at the same moment and by the same click as (1). There is no way to grant one and refuse the other |
| 3. Health and screening information | BUILT as four declarations on the pre-season screening form. Unsigning one of them is the only withdrawal control anywhere in the product |
| 4. Connecting a wearable | BUILT as an action (you authorise it on the vendor's own site), not as a consent record |
5. My results can join shared norms (norms_inclusion) | 🟢 BUILT — GRANTABLE AND WITHDRAWABLE. Corrected twice: 28 Aug 2026 (the earlier line here claimed there was no shared norm pool at all, and that was false — a live cross-account peer comparison ran on about four in five rating requests, from a public unauthenticated endpoint), and 6 Sep 2026, when the grant control shipped. The comparison is gated on this consent; the athlete grants and withdraws it themselves at Profile → Who can see my data → Shared norms pool. Nothing is pre-ticked and withdrawal is one click on the same card. See §5 |
5b. The training assistant for a child under 16 (ai_assistant) | BUILT - ON THE GUARDIAN LINK ONLY (3 Oct 2026, #1087). Under 16 the assistant is off unless a guardian on the child's record turns it on, and the same guardian can turn it off again on the same link; from 16 nobody else has to say yes. See §5b |
| 6. Guardian consent for a child under 16 | NOT USABLE. The guardian record exists in the database but no page reaches it, it holds zero records, and recording a guardian consent is refused while this pack is a draft. No under-16 can be on this platform. See §6 |
Three honest facts about consent as it works today, which the wording below has to tell the truth about:
- Consent is per athlete, not per team. A consent record has no column that can say which team or which club. So one grant covers every team you are on, and withdrawing it withdraws it everywhere.
- Accepting a team invitation grants read access and write access together, in one act. The design says they are separate grants. The signup path does not implement that separation.
- There is almost no way to withdraw. The only withdrawal control in the whole product is unsigning the medical-release declaration on the screening form. That withdraws read access across every team — and it does not withdraw the write consent, so a coach could still record results afterwards. This is a defect, it is a launch blocker (DPIA M-11), and the wording below states it plainly rather than hiding it.
How this pack is writtenNot in force#
Every consent has two versions of the same wording:
- The wording shown — what an athlete aged 16 or over reads.
- Child-friendly version — the same thing, written so a 12-year-old can follow it. The Data Protection Commission's Fundamentals for a Child-Oriented Approach to Data Processing expects material about a child's data to be understandable by the child, not only by the adult signing for them. So a child sees this version even when a guardian is the one who consents.
Nothing may be pre-ticked. Every box starts empty. Refusing must be as easy as agreeing, and it must not be made to feel like a mistake.