noCV
RRETENTION-103 · Define expiry and exceptions

Require scoped authority to place an attachment on investigation hold

Practice briefStoryIntermediate

Any support member can currently set a permanent hold with no reason, and the flag has no owner for later review.

Focused work estimate
2h 30m + prerequisites
Priority in the scenario
Medium
Engineering practice
Authorization · Auditability

Estimated field mix

  • Security50%
  • Privacy engineering50%

Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.

Your next step

Review it, then add it to your workspace.

The board opens an editable draft; nothing is saved until you confirm it. Sign-in and workspace permissions apply, and Demo boards remain ephemeral.

Project context

A fictional support service keeps uploaded diagnostic files indefinitely. The exercise policy expires attachments 30 days after case closure, while a separately authorized investigation hold pauses removal. These are invented product rules, not legal advice or compliance certification.

Setup prerequisites

  • Create synthetic cases, attachment metadata and a fake object store with controllable failures.
  • Use an injected UTC clock and an authorized operator fixture; no real support uploads are needed.

Preceding work

Complete these dependencies, or supply their agreed outputs before taking this ticket.

Acceptance criteria

  • Require tenant-scoped hold authority, a bounded reason category and a review date.
  • Append hold creation and release records with actor and policy version.
  • Deny a foreign-tenant or ordinary-member hold command before mutation.

Implementation constraints

  • Keep free-text case content out of generic audit logs; an audit records the privileged action and safe identifiers.

Verification to include

  • Create and release a hold as the authorized synthetic operator.
  • Attempt both commands from another tenant and an unprivileged member; verify no change.

Deliverables

  • Hold commands and authorization regressions

Rollout and recovery

Introduce hold management before purge activation so active exceptions can be represented.

Value of the work

For the engineer: Practice temporal policy, deletion races, exception authority and truthful recovery reporting.

For the team: Develop inspectable retention behavior that a company can review against its own approved data policy.

Evidence boundaries

Outcome Evidence: Tests, patches, and runbooks are requested deliverables. They become Outcome Evidence only through a qualified Mission and immutable Evidence IDs.

Ownership Evidence: Independent adaptation must be observed under a declared verification policy and cite immutable Evidence IDs. Completing a planning ticket establishes no Ownership Evidence.