Data protection

Data Protection Impact Assessment

Written for a school's Data Protection Officer, DSL or governors who need to see the risks we have identified and what we do about them. It sits alongside our privacy policy, GDPR page and security page.

⚠️
Plain-English summary, not yet lawyer-checked. This describes how the service works today. We plan to have it reviewed by a solicitor, and we will update it if anything changes.

Version 1.0 · October 2026 · reviewed at least once a year, and whenever the service changes in a way that affects personal data

1. Why we did this

Online Ready is used by children, and a school is the controller of that data. Even where a DPIA is not strictly required, we think a service for children should be able to show its working. This document covers the student course, the teacher and trust dashboards, and the ordering process.

2. What the service does

A school orders seats. Each class gets a class code. Students use the code to join, choose a display name and a 4-digit PIN, and complete seven short modules with quizzes. On passing a module they earn a certificate. Teachers see progress on a dashboard. Multi-academy trusts can see and allocate seats across their schools. Students can write short reflections in some activities.

Roles. The school is the controller for student data and we are the processor. For order and invoicing details (teacher name, email, finance contact), we are the controller.

3. What data we process

DataWhoseWhyHow long
Display name, class codeStudentTo show progress to the teacher and name the certificateDeleted 1 September each year
PIN (stored only as a one-way hash)StudentSo a student can return to their own progressDeleted 1 September each year
Modules completed, quiz scores and attemptsStudentProgress, passing, certificateDeleted 1 September each year
Written reflections (encrypted in the student's browser with a key derived from their PIN)StudentLearning activity; teacher can see them only where the student's device has shared themDeleted 1 September each year
Certificate ID, month issued, school name (no student name)Student (not identifiable)So a certificate can be verified as genuineKept
Teacher name, email, school, finance contact, PO numberStaffSet up access, invoice, supportPaid orders archived for accounting; unpaid kept until paid or cancelled
Safeguarding team name, room and optional photoStaff (DSL)Shown to students so they know who to talk toWhile the licence exists
Technical logs (IP address, request times)AnyoneSecurity, rate limiting, fault-findingShort-lived, held by our hosting providers

What we do not collect from students: email address, date of birth, home address, photo, location, device identifiers for tracking, or any advertising data. There is no public sign-up, no analytics cookie, and no profiling.

Special category data. We do not ask for any. A student could choose to write something sensitive in a reflection, which is why reflections are encrypted so that we cannot read them, and why the course tells students to talk to a trusted adult rather than write about serious concerns.

4. Necessity and proportionality

Lawful basis: the school's public task or legitimate interest in educating and safeguarding pupils (Keeping children safe in education expects schools to teach online safety). For our own order data, performance of a contract. We collect the minimum needed: a student needs a name for the certificate and a PIN to resume. Every student record is deleted automatically on 1 September, whether or not the school has paid again. Students and parents can ask their school, or us, to access or delete a record at any time.

5. Risks and what we do about them

RiskLikelihood / severityWhat we doLeft over
One school seeing another school's dataLow / HighRow-level security on every table; the browser holds only a public key; reads and writes go through server-side functions scoped to the school's class code or dashboard tokenLow
Someone guessing a student's PIN to read their progress or reflectionsMedium / MediumPIN stored as a hash; attempts are limited and the account locks after repeated failures; reflections are encrypted with a key derived from the PIN, so a database leak alone does not expose themLow
A student faking a certificateMedium / LowQuiz answers are held on the server and marked there; certificates are only issued by the server; certificate IDs can be checked on our verification pageLow
Student writes something sensitive in a reflectionMedium / MediumReflections encrypted; course prompts students to speak to a trusted adult; the safeguarding team is shown inside the courseMedium. The school's safeguarding procedures remain the safety net
Data kept longer than neededLow / MediumAutomated deletion every 1 September (a scheduled job, not a manual task)Low
Data leaving the UKMedium / LowDatabase and storage are in the UK (AWS London). Our functions are set to run in London. Our hosting and email providers are US companies and rely on UK-approved transfer safeguards (see section 6)Low
A teacher losing access or a student being locked outMedium / LowTeacher dashboard link can be re-sent by email; teachers can reset a student's PIN without ever seeing it, and the student keeps their progressLow
Public access to safeguarding team photosLow / LowPhotos are optional, staff-chosen, and only a name and room are required. The storage area for these photos is currently publicly readable if the exact file address is known. We plan to switch to time-limited linksLow-medium until fixed
A processor suffering a breachLow / HighData minimisation limits what could be exposed (no email, address or date of birth for any student); processors are named below; we will tell the school without undue delay and help it assess whether the ICO must be told within 72 hoursLow
Our own mistakes or one-person dependencyMedium / MediumHonest limitation: this is a small operation. Backups are held by Supabase; changes are logged; annual review of this documentMedium

6. Who else processes data (sub-processors) and their agreements

ProviderWhat forWhereData processing agreement
SupabaseDatabase, file storageUK (AWS London, eu-west-2)Supabase DPA
VercelWebsite and server functionsFunctions run in London (lhr1); content delivered from a global network; US companyVercel DPA
ResendEmails (login details, dashboard links, invoices)US companyResend DPA
MonzoReceiving bank transfers; we read payment references only, never card detailsUKBank terms; we hold no student data in it

For US providers we rely on the UK Extension to the EU-US Data Privacy Framework where the provider is certified, or the standard contractual clauses and UK addendum in their agreements. We have not yet had these agreements reviewed by a solicitor. We will tell schools before adding or replacing a sub-processor.

7. Children's code

Students can only join through a class code a school has issued, and we process their data only to deliver the course on the school's instruction, so the ICO's Children's code does not formally apply to us. We follow its spirit anyway: minimum data, no profiling, no nudging, no advertising, and plain language for the age group.

8. Outcome

We assess the overall residual risk to students as low, because the data is minimal, short-lived and partly encrypted, and a school controls who joins. The two items we are working to improve are the public photo storage and independent legal and security review. We do not believe the processing needs prior consultation with the ICO.

9. Actions we have committed to

Questions

Email us if your DPO needs more detail, a signed processing agreement for your school, or a copy of this document for your records.