It would be great if there was a way to grant permissions on a temporary basis such that after a specified time period (hours, days), those permissions would be removed.
For example, while hardening a release, users may only be allowed to open files for editing, but aren't able to submit those files without a review. Once the review happens and the changes are approved, temporary access can be granted to check in those changes, and the permissions are automatically removed, reverting back to the default open state, after some period of time (12 hours, 1 day, etc).
Alternatively, while a branch may be locked down for most people, a subset of users may be granted an extension (e.g. 2 weeks) to finish up some work. A temporary permission is granted for a group with those users and set to expire after 2 weeks. Once that time passes, the permission is removed reverting back to the locked down state.