Skip to content

Backfill: cases that passed through bezwaar/beroep while the legal-hold control was dead #694

Description

@rubenvdlinde

Summary

BezwaarLegalHoldListener never placed a legal hold for its entire life (root cause and fix: #693). Fixing it forward does not repair the cases that passed through a bezwaar/beroep proceeding while the control was dead.

Those cases are, right now, missing the legal hold that archiving law requires, and are therefore destruction-eligible when they should be suspended.

Evidence

On the development instance, after the #693 fix was verified working:

count
case objects 348
bezwaar proceedings 22
cases carrying a legal hold 1 (the one created by the #693 positive control)

So 21 proceedings on that instance alone produced no hold. Production numbers are unknown and need to be measured before deciding on remediation scope.

What is needed

  1. Quantify — per environment, count cases that have (or ever had) an open bezwaar / objection / beroep proceeding and carry no _retention.legalHold.
  2. Decide the rule for "still open" — a proceeding with a matching bezwaarDecision / appealDecision is closed, and backfilling a hold on it and immediately releasing it may be the wrong outcome. The audit history matters here: a hold that was never placed should probably not be back-dated as if it had been.
  3. Backfill the still-open ones, with a reason string that makes the remediation visible rather than indistinguishable from a contemporaneous hold.
  4. Check whether anything was actually destroyed while unprotected. This is the part that decides whether this is a housekeeping task or an incident.

Why not in #693

#693 is a small, provable forward fix with a live positive control. Backfill is a data-remediation programme with its own risk profile (it writes to historical records and to the retention audit trail), and it needs the production numbers from step 1 before a safe rule can be written. Bundling them would make neither reviewable.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions