The implementation of Mark for deletion work has been split into two iterations:
Implementation: In Edit view implement a toggle which enable the user to mark an instance for deletion. Permissions are different than permissions for actual deletion.
Technical backend note: The Inventory database has constraints defined on Instance, HoldingsRecord and Item to prevent deletion of entities with dependent records. The database will throw an exception if such a delete is attempted, as a last backstop - see:
Out of scope: Prevent delete-all (wipe all data in Inventory). This functionality is used by SysOps doing migrations. The Core Platform is working on changing bulk deletion: