Right now we don't have any versioning on the S3 bucket. S3 is more reliable than any infrastructure we can build, but that doesn't help if we(or our users) accidentally delete things.
- Enable Versioning on the bucket.
- Add a Lifecycle Rule that deletes noncurrent versions after 7 days.
I'm picking 7 days randomly. Emails don't typically change on disk, so the storage costs of versioning shouldn't be too bad i hope(depending on how Stalwart's blob storage actually works).
However, without a mechanism to immediately delete all versions(which is dangerous) this means that users who delete emails will have to wait until their data is truly deleted. And they shouldn't have to wait too long.
Right now we don't have any versioning on the S3 bucket. S3 is more reliable than any infrastructure we can build, but that doesn't help if we(or our users) accidentally delete things.
I'm picking 7 days randomly. Emails don't typically change on disk, so the storage costs of versioning shouldn't be too bad i hope(depending on how Stalwart's blob storage actually works).
However, without a mechanism to immediately delete all versions(which is dangerous) this means that users who delete emails will have to wait until their data is truly deleted. And they shouldn't have to wait too long.