Skip to content
Platform capability

Retention and erasure: storage limits enforced, not remembered

Updated 4 min read

Storage limitation is enforced by the platform, not left to memory. Retention rules are data, keyed per data class and jurisdiction, each naming a period and an action of anonymise or delete, with no silent fallback so a missing rule is a logged gap. A scheduled job evaluates records against their rules and acts, logging every evaluation even when nothing is purged. Legal holds override the schedule, and a build-time test asserts that every table holding personal data is covered by a rule or an explicit exemption.

What does the capability do?

It turns “keep personal data no longer than necessary” from a policy into an engine that runs on schedule and proves what it did.

  • Rules as data, per class and jurisdiction. Each retention rule names a data class, a country, a period, and an action. Because there is no fallback, a data class without a rule shows up as a gap rather than defaulting to keep-forever.
  • Scheduled anonymise or delete. A job finds records past their period and either anonymises them, overwriting personal fields while keeping non-personal reporting columns, or deletes them. In non-production it defaults to a dry run, so you can see what would be purged before anything is.
  • Every evaluation logged. The engine records that it assessed each data class against its rule and what it found, so the audit log proves a rule was considered, not merely that something was deleted. Absence of deletion is evidence too.
  • Legal holds that override. Data under investigation is excluded from purging by a legal hold, applied centrally so no class can skip the check, and kept for audit when lifted.
  • Fail safe, not sorry. Where an erasure would touch stored documents that cannot yet be removed cleanly, the run refuses rather than partially erase and leave data orphaned in storage.
  • Coverage enforced by a test. A build-time test asserts every table holding classified personal data is either covered by a retention rule or listed as an explicit, documented exemption. New personal data cannot silently escape retention.

Why anonymise-or-delete beats a delete button

The right to erasure and the duty of accountability pull in opposite directions: one says remove the data, the other says keep a record of what happened. Treating removal as a single delete satisfies one and breaks the other.

The platform separates the states instead. Soft deletion hides a record while keeping its history. Anonymisation strips the personal data while keeping the non-personal residue a business needs for reporting and reconciliation, and it reaches soft-deleted rows so nothing hides from a purge. The immutable audit trail is preserved throughout, which is what lets erasure and accountability coexist. The companion guide covers how crypto-shredding extends this to data that must not be mutated.

Why it matters

Storage limitation is the data-protection principle most systems quietly ignore, because keeping everything is the path of least resistance. An operator holding personal data, often for children, has to show it is kept only as long as needed and removed on a defined schedule. Rules per data class, scheduled action, logged evaluations, and legal holds mean the platform can demonstrate that, not just assert it. It builds on data classification, which tells retention where the personal data is, and it is part of the wider platform discipline of designing data protection in. Read more in our approach to GDPR and data protection by design.

Frequently asked questions

How does the platform decide when to delete data?
Retention rules are configuration, not code. Each rule is keyed to a data class and a jurisdiction, and names a period and an action of anonymise or delete. There is deliberately no fallback rule, so a data class with no rule is a visible, logged gap rather than an accidental keep-forever. Nothing is erased without a rule someone knowingly configured.
What is the difference between soft delete, anonymisation, and erasure?
Soft delete marks a record as deleted and hides it from normal operation while keeping the data and its audit trail, which is an operational state, not a privacy control. Anonymisation overwrites the personal fields with non-personal values while keeping non-personal columns such as financial history for reporting. Erasure removes the personal data. The platform distinguishes all three, and anonymisation reaches soft-deleted rows too so nothing hides from a purge.
What happens to data that is under investigation?
A legal hold overrides the retention schedule. A held subject is excluded from purging until the hold is lifted, and the exclusion is applied centrally so no data class can forget to check it. Lifting a hold keeps the record of it for audit rather than deleting it.
See it live

See this working in a demo

Book a consultation and we will demonstrate this capability on the Platform accelerator, against your own scenarios.

Book a demo