Back to the Information Governance Pack

Data protection

Data Retention Policy

v1.24
Updated Oct 2026 · Reviewed Jun 2026 · Next review May 2027

Owner: Andrew James (CEO)

1. Purpose

This policy sets out the categories of personal data processed by Halved Limited (“Halved”) in respect of the Halved platform, and the retention periods that apply to each category or type of personal data, and the procedures by which data is deleted and/or anonymised at the end of each retention period. It supports Halved’s compliance with UK data protection legislation and helps demonstrate how we meet our legal and regulatory obligations.

2. Scope

This policy applies to all personal data collected, stored, or processed by Halved in respect of the Halved platform in connection with the delivery of AI-assisted learning support to UK schools. It covers data held in all storage systems operated on behalf of Halved, including by such of our sub-processors Azure PostgreSQL, MongoDB Atlas, Azure Blob Storage, and Azure Cache for Redis. For more details about the use by any of the aforementioned sub-processor, please see our Privacy Policy.

This Policy does not cover Halved’s retention of its own internal controller records such as human resources and benefits records, legal and accounting records, and sales and marketing records, which are maintained as internal confidential documents.

3. Data Controller and Processor

Where Halved provides the platform to a school, the school is controller for student personal data and school staff platform data processed in the school tenant, and Halved acts as processor under the school DPA. Halved acts as controller only for its own business administration, website enquiries, sales/contract records, support records, security/compliance records, complaints records and legal/accounting records.

4. Retention Schedule

The table below sets out the retention period for each category of personal data.

Data CategoryData TypesStorage LocationRetention PeriodBasis for Retention
Student account dataName, year group, school, hashed password, account creation dateMongoDB Atlas (Azure UK South)Duration of school contract + 90 days (unless the school instructs earlier deletion or return)School documented instructions as set out within the data processing agreement in accordance with UK GDPR Art. 28
Chat messages and session transcriptsStudent messages, AI responses, session identifiers, timestampsMongoDB Atlas (Azure UK South), the copy of each conversation shown in the interface; Azure PostgreSQL (UK South), the turn-by-turn record of each conversation, from which the AI reads the recent conversation when it repliesDuration of school contract + 90 days (unless the school instructs earlier deletion or return)School documented instructions as set out within the data processing agreement in accordance with UK GDPR Art. 28; or safeguarding audit retention only where enabled and instructed by school
Student profile analysisLearning style summary and subject observations, derived from session data; and a derived communication register value, which starts from the student’s year group and the reading age the school supplies and then adjusts from session dataAzure PostgreSQL (UK)Duration of school contract + 90 days (unless the school instructs earlier deletion or return)School documented instructions as set out within the data processing agreement in accordance with UK GDPR Art. 28
Lesson materialsUploaded curriculum content linked to student sessionsAzure PostgreSQL + Azure Blob Storage (UK South)Duration of school contract + 90 days (unless the school instructs earlier deletion or return)School documented instructions as set out within the data processing agreement in accordance with UK GDPR Art. 28
Student-authored contentStudent-uploaded files and documents; student free-text notes, including work-completion textAzure Blob Storage; MongoDB Atlas / Azure PostgreSQL (UK South)Retained until the student deletes it using the in-product delete control, subject to a maximum of 24 months, and in any event deleted on contract end plus 90 daysSchool documented instructions (UK GDPR Art. 28); student-controlled deletion supports data minimisation and the rights of the child. The 24-month cap is a purpose, not a round number. It is the span of a two-year programme of study: a student revising in the summer of Year 11 may need work they made in the September of Year 10, at the start of the same GCSE course, which is 22 months earlier, so the cap carries a margin over the longest ordinary need. The same holds for a two-year A-level course. Standard 8 of the Children’s Code Compliance Note states the same reasoning
Handwriting-input imagesCanvas image of a student’s handwriting, captured for the handwriting-to-text input methodNot stored; held in memory for the duration of the single conversion request onlyNot retainedRecognise-and-discard; only the recognised text is stored, after screening
Recognised text from handwritingText Halved reads from a student’s handwriting, once screenedHeld with whatever surface the student was entering it into (for example a chat message or a piece of submitted work)Same retention period as that surfaceSchool documented instructions (UK GDPR Art. 28)
Submitted student ink: annotations and jotter pagesImages of a student’s own ink submitted as part of a piece of work, on either of two surfaces: a marked-up lesson slide, and a page of the student’s working out from the jotter, which is a blank surface the student writes and draws on beside the lesson. The jotter also holds words a student types onto the page, kept on the same record as that page’s ink and erased with it; at hand-in a page carrying only typed words is composited and delivered to the teacher in the same way as a page carrying ink. These are the only two surfaces from which ink can be submitted. A student can also draw on their own uploaded work, but that ink cannot be submitted and has its own row below. Before submission the ink is held as arrays of coloured strokes, each stroke recording which hand made it; at submission each page is flattened into a single image and delivered to the teacher with the workAzure Blob Storage; MongoDB Atlas (UK South)Retained with the assignment record; no automatic expiry; in any event deleted on contract end plus 90 days; cannot be deleted by the student once submittedSchool documented instructions (UK GDPR Art. 28); retained for marking and review
Working ink on a student’s own uploadA student’s own handwriting and drawing on the pages of work they have uploaded themselves, held as arrays of coloured strokes and saved as they work so that it survives a page turn. It cannot be submitted and is not delivered to a teacher. Halved is given it only when the student asks about the page they are working on, as a single picture of the page and the drawing built on the student’s own device, screened before Halved reads it and not storedMongoDB Atlas (UK South)Held with the upload it was drawn on until the student erases it or deletes the upload, which deletes its ink. A re-upload is a new upload and starts with none. An upload withheld by safety screening is kept when the student deletes it, together with any ink on it, although none can currently be drawn on one, because an upload opens as pages only once it has passed screening. In any event deleted on contract end plus 90 daysSchool documented instructions (UK GDPR Art. 28); the student’s own working on their own work, under their control
Teacher annotationsMarked-up slide images and mark coordinates authored by a teacher while marking student workAzure Blob Storage (UK South) / MongoDB Atlas (Azure UK South)Duration of school contract + 90 daysSchool documented instructions (UK GDPR Art. 28); staff-authored feedback retained with the assignment record
Photographed workPhotograph of work a student has done on paper, uploaded by the studentAzure Blob Storage (UK South)Retained as the image of that piece of work; in any event deleted on contract end plus 90 daysSchool documented instructions (UK GDPR Art. 28); the photograph is the record of that piece of work
Profile photographsPhotograph of the account holder, uploaded by that person to their own account. It is optional: no photograph is set when an account is created, and the platform works without one. This applies to students and to school staff alike. A photograph of a face is personal data. It is not special category data: Halved performs no facial recognition and no biometric matching, and does not use a photograph to identify anyoneAzure Blob Storage (UK South)Duration of school contract + 90 days (unless the school instructs earlier deletion or return)School documented instructions as set out within the data processing agreement in accordance with UK GDPR Art. 28; the photograph is an account display attribute and not a record of a student’s work
School intakeWhat a school’s Halved lead enters at my.halved.io/intake before any account exists: the school’s practical details and contacts; staff names, school email addresses and roles; classes; and for each student a school student identifier, school email address and year group, a first name only where the school shares names, the classes the student is in and, where the school holds them, a reading age with its date and whether the student is working at age expectation in English and in mathematics. No surname and no free text about a studentMongoDB Atlas (Azure UK South)Deleted when Halved imports it; otherwise deleted 30 days after it was last changed, by a scheduled job. A Halved system administrator can delete it at any timeSchool documented instructions (UK GDPR Art. 28); held only until Halved sets the school up from it
School intake recordFor each school, who sent, returned, reviewed, imported or deleted its intake, who sent its invitations and who opened its students’ first passwords, and when: account identifiers, the school identifier, the time, and for a sent or imported intake the number of staff, classes and students. Nothing the intake contained. First passwords themselves are not stored anywhereMongoDB Atlas (Azure UK South)Duration of school contract + 90 daysSchool documented instructions (UK GDPR Art. 28); accountability for who handled a school’s intake
Teacher-to-student messagesMessage content, sender, recipients, timestampMongoDB Atlas (Azure UK South)7 days from sending, then automatically deletedTransactional teaching communication; data minimisation
Attainment recordsTeacher marks, code-judged answer outcomes, time-in-productive-difficultyAzure PostgreSQL (UK South)Duration of school contract + 90 days (unless the school instructs earlier deletion or return)School documented instructions as set out within the data processing agreement in accordance with UK GDPR Art. 28
Activity recordsInterval records of when a student was active in the platform and on which surface: student identifier, school identifier, an optional session identifier, the surface (chat, work-completion, lesson-content, lesson-notes, homepage, or unknown), a start time and an end time each recorded to the minute, and the exact length of the period in seconds. No message content, no location and no device identifier. Where the session identifier is absent and the surface is unknown, the record attributes a period of time to a named student with no further contextAzure PostgreSQL (UK South)Retained for a maximum of 12 months from the start time of the interval, purged by a scheduled job, and in any event deleted on contract end plus 90 daysSchool documented instructions as set out within the data processing agreement in accordance with UK GDPR Art. 28; the 12-month cap applies data minimisation to a record that is not otherwise anchored to the end of the contract
Staff activity recordsInterval records of when a member of staff was active in the platform, written by the same timer and under the same rules as a student’s activity records: staff identifier, school identifier, the surface, a start time and an end time each recorded to the minute, and the exact length of the period in seconds. No session identifier, no record of the work that was open, no message content, no location and no device identifier. Held in a separate table from students’ activity records, for pilot reportingAzure PostgreSQL (UK South)Retained for a maximum of 12 months from the start time of the interval, purged by a scheduled job, and in any event deleted on contract end plus 90 daysSchool documented instructions as set out within the data processing agreement in accordance with UK GDPR Art. 28; the 12-month cap matches the activity records row above, by decision
Sign-in recordsOne record for each student or member of staff and each day on which they signed in: user identifier, school identifier, the date, the time zone the date is on, and the number of sign-ins that day. No time of day, no device, no browser, no network address and no location. For pilot reportingAzure PostgreSQL (UK South)Retained for a maximum of 12 months from the date, purged by a scheduled job, and in any event deleted on contract end plus 90 days. A student’s records are deleted when that student’s data is erasedSchool documented instructions as set out within the data processing agreement in accordance with UK GDPR Art. 28; the 12-month cap matches the activity records row above, by decision
Staff access recordsOne record for each member of staff, student, reason and day on which that member of staff opened the student’s data: an identifier for the staff account, the student identifier, the school identifier, the reason (the staff surface the data was opened on, from a fixed list), the time of the first opening that day, and a count of the times that day the member of staff deliberately opened it, which excludes automatic page refreshes. Written when school staff open a student’s data and when a Halved system administrator does. No message or other content from the student’s recordsAzure PostgreSQL (UK South)No automatic expiry; in any event deleted on contract end plus 90 days. Not deleted when a student’s data is erased: the student identifier in each record is replaced with a reference to the erasure and the rest of the record is kept, as section 10 sets outSchool documented instructions (UK GDPR Art. 28); accountability to the school and the student for which staff have read a child’s data. An erasure is requested by school staff, so a record that erasure deleted could be removed by the person it records
Text awaiting a repeat safety checkThe words of a chat message, a piece of work or an upload whose content-safety check could not be completed, held so that the check can be made once the service answers againAzure PostgreSQL (UK)Transient. Deleted as soon as the repeat check completes, whatever its result; deleted and alerted internally if the check cannot be completed after repeated attempts. Reached by an erasure request in the same way as any other record of that studentSchool documented instructions (UK GDPR Art. 28); retained so that a safeguarding concern made during a service outage is not lost
Safeguarding flagsFlagged message excerpts, category, severity, session reference, timestamp, statusAzure PostgreSQL (UK)As instructed by the school and aligned with the school safeguarding retention policy (if applicable)School documented instructions as set out within the data processing agreement in accordance with UK GDPR Art. 28; or (as applicable) For compliance with a legal obligation; safeguarding regulatory guidance (Keeping Children Safe in Education)
Authentication tokensSession tokens, JWT identifiers stored in RedisAzure Cache for Redis (UK South)Session JWT expires after 7 daysStrictly necessary for security and session management
Application logsApp Service diagnostic logs (no PII in log body, see Logging Policy)Azure Log Analytics workspaces (UK South)30 days (unless a security incident requires longer retention of relevant extract), with one stated exception: on production, the StorageBlobLogs table, which records blob write and delete operations, is held for 90 days. The exception, its reason and its scope are in the Logging Policy, section 4Security and operational monitoring; data minimisation. The 90-day exception exists so that a deletion of a student’s upload noticed within a quarter can still be attributed to an account
Email delivery recordsDelivery status, message ID, recipient address for transactional emails sent via Azure Communication ServicesAzure Communication Services (United Kingdom)30 daysTransactional delivery, support and security audit
Teacher and staff accountsName, email address, role, school, hashed passwordMongoDB Atlas (Azure UK South)Duration of school contract + 90 days (unless the school instructs earlier deletion or return)School documented instructions as set out within the data processing agreement in accordance with UK GDPR Art. 28
School administrator accountsName, email address, administrator role, school identifierMongoDB Atlas (Azure UK South)Duration of school contract + 90 days (unless the school instructs earlier deletion or return)School documented instructions as set out within the data processing agreement in accordance with UK GDPR Art. 28;
Security incident recordsIncident ID, severity, affected systems/accounts, timeline, containment and remediation actions, notification assessment, resolution and lessons learned. Avoid student chat content, special category data, passwords, tokens or secrets except where strictly necessary.Restricted security incident log / compliance storage7 years from incident closure unless a shorter or longer period is required by law, regulator, insurer, school DPA or legal proceedingsSecurity incident management, UK GDPR accountability, regulatory evidence and legal claims
Administrative access records and access reviewsAdmin Account Register, access grants/removals, role, system, start and end dates, monthly contractor access reviews, MFA/access control evidence and privileged-access audit informationAccess management records / approved register3 years from access removal, or up to 6 years where needed for audit, legal claims, regulatory investigation or Cyber Essentials evidenceSecurity, Cyber Essentials, audit and UK GDPR accountability

5. Post-Contract Deletion

Upon termination or expiry of the school’s contract with Halved, all personal data subject to the “Duration of school contract + 90 days” retention period, together with all personal data that any other row of the retention schedule states is in any event deleted on contract end plus 90 days, will be permanently deleted within 90 calendar days of the contract end date. Where a category also carries a shorter cap of its own, such as the 12-month cap on activity records or the 24-month cap on student-authored content, that cap applies during the contract and the contract-end deletion applies in addition to it. The 90-day window allows for:

Resolution of any outstanding data subject access requests or complaints;

Transition assistance to the school or its successor provider;

Final invoicing and contractual close-out.

Deletion will be performed by permanently removing the relevant records from MongoDB Atlas, Azure PostgreSQL, and Azure Blob Storage.

6. Safeguarding Data

Safeguarding flags are retained in accordance with the relevant UK school instructions provided to Halved as set out within the data processing agreement (‘DPA’) agreed between Halved and the school, or otherwise in accordance with the relevant UK school’s documented lawful instructions. The specific retention periods for safeguarding flags are as set out within the relevant DPA or are otherwise aligned to the relevant school’s safeguarding retention policy and/or documented instructions. In the event of any conflict between the retention periods set out within the DPA between Halved and the relevant school, the DPA shall prevail, unless and to the extent that Halved and the school agree otherwise.

Access to safeguarding records after contract termination will be restricted to the designated safeguarding leads of the contracting school and to Halved’s designated safeguarding officer.

7. Deletion Verification

Halved maintains a deletion log recording each erasure carried out in response to an erasure request or a school instruction. The deletion log contains personal data. Each entry holds the identifier of the student whose data was erased, the email address of the member of staff who requested the erasure, the school identifier, the date and time the erasure was recorded and the time it completed, each category of data acted on with what was done to it and how many records were affected, and whether written confirmation was sent. It holds no content from the student’s records. The deletion log is also the only record that links an erased student to their staff access records (section 4), in which the student identifier is replaced on erasure by a reference to that student’s first deletion log entry.

At the end of its retention period the deletion log stops naming the child, and the entry itself is kept. A scheduled job runs nightly and, on each completed entry that has reached the retention period, replaces the identifier of the student and the email address of the member of staff who requested the erasure. The date, the school, the categories acted on, the counts, the completion time and the confirmation flag are all kept, because the entry is the record that the erasure was carried out and a school must still be able to show that erasures are performed. An entry for an erasure that never completed is not touched, because the identifier in it is the only record of which student a school asked to have erased on a run that did not finish; such an entry is reported for human attention instead. The retention period in operation is 3 years, measured from the time the erasure completed.

Deletions carried out automatically by a scheduled retention purge, such as the 12-month cap on activity records, are not recorded in the deletion log. That log is keyed to one student and to the person who requested the deletion, and a scheduled purge has neither. Each purge run that ends writes one record to a separate purge log, which is retained for 3 years. The record holds the date and time of the run, the table it acted on, the retention window applied, the cut-off date resolved for that run, the outcome of the run, the reason where a run ended without deleting, the total number of records deleted, the number of batches used, and a census by school of the records that were in scope. The purge log contains no personal data: it holds school identifiers, counts and timestamps only, and carries no student identifier.

What the per-school figures are, stated precisely, because the distinction matters to a school checking its own record. The census is a count of records per school taken immediately before the deletion, which is the only point at which those records can be counted. It therefore records what was in scope for that run rather than confirming what was removed. The number of records deleted is held as a single total for the run and is not broken down by school. On a run that completes normally the two agree, and a run that does not complete normally is recorded as such with its reason. Each purge run also writes a line to the application logs as an operational signal, carrying the same figures on the same basis, and that line is held for 30 days under the Application logs row of section 4.

Where a school or data subject requests confirmation of deletion, Halved will provide written confirmation within 30 days following the date of deletion.

8. Sub-processor Retention and Deletion

All sub-processors used by Halved are bound by the Microsoft Customer Agreement and Microsoft Data Protection Addendum, which include obligations to delete personal data in accordance with the controller’s documented instructions. MongoDB Atlas is bound by MongoDB’s Data Processing Agreement.

Halved will issue written deletion instructions to relevant sub-processors within 30 days of a contract end date. Sub-processors are required to confirm deletion within their own documented SLAs.

9. Backup Retention

Automated backups are retained as follows:

MongoDB Atlas: Point-in-time restore enabled with a 7-day restore window. Backups are stored within Azure UK South.

Azure PostgreSQL: Automated backups are retained for 30 days with geo-redundant storage within the UK.

Azure Blob Storage: No automatic backup; data durability provided by Azure ZRS (zone-redundant storage) within UK South.

No backup snapshot will be retained beyond the applicable retention period for the data category it contains.

10. Data Subject Rights and Early Deletion

For further information about the rights of data subjects, please see our Privacy Policy.

In respect of any requests received by Halved from a data subject to exercise their right to erasure (including when such request is received from a student, a parent and/or legal guardian) Halved will comply with all such requests and delete the specific personal data without undue delay and in any event within one month of receipt of the request. This period may be extended by up to two further months where the request is complex or numerous, in which case Halved will inform the data subject within one month of receipt and explain the reasons.

Two records are kept on erasure with the student’s identifier removed from them, and the reasons are stated here because a school will ask. The first is the staff access record (section 4), which shows which member of staff opened a student’s data, on which surface and on which day. Erasure is requested by school staff. If erasure deleted this record, a member of staff who had read a child’s conversations could remove the record that they did so by asking for that child to be erased, and the record would not survive the one action it most needs to survive. So on erasure the student identifier in each of these records is replaced with a reference to the erasure, being the identifier of that student’s first deletion log entry, and the staff account, school, reason, day and count are kept. A record written after the erasure has completed carries the same reference rather than the student identifier. The erasure locks these records against new writes for the moment before it completes, so a record written at the same time cannot be left carrying the student identifier. The system account that performs erasures can amend these records and cannot delete them. The reference can be linked back to the student only through the deletion log (section 7), and once that entry stops naming the student at the end of its retention period the record of the reading cannot be linked back to the child at all, while the record of who read and when survives. The written confirmation of an erasure names this record and states that it was kept.

The second is the record of a student list import. When a school creates student accounts by importing a list, Halved keeps a record of the list and of what happened to each line of it, so that the school can see which accounts were created and which were not. That record also names the school’s other students on the same list, so erasure does not delete it. Instead, on erasure, the student’s line in each import made by any school the student has been at is replaced with the same reference to the erasure, and the rest of the list is kept as it was. A list that has been checked but not yet confirmed is treated differently: the student’s line is removed from it, so that confirming the list later cannot create the erased student’s account again. Import records are short lived in any case. A list that is checked and never confirmed is deleted one day after it was checked, and every import record is deleted 30 days after it was last changed. The written confirmation of an erasure names this record and states that it was kept.

A school’s intake, described in section 4, names students too, but only until Halved imports it, when it is deleted. It can name a student whose data is being erased only if an import created that student’s account and stopped before it finished. In that case the student’s lines are removed from the intake, so that finishing the import cannot create the erased student’s account again. While that intake is being imported, or where a line carries the student’s email address under a school student identifier that does not confirm it is them, the erasure is not completed: the student’s account is kept so that the erasure can be run again once the import has stopped or the intake has been corrected or deleted.

A student may delete their own uploaded content and free-text notes at any time using the in-product delete control, and deletion is actioned immediately. Students can also delete their own working ink at any time before it is submitted, on a lesson slide and in the jotter alike. Ink a student draws on their own uploaded work is never submitted to a teacher, so the student can erase it at any time, and deleting the upload deletes its ink. The exception is an upload withheld by safety screening, which is kept with anything drawn on it when the student deletes it. Once ink is submitted to the teacher as part of a piece of work, it forms part of the assignment record and is retained for marking and review; it cannot be deleted by the student. This applies to a page of jotter working out in the same way as to a marked-up lesson slide. Teacher feedback annotations are authored by staff and retained with the assignment record. Ink flagged by safeguarding screening is retained for staff review.

A profile photograph is different. A student or a member of staff can replace their profile photograph at any time from their profile page, but there is no in-product control to remove one without putting another in its place. Removal is handled as an erasure request to dataprivacy@halved.io or through the school, and is actioned within the periods set out above.

Requests for the erasure of any special category personal data retained by Halved or any of its sub-processors will be complied with without delay (and in any event, within one month of receipt of any request).

There may be circumstances where Halved has a legal obligation to retain information (excluding special category information) which will result in Halved having to refuse to comply with an erasure request. In such circumstances, Halved will inform the data subject without delay and shall set out the reasons for such refusal. The circumstances that may be relied upon for such refusal include (but are not limited to) compliance with applicable laws and/or regulations, or for establishing, exercising or defending legal claims.

The staff access record and the import record kept on erasure, described above, are not refusals of this kind. Wherever such a record exists it is kept in the form set out above, and the confirmation of every erasure names it.

11. Policy Review

This policy is reviewed annually (or upon a material change to the Halved platform’s data processing activities, applicable law, or regulatory guidance). The next scheduled annual review is May 2027.

12. Document Control

FieldDetail
OwnerHalved Limited
ClassificationConfidential, for data protection lead review