Lawful basis Art. 6 and 9 | A legal reason for each use, and explicit consent for health data | Contract for the account and plan. A separate, unticked consent box for cycle dates, stored with a timestamp and the wording version. Without consent the app works and simply skips phase ranking |
Data minimisation Art. 5 | Collect only what the purpose needs | Two cycle numbers, not a tracker. Age band, not date of birth. No symptoms, location, contacts or advertising IDs |
Privacy by design Art. 25 | Protection built in by default | Health answers in a separate table from the account. Every optional question can be skipped. Analytics and error reports never receive health fields |
Her rights Art. 15–21, 7(3) | Access, correction, erasure, portability, and withdrawing consent as easily as giving it | In the app: edit any answer, "Download my data" (JSON), "Stop using" cycle dates, and "Delete my data", which erases straight away. Backups expire after 30 days |
Security Art. 32 | Measures that fit the risk | Encrypted disk and backups, HTTPS only, row-level security in Postgres, only port 443 open, SSH through AWS Systems Manager, automatic security updates, admin panel behind sign-in with two-factor and an audit log |
Processors Art. 28 | Contracts with every service that handles the data | Data processing agreements with AWS (London region) and Expo. Alt Auth and Atflow are our own WNC services, run in the same London setup under the same controls. No health data goes to Expo, and Atflow only sees what a reminder needs |
International transfers Chapter V | Safeguards for data leaving the UK | Data stored and processed in eu-west-2, London. Any processor outside the UK needs an adequacy decision or the UK transfer agreement before go-live |
Impact assessment Art. 35 | A DPIA for large-scale health data | Written before beta, updated whenever we add a feature that touches health data, such as AI |
Records and breaches Art. 30, 33–34 | Know what we process, and report breaches fast | A record of processing kept in the repo. A breach runbook: tell the ICO within 72 hours, and tell users if they are at high risk |
Accountability Art. 37, ICO | Registration and oversight | Pay the ICO data protection fee. Name a privacy lead now, and decide on a formal Data Protection Officer as health data grows to large scale |
Cookies PECR | Consent for non-essential cookies | Umami analytics runs without cookies, so no cookie banner is needed for it. Sign-in uses only a strictly necessary session cookie |