Module 41 of 52 · Privacy and protection

Retention and defensible deletion

30 min 4 outcomes Retention gates, evidence trail and erasure impact figures 8 references

By the end of this module you will be able to:

  • Build a retention schedule from purposes and legal clocks rather than from storage cost
  • Explain legal hold and how it interacts with a running retention clock
  • Explain why deletion at scale is an engineering project across copies, backups, derived data and embeddings
  • Define defensible deletion and say what evidence it needs

A data class walks its retention clock through four gates

The clock is set once at creation and every later gate only reads it, so a legal hold suspends the schedule rather than restarting it, and the time already run still counts towards disposition on the day the hold lifts.

Retention is a schedule a data class walks, not a delete button someone remembers to press. The clock is set at creation, tested at each gate, and a legal hold only suspends it: when the hold lifts, the time already run still counts towards disposition.

A data class walks its retention clock through four gates Four regions. A tinted class card, complaint records, enters the chain beside a rule card saying the clock is set once at creation. Four gate cards follow: create, which sets the class and the clock; active use, which tests whether the purpose is still live; retention clock, which tests whether the period has run; and disposition, tinted, which chooses delete, anonymise, or archive. Arrows between them read class is fixed, purpose ends, period ends. Below, an override lane leaves the retention clock into a legal hold card and rejoins disposition, labelled hold suspends the clock and release resumes it. A footer repeats that a hold does not reset the clock. ONE DATA CLASS, FOUR GATES, ONE OVERRIDE LANE DATA CLASSComplaint recordsOne class, one clock, one ownerTHE RULEThe clock is set once, at creationEvery later gate reads it. Only a legal hold pauses it.enters the chain GATE 1CreateSets the classand the clockGATE 2Active usePurpose stilllive, or notGATE 3Retention clockHas the periodrun out yetGATE 4DispositionDelete, anonymiseor archiveclass is fixedpurpose endsperiod ends OVERRIDE LANELegal holdDispute, investigation, or a statutory dutyhold suspends the clockrelease resumes it A hold suspends the clock; it does not reset it When the hold is released the class returns to disposition with the time already run still counted.

Retention chain: schedule, trigger, execute, record

A schedule and a trigger only state an intention; the execute step is what reaches the copies and the backups and the record step is what leaves an audit log, so a retention policy missing either one is paper from the day it is signed.

Retention has four evidence steps: schedule (when to delete), trigger (event that fires deletion), execute (across copies and backups), record (audit log). UK GDPR Article 5(1)(e) requires data kept no longer than necessary; without the execute and record steps the schedule is paper.

Retention chain: schedule, trigger, execute, record Four cards left to right: Schedule (when), Trigger (event fires), Execute (across copies, emphasised), Record (audit log). Verb arrows then. A red-accent callout names execute as the step where evidence is created. RETENTION CHAIN · FOUR EVIDENCE STEPS · UK GDPR Art.5(1)(e) 1Art.5(1)(e)ScheduleRetention period perdataset2ICOTriggerEvent fires deletion3ISO 27701ExecuteAcross copies +backups4Art.5(2)RecordAudit log withsubject reference thenthenthen Execute is the step where evidence is created A retention policy without execution logs is paper. The audit log proves the policy ran, withtimestamps and subject references where lawful.

Erasure request impact map across four downstream layers

An erasure request leaves the master record, works through copies and caches, then derivations, aggregates and indexes, and finishes at backups; a request stopped at the primary system leaves the personal data alive in every layer behind it.

An erasure request under UK GDPR Article 17 must propagate to every downstream copy, derivation, analytics aggregate, and backup. Skipping any layer leaves the personal data alive somewhere and turns a right into a paper exercise. ICO 2022 right-to-erasure guidance enumerates the same four layers.

Erasure request propagates through four downstream layers Five cards left to right: Subject request, Master record, Copies + caches, Derivations + aggregates (emphasised), Backups + tape. Verb arrows propagates to. A red-accent callout names the backup layer as the one frequently exempted under legitimate-interest tests but not deletion-from-recall. ERASURE IMPACT MAP · UK GDPR Art.17 + ICO 2022 1UK GDPR Art.17SubjectrequestArticle 17invoked2ICO 2022MasterrecordPrimary system3ICO 2022Copies +cachesReporting, dev,QA4ICO 2022Derivations+aggregatesReports,models, indexes5ICO 2022Backups +tapeRecall vsdeletion propagates tothenthenthen Backups are the layer with a different rule ICO 2022 allows backups to retain personal data with proportionate safeguards if removing it istechnically infeasible, provided it is not recalled into use. Document the policy.

Almost every organisation has a retention policy, and almost none can demonstrate that it runs. The policy is a document; deletion is a distributed system problem. Between the two sit read replicas, nightly backups, a warehouse that copied the row three years ago, a search index, a feature store, a spreadsheet somebody exported before a board meeting, and a vector index built from the free-text notes. Deleting the production row touches one of those.

Retention is best handled as an operational clock, and deletion as an engineering programme with an evidence trail behind it. The three figures above carry that structure. The first shows a class of records walking four gates with a legal hold running as an override lane. The second shows the four steps that sit between a retention period and an audit log that proves it ran. The third shows the layers an erasure request has to reach, from the master record out to copies, derivations and backups, before anyone can say it was honoured.

A retention period is an output, not an input. It is derived from why the data is held and from whichever legal clock is running over it, and the schedule is where that derivation is written down.

41.1 Building a retention schedule from purposes and clocks

The legal starting point is the storage limitation principle. It does not name a number, which is the single most misunderstood thing about it.

kept in a form which permits identification of data subjects for no longer than is necessary for the purposes for which the personal data are processed;

UK GDPR, Article 5(1)(e) - Principles relating to processing of personal data, the storage limitation principle

The ellipsis stands for points (a) to (d), which carry the other principles; the lead-in and point (e) are quoted as they appear. Two consequences follow. First, the period is derived from the purpose, so the same field can carry different clocks in two systems that hold it for different reasons. Second, the phrase in a form which permits identification means the obligation can be discharged by removing identifiability rather than by deleting the record, which is why anonymisation is a disposition option alongside deletion. Point (e) continues by allowing longer storage where the data will be processed solely for archiving purposes in the public interest, or for scientific or historical research or statistical purposes.

A turns that principle into dated, assignable instructions. It lists the classes of data the organisation holds and, for each class, the purpose it is kept for, the person accountable for it, how long it is kept, what event starts the clock, and what happens at the end. Without one, the default behaviour of every storage system is to keep everything forever, which quietly accumulates both breach exposure and cost that nobody has priced.

Four columns do most of the work, and three of them are usually missing from the policy documents I see. The class is a set of records with a shared purpose, not a table and not a system: complaint records, employee payroll records, CCTV footage. The clock start is an event, not a row creation timestamp, and this is where schedules most often break. A tax record clock runs from the end of the accounting period it relates to, not from the day the invoice was raised. An employment record clock runs from the end of employment. A complaint record clock runs from closure of the complaint. If the platform only knows when the row was written, it cannot implement any of these without a business event to hang the clock on.

The third column is disposition, and it has more than one option. Deletion is the obvious one. Anonymisation is legitimate where the analytical value outlives the identifiable purpose, and it satisfies Article 5(1)(e) directly because the data is no longer held in a form permitting identification. Archive is the third, and it is where schedules go to die: moving a class to cold storage without attaching a further clock converts a retention decision into an indefinite hold with a lower monthly bill.

The fourth column is the source of the period. Some clocks come from statute, some from sector guidance such as the NHS Records Management Code of Practice for health and care records, some from limitation periods that determine how long a claim could still be brought, and some from nothing more than an internal decision about business need. All four are legitimate, but they carry different weight when challenged, and a schedule that does not record which one applies cannot be defended by anyone other than its author.

A worked row makes the shape concrete. Take customer complaint records held by a utility. The class is complaint records, the purpose is handling the complaint and defending any subsequent challenge to how it was handled, the owner is the head of customer operations, the clock starts at closure of the complaint rather than at first contact, the period is set by how long a claim could still be brought plus the regulator's expectations for the sector, and the disposition is deletion of the identifiable record with an anonymised summary retained for service improvement. Every one of those cells is a decision somebody made and can be asked to justify. Compare that with a policy line reading complaints: seven years, which answers none of the questions an auditor will ask and gives a platform team nothing it can implement.

The gates figure above shows the resulting shape. A class is created and the clock is set once. At the active use gate the question is whether the purpose is still live. At the retention clock gate the question is whether the period has run. Only then does disposition choose a method. Retention is a schedule a class walks, not a delete button someone remembers to press. The gate ordering carries a point that is easy to miss: a purpose can expire before the clock does, and it can also outlast it. When the purpose ends first, the organisation is holding data it no longer needs and the schedule should be shortened rather than defended. When the clock ends first but a live purpose remains, the schedule was derived from the wrong instrument and the purpose has to be re-examined, because continuing to hold on the strength of an expired period is exactly what storage limitation prohibits.

Common misconception

Our retention policy says seven years, so seven years is the retention period.

A single organisation-wide number is a sign that nobody derived the periods from purposes. Different classes carry different clocks from different instruments, and they will not agree. Applying the longest one to everything is over-retention that has to be justified under storage limitation; applying the shortest destroys records the organisation is required to keep. The schedule has to be built class by class, and each row has to name the event that starts the clock and the instrument that sets the length.

A schedule assumes the clock is allowed to run. Litigation, regulatory investigation and statutory inquiry all suspend that assumption, and a platform that cannot suspend deletion for a defined set of records has to switch it off for everything.

41.2 Legal hold and how it meets the clock

A is an instruction, issued when proceedings have begun or may begin, requiring documents that could be relevant to be preserved and routine deletion to be stopped for them. In the Business and Property Courts the duty is set out in Practice Direction 57AD. Paragraph 4.1 makes clear that the documents to be preserved include ones that would otherwise be deleted under a retention policy or in the ordinary course of business, and paragraph 4.2 states the obligation to suspend the relevant deletion processes for the duration of the proceedings and to notify employees and former employees who may hold disclosable documents the party does not otherwise have.

Read that alongside storage limitation and the tension is obvious. One duty says delete when the purpose has expired; the other says preserve. They are reconciled by scope and by evidence. The hold applies to a defined set of records for a defined reason, that reason is a legal obligation, and both the imposition and the release are recorded. What is not defensible is the response I see most often, which is to pause the deletion job across the entire estate because nobody can express the narrower scope in the platform.

The mechanism matters. A hold suspends the clock; it does not restart it. The override lane in the gates figure leaves the chain after the retention clock and rejoins at disposition once the hold lifts, and the time already run still counts. A record with five years of a six-year period elapsed, held for two years, is due for disposition one year after release, not six. Implementing this means a hold has to be a flag on a set of records with its own lifecycle, not a global switch and not a rewritten retention date.

Legal hold also constrains the other rights. The is not absolute: Article 17 lists the grounds on which it applies, and separate provisions disapply it where processing is necessary for compliance with a legal obligation or for the establishment, exercise or defence of legal claims. A record under a properly imposed hold is normally in exactly that position. The correct response to an erasure request touching held records is to explain the refusal and its basis, not to delete quietly and hope the two systems never meet.

Deciding what should go is the easy half. The hard half is that the data has been copied into places nobody listed, and several of those copies cannot be edited row by row at all.

41.3 Why deletion at scale is an engineering project

Start with the legal text, because it sets the standard the engineering has to meet.

The data subject shall have the right to obtain from the controller the erasure of personal data concerning him or her without undue delay and the controller shall have the obligation to erase personal data without undue delay where one of the following grounds applies

UK GDPR, Article 17(1) - Right to erasure

The right is conditional, not on demand: one of the listed grounds must apply, such as the data no longer being necessary for its purpose, consent being withdrawn with no other ground available, or the data having been unlawfully processed. But where a ground does apply, the obligation attaches to the personal data rather than to a particular database, and without undue delay sets a pace that an organisation with no copy inventory cannot meet.

The erasure impact figure above lays out the layers the request has to reach: the subject request itself, the master record in the primary system, copies and caches in reporting, development and test environments, derivations and aggregates such as reports, models and indexes, and last the backups and tape. Each layer is a different engineering problem, the two in the middle are where programmes stall, and the figure marks the last one as the layer that follows a different rule from the rest.

Copies first. A row in a transactional database is normally also present in one or more read replicas, in a change stream, in the warehouse it was loaded into, in any downstream mart built from that warehouse, and in whatever extract a team took for a one-off analysis and never cleaned up. This is precisely what exists to answer, and running downstream from the source table is how a deletion programme discovers its own scope. A team without lineage is not able to state where a person's data is, which means it is not able to state that it has been erased.

Derived data is the second problem and the one most often missed entirely. Aggregations may or may not be personal data depending on whether an individual can still be singled out from them. Caches and search indexes hold copies with their own eviction rules. A feature store may hold engineered attributes computed from the deleted record. Free-text notes turned into a and loaded into an index are still a representation of that person's information, and the index needs its own deletion path rather than a rebuild scheduled for next quarter. Model weights trained on the data are harder again: there is no general operation that removes one training example from a trained model, so the honest position is to record the limitation and to control what is used for training in the first place.

Backups are the third problem and they are genuinely hard. A backup is a point-in-time image, often immutable by design because immutability is what makes it useful against ransomware. There is no supported way to reach into it and remove one person's rows, and attempting to do so would destroy the property that makes it a backup. The ICO's guidance on the right to erasure is direct about this. It says the key issue is to put the backup data beyond use even if it cannot be immediately overwritten, that the backup must not be used for any other purpose, and that the individual must be told clearly what will happen to their data, including that it may remain in the backup environment until it is replaced on an established schedule. The practical consequence for a platform team is that the length of the backup cycle becomes part of the answer given to the individual.

Then there are storage-level surprises. Modern analytical tables built on and an implement a row deletion as a new snapshot, and the previous snapshots remain readable for the configured time-travel window. Deleting a row and leaving time travel at ninety days means the row is still queryable for ninety days. Streaming platforms behave similarly: a delete published to an is a tombstone appended after the original, and the original stays in the log until compaction and the topic retention setting remove it. In both cases the deletion is real and the timing is governed by a configuration setting that is usually owned by a different team from the one answering the request.

One technique cuts through several of these at once. Where data is encrypted with a key held per tenant or per subject, destroying the key renders every copy protected by it unreadable, including copies inside images that cannot be edited. This is worth designing in early, but it has to be honest about its limits: it only covers data that was encrypted under that key from the start, and it does nothing about plaintext derived values that were computed and stored elsewhere.

Put together, this is why a deletion capability has to be built rather than announced. The work items are recognisable engineering: a business event on every class so the clock has something to start from, a copy inventory kept current by lineage rather than by a spreadsheet, a deletion path for every store that holds a copy including the ones with their own retention settings, a scoped hold mechanism, and a disposal record that outlives what it describes. None of that is glamorous and none of it appears on a product roadmap unless somebody puts it there. The predictable sequence is that it gets funded after the first regulatory correspondence, at which point it has to be built under a deadline set by someone else.

It is also worth naming what deletion buys, because a programme argued purely on compliance tends to lose to the next feature. Every record held past its purpose is a record that can be breached, that has to be searched during discovery, that has to be migrated at the next platform change, that has to be assessed when a subject access request arrives, and that costs storage and query time in the meantime. Deleting on schedule reduces all five. The organisations that manage retention well tend to be the ones that stopped treating it as a legal chore and started treating it as estate hygiene with a legal deadline attached.

Common misconception

We ran the delete statement in production, so the customer's data has been erased.

The production row is one location. The same data is routinely present in read replicas, a change stream, the warehouse, downstream marts, cached results, search indexes, a feature store, exports taken by analysts, and any vector index built from free-text fields, and it remains in immutable backups until they cycle out. Erasure is a programme with an inventory behind it, and the deliverable is a documented account of which locations were addressed, which were put beyond use, and by when the remainder will age out.

Since no organisation can prove that no copy survives anywhere, the claim being made has to be a different one. That is what the word defensible is doing.

41.4 Defensible deletion

is deletion carried out under a documented, consistently applied process that an organisation can stand behind when challenged. The claim it supports is that the process was designed, approved and followed, not that no copy survives anywhere in the universe. That distinction is not a weakening. It is what makes the standard achievable and testable, and it is the same logic that runs through the rest of data protection law: what is required is an appropriate, documented, reviewed decision rather than a guarantee of a physical outcome.

Four things have to be true for a deletion to be defensible. The rule existed before the deletion, in an approved schedule, so the deletion was not a response to the dispute. The rule was applied consistently to the class, because selective deletion of inconvenient records within a class is the pattern that turns a routine disposal into an adverse inference. Holds were checked before the deletion ran, so the process itself proves that nothing under preservation was destroyed. And the outcome was recorded: what class, what records, on what date, under what rule, by what process, with what exceptions.

The evidence trail figure above is that last point drawn out as a chain of four steps. The schedule sets the period for the class. A trigger event fires the deletion. Execution runs the deletion across the copies and the backups. The record is the audit log that shows all of it happened, with timestamps and a subject reference where that is lawful. The figure's callout puts the weight on execution, because that is the step that produces evidence at all: a schedule with nothing behind it generates no log, and a policy with no execution log is paper.

What the record has to capture is one of three outcomes, because a purpose expiring does not always end in a deletion. Either the class was deleted and the disposal logged, or a lawful hold was recorded together with the reason the clock is suspended, or an exception was documented with a review date, which is the only legitimate form of keep it for now. An exception without a review date is not an exception; it is an indefinite retention that has been given a form to fill in.

Note the asymmetry that makes this work. of disposal has to survive the disposal. If the log of what was deleted is itself inside the class being deleted, the organisation has destroyed its own evidence, and the position after a well-run deletion programme becomes indistinguishable from the position after a cover-up. The disposal record is metadata about the deletion, kept under its own schedule, and it should contain no more personal data than the identifiers needed to show that a specific obligation was met.

Consistency deserves a second look, because it is the criterion that decides most disputes. A schedule applied to everyone in a class is a routine disposal. The same schedule applied to everyone except the three accounts that later turned out to matter is something a court will characterise differently, whatever the intention was. This is why the deletion has to be driven by an automated rule over a class rather than by a person exercising judgement record by record, and why the approval that matters is the approval of the schedule rather than the approval of each deletion. A team that can show the job ran unattended against a class definition approved eighteen months earlier is in a far stronger position than one that can show a careful, well-reasoned decision taken last week.

then become answerable rather than aspirational. A request arrives, the identity is matched, the inventory names the locations, the process runs, the holds are respected and the refusals explained, and the record of all of it exists. That is the difference between an organisation that has a retention policy and one that has retention.

Both halves of a defensible disposal rest on something the schedule assumes rather than creates: a named owner for each class, and a platform team obliged to act on the records function's instruction. Assigning those decision rights, and settling whether stewardship sits with a central data office or with the domains that generate the records, is the work of governance and operating models.

41.5 Check your understanding

A complaint record class has a six-year retention period. Five years in, litigation begins and a legal hold is placed on the class. The hold is released two years later. When is the class due for disposition?

An organisation honours an erasure request by deleting the customer's rows from the transactional database and the warehouse. Which of these remaining locations is most likely to be overlooked, and what does the organisation owe the individual about it?

A team deletes personal data from a lakehouse table built on an open table format, and separately publishes delete events to a streaming topic. A colleague queries the table two weeks later using time travel and the deleted rows are returned. What has gone wrong?

Core distinctions

  • Storage limitation sets no number. The period is derived from the purpose, so the same field carries different clocks in systems that hold it for different reasons, and the phrase in a form which permits identification makes anonymisation a valid disposition alongside deletion.
  • A schedule needs four things per class: the purpose and accountable owner, the event that starts the clock, the length and the instrument that sets it, and the disposition method. Clock start is an event such as end of employment or closure of a complaint, not the row creation timestamp.
  • Archive without a further clock is not a disposition. It is indefinite retention at a lower monthly cost.
  • A legal hold suspends the clock rather than restarting it, and the time already run still counts on release. It applies to a defined set of records, which is why pausing the estate-wide deletion job is not an implementation of it.
  • The right to erasure is conditional on an Article 17 ground and is disapplied where processing is necessary for a legal obligation or for legal claims, which is normally the position of records under hold. Refuse and explain rather than delete quietly.
  • Deletion at scale spans replicas, change streams, warehouses, marts, extracts, caches, search indexes, feature stores and vector indexes, and the copies you can find are the ones lineage records. Trained model weights have no general per-example removal, so control what enters training.
  • Immutable backups are addressed by putting data beyond use and letting the cycle age it out; open table formats and log-based topics keep the old rows until snapshot expiry, compaction and retention settings remove them.
  • Defensible deletion claims that an approved rule existed beforehand, was applied consistently to the class, was checked against holds, and was recorded. The disposal record has to survive the disposal, or the organisation has destroyed its own evidence.

Standards and sources cited in this module

  1. UK GDPR, Article 5 (Principles relating to processing of personal data)

    Article 5(1)(e), storage limitation

    Primary text of the retention principle, including the archiving, research and statistical exception.

  2. UK GDPR, Article 17 (Right to erasure)

    Article 17(1) grounds and Article 17(3) exemptions

    Shows that erasure is conditional and where a legal obligation or the defence of legal claims disapplies it.

  3. ICO guidance: storage limitation

    Setting and documenting standard retention periods

    Regulator interpretation of Article 5(1)(e), including the expectation that periods are set, documented and reviewed rather than left implicit.

  4. ICO guidance: right to erasure

    Do we have to erase personal data from backup systems?

    Practical source for how erasure is handled where a backup cannot be edited, for putting the backup data beyond use, and for what the individual should be told.

  5. Practice Direction 57AD, Disclosure in the Business and Property Courts

    Paragraphs 4.1 and 4.2, preservation of documents

    The English procedural source for legal hold: what must be preserved, the duty to suspend deletion processes, and the duty to notify custodians.

  6. NHS England: Records Management Code of Practice

    Retention schedule for health and care records

    Worked example of sector guidance setting periods by record type, showing why one organisation-wide number cannot be right.

  7. ISO/IEC 27001:2022

    Annex A control 8.10, information deletion

    Names information deletion as a control to be considered in a certified management system, with applicability recorded in the statement of applicability.

  8. OpenLineage

    Lineage metadata collected from jobs as they run

    The mechanism a deletion programme uses to discover its own scope, by running impact analysis downstream from the source table.

Module 41 of 52 · Privacy and protection