MFA delete adds an additional layer of security as users must include
the x-amz-mfarequest header in requests to permanently delete an
object version or change the versioning state of the bucket. This header must include the
authentication code from a multi-factor authentication device
Versioning helps to mitigate the impact of deleting objects as older versions are retained
however it does not prevent deletion
Encryption protects against unauthorized agents reading your data, it does not protect it
from deletion
Lifecycle management can also reduce the impact of deleting objects as they may have been
archived, but again it does not stop you from deleting them