Privacy

What we hold, and how to get rid of it
Back

The short version

We hold a parent's email address and nothing at all about the child except a handle they chose, a PIN, and their practice scores.

No child name. No date of birth. No school. No photograph. No phone number. No ID number. No address.

What is stored

WhoWhatWhy
ParentEmail addressSigning in and resetting a password
ParentPassword (hashed with argon2id)Signing in. We never see the original
ParentDate and IP of consentProof that a parent set the profile up
ChildHandleSigning in, and the leaderboard if switched on
ChildPIN (hashed)Signing in
ChildWhich classShowing the right chapters
ChildAnswers and scoresUnlocking levels and showing weak topics

What we do not do

No advertising. No advertising or analytics trackers of any kind on pages a child sees. No profiling, no behavioural monitoring, and no selling or sharing of anything to anyone.

Scores are used to show a parent which topics need work. That is the whole purpose, and it is the only thing they are used for.

The leaderboard

Off by default. It only ever shows the handle a parent chose, never a real name, and only for children whose parent switched it on. A parent can switch it back off at any time from their dashboard and the handle disappears at the next refresh.

Please do not use your child's real name as their handle.

Getting your data, or deleting it

Sign in as a parent and both buttons are on your dashboard.

  • Download my data gives you a JSON file with everything held about you and your children.
  • Delete everything removes the account, every child profile, every attempt and every answer. It is immediate and permanent.

Deleting an individual child's profile, without closing your own account, is a button on that child's card.

Retention

Practice history stays until you delete it. An account that is created but never confirmed by email is removed automatically after seven days.

Encrypted backups are kept for 90 days. A deletion request also removes the account from any backup restored after that request.