StorafleetStorafleet

/// GUIDES / OBJECT LOCK / WORM

Object Lock / WORM

Object Lock makes objects immutable — write once, read many (WORM). Once locked, an object can't be deleted or overwritten until the lock is lifted. storafleet gives you per-object holds, time-based retention, and a bucket-wide default.

Precondition: enable at bucket creation

Object Lock must be enabled when the bucket is created. It can't be turned on for a bucket after the fact, so make this decision up front. Once a bucket has Object Lock enabled, the controls below become available.

If an existing bucket doesn't have Object Lock enabled, create a new Object-Lock-enabled bucket and use the migration engine to move objects into it.

Toggle a per-object Legal Hold on or off. While it's on, the object can't be deleted or overwritten — there's no expiry date; the protection stays until you remove the hold.

Retention (GOVERNANCE mode)

Set retention in GOVERNANCE mode to protect an object until a chosen date. The object is locked until then, but a privileged user can shorten or remove the retention before it expires. Use GOVERNANCE when you want strong protection that authorized administrators can still override.

Bucket default retention

Set a bucket default retention so that every new object locks automatically when it's written. This means you don't have to remember to set retention on each upload — the bucket applies it for you.

COMPLIANCE mode

Escalate to COMPLIANCE mode for the strongest guarantee.

COMPLIANCE mode is irreversible: until the retention expires, nobody — including the root user — can delete the object or shorten its retention. Because there's no undo, storafleet requires you to type-to-confirm before applying it.

Supported providers

Object Lock is available on the providers that support the S3 Object Lock API:

  • AWS S3
  • Backblaze B2
  • Wasabi
  • MinIO
Object Lock is not available on Cloudflare R2 or DigitalOcean Spaces. The Object Lock controls won't appear for Fleets on those providers.