If you are concerned that your application software or users might erroneously delete or replace objects at some point, Cloud Storage has features that help you protect your data:
Soft delete provides default bucket-level protection for your data from accidental or malicious deletion by preserving all recently deleted objects for a specified period of time. You can restore the deleted objects within this duration. For more information on how to restore soft-deleted objects, see Use soft-deleted objects.
Bucket Lock: A retention policy that specifies a retention period can be placed on a bucket. Each object in the bucket must reach the specified age before it can be deleted or replaced.
Object Retention Lock: A retention configuration that specifies a retain-until date and time can be set for an individual object. The object cannot be deleted or replaced until after the specified date and time.
An object hold can be placed on individual objects to prevent anyone from deleting or replacing the object until the hold is removed.
Object Versioning can be enabled on a bucket in order to retain older versions of objects. When the live version of an object is deleted or replaced, it becomes noncurrent if versioning is enabled on the bucket. If you accidentally delete a live object version, you can restore the noncurrent version of it back to the live version.
Object Versioning increases storage costs, but this can be partially mitigated by configuring Object Lifecycle Management to delete older object versions. For one possible setup, see the lifecycle configuration example for deleting objects.
Object Lifecycle Management can be configured for a bucket to give you more automated control over deleting objects. When you define a lifecycle configuration, Cloud Storage performs a specified action, such as deleting an object, only if the object meets your criteria.
Cloud Storage also has features that help manage your objects' storage classes:
Object Lifecycle Management can be configured for a bucket to give you more automated control over moving objects to colder storage classes. When you define a lifecycle configuration, Cloud Storage performs a specified action, such as setting a colder storage class for an object, only if the object meets your criteria.
Autoclass can be enabled on a bucket, which lets Cloud Storage manage the storage classes of objects in the bucket automatically.