The engineering bottleneck with assembled stacks
Privacy leads must delete or freeze a subject’s data on request and discover nobody can enumerate where that subject’s data lives: three tables, a bucket of uploads, an export somebody emailed in March. The request’s deadline does not care. Teams respond with heroic manual searches that cannot be repeated for the next request and cannot be proven afterwards.
Architecture on the Software Lifecycle Cloud
The discipline is declared per table at design time: which field identifies the subject, which date ends retention, which flag freezes instead of deletes. The retention workflow walks those declarations on schedule and on demand for a named subject, acting identically in both cases — delete from tables, delete or anonymise bucket objects, and log subject, scope, and timestamp into a proof table that itself contains no personal payload.
Freezing is a state, not an exception
Legal holds and disputes mean some records must stop ageing without disappearing. Because hold is a field, the same job that deletes a million expired rows skips the frozen thousand and says so in its log. The privacy lead’s answer to “is this subject frozen everywhere?” is a query over flags, not a round of emails to service owners.
- Erasure for a named subject and nightly expiry are the same code path with different scope
- Proof entries record what was deleted, when, and under which request — without retaining the deleted content
- Bucket objects follow the same subject fields, so uploads stop being the forgotten copy
The design-time price
This only works for tables designed with subject fields from the start; legacy data without them needs a backfill before the job can see it. That backfill is real work and this page will not minimise it — it is also one-time, while manual request handling is forever.
Frequently asked questions
Run the retention workflow scoped to the subject id: it deletes or anonymises the subject’s rows and objects across every table that declared a subject field, then writes the proof entry. The requester gets the proof entry, not a promise.
Exports inside the project live in buckets the same subject scan covers. Anything that left the project — an emailed spreadsheet — is outside any platform’s reach, which is an argument for keeping exports as expiring bucket links instead.
Yes. Retention dates live on the records and rules live per table: invoices keep their statutory years, support attachments expire in months, frozen subjects override both. The workflow enforces the per-table declaration uniformly.
Related capabilities, architectures, and comparisons
Ship your stack on the Software Lifecycle Cloud.
Closed preview on dedicated European infrastructure. Bring a repository or start from a blueprint.