Add capability to prevent deletion of objects

Registered by Daniel Ford

We should have the capability to prevent deletion of objects. With this set for an object, normal delete commands would be rejected.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
Daniel Ford
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

Future-deletes would probably still work with such an object. The use case is that an object will be created and cannot be deleted until the X-Delete-At time is reached.

This could be done with a flag called something like "X-Preserve" or "X-Prevent-Delete" which is checked when processing a delete request.

Suggest this feature be called Retention. The absence of this metadata value means object can be deleted, therefore, this feature is backwards compatible with existing data.

Suggest an additional feature; Event-Based Retention (EBR.) This is a minimum retention time, a maximum retention time and an EBR trigger. If EBR is not triggered, the object falls under maximum time. If EBR is triggered, the object falls under minimum time. This is used for when retention requirements may changed based on some event and law requires data retention based on that event. E.g. An employee leaves a company, or a patient is deceased.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.