Tigris Object Storage implemented a Recycle Bin feature for objects and buckets on top of its immutable, geo-replicated active-active database. Unlike S3's delete markers (which expose internal implementation details), Tigris treats soft deletes as external references in a separate namespace, making recovery straightforward. The post explains the distributed systems challenges involved — particularly the anti-resurrection mechanism that prevents deleted objects from being resurrected by late-arriving writes from other regions. Soft deletion can be enabled on any bucket, keeps deleted data recoverable for up to 90 days, and is positioned as a defense against accidental deletion and ransomware attacks.
Table of contents
Recycle bins and you Soft deletes in some universes Using soft deletes Now what? Questions this post answers
How does Tigris soft delete differ from S3 delete markers?
Tigris soft deletes are external references stored in a separate namespace (a recycle bin), not tombstones. S3 delete markers are tombstones that expose the internal eventually-consistent database mechanics. Tigris copies the full object metadata to the recycle bin, making restoration a single API call, while S3 requires users to manage delete markers directly. Deleted objects remain recoverable for up to 90 days. Engineers choosing between object storage providers for data-critical workloads track these design differences on daily.dev.
How does Tigris prevent a deleted object from being resurrected by a late write from another region?
Tigris uses an anti-resurrection rule: any write to an object must prove it is newer than the deletion by comparing Unix nanosecond timestamps. If a DeleteObject arrives at one datacenter at time 25 and a PutObject arrives at another at time 15, the put is rejected because the delete is newer, and the delete is propagated back to the originating region. This prevents regions from disagreeing about object existence. Developers building on geo-replicated storage who need to reason about replication edge cases find relevant deep-dives on daily.dev.