← All insights
ENGINEERING JOURNAL / Google Cloud Operations

Cloud Storage Lifecycle: Account for Soft-Deleted Data

Explain why a Cloud Storage lifecycle delete can leave retained storage, then check object versioning, holds, soft delete, and storage-class charges.

Cloud Storage Lifecycle: Account for Soft-Deleted DataCloud Storage Lifecycle: Account for Soft-Deleted Data — conceptual 3D-style vector showing Lifecycle conditions, Eligible object, Holds and retention, Delete action, Soft-deleted state, Permanent cleanup.. Conceptual teaching illustration; connections show the investigation flow rather than a vendor deployment topology.CLOUVENIX / GOOGLE CLOUD OPERATIONSCloud Storage Lifecycle: Account for Soft-Deleted Data01Lifecycle conditions02Eligible object03Holds and retention04Delete action05Soft-deleted state06Permanent cleanupConceptual investigation flow / Cloud Storage Lifecycle: Account for Soft-Deleted Data
Cloud Storage Lifecycle: Account for Soft-Deleted Data — conceptual 3D-style vector showing Lifecycle conditions, Eligible object, Holds and retention, Delete action, Soft-deleted state, Permanent cleanup.
CHAPTER

Deletion has more than one state

A Cloud Storage lifecycle rule evaluates object conditions and performs a configured action when those conditions are satisfied. A delete action does not always mean the object's bytes immediately disappear from every retained state. Object Versioning, soft delete, retention policies, and object holds can change the outcome.

This is why a cost investigation should follow object state rather than only a lifecycle rule's age condition. A live object can become a noncurrent version when versioning applies. Deleted data can remain recoverable under soft delete. A hold or unfulfilled retention requirement can prevent the delete action from taking effect. Storage-class minimum-duration charges can also affect the bill even after data changes state.

Prepare bucket configuration access, a small representative object sample, the storage policy owner, and cost visibility. Use read-only inspection first. Do not disable recovery or retention features simply because a cost chart did not fall immediately after a lifecycle change.

CHAPTER

Trace the policy stack

  1. Read gcloud storage buckets describe gs://BUCKET_NAME --project=PROJECT_ID. Record lifecycle rules, Object Versioning, soft-delete policy, retention policy, and default event-based holds. Confirm the effective bucket rather than a similarly named archive or replication destination.
  2. Inspect representative object metadata and versions. Determine whether an object is live, noncurrent, soft-deleted, held, or still within retention. Match all lifecycle conditions, including version-related conditions where used. One satisfied age condition does not imply that a rule with several conditions matches.
  3. Build an expected state timeline for a test object. Include the lifecycle eligibility point, any versioning transition, soft-delete retention, and storage-class duration implications. Use current pricing documentation for the actual class and location rather than a generic savings assumption.
  4. Validate a reviewed rule in a test bucket or narrowly selected test population. Observe the documented asynchronous behavior and policy propagation. Compare object state and billed storage over an appropriate period; immediate manual deletion of production data is not a useful shortcut for proving lifecycle behavior.
CHAPTER

Illustrative scenario

A fictional media team configures deletion of old previews. The ordinary object listing shrinks, but retained storage remains because deleted previews enter the bucket's soft-delete window. Another set remains as noncurrent versions under a separate versioning policy. The correction is an explicit retention and recovery design, with the owner deciding what can be permanently removed and when. The lifecycle service is not necessarily failing.

ObservationEvidenceMeaning
Old live object remainsAll rule conditions and holdsIt may not yet be eligible for deletion
Live listing shrinks, storage remainsSoft-deleted objects and policyRecovery retention is still active
Many historical versions remainVersioning and noncurrent rulesCurrent-object cleanup is incomplete
Bill differs from byte reductionClass duration and billing timingCost includes more than live bytes
CHAPTER

Verify the intended outcome

Inspect the test population's transitions and confirm recovery works during the approved soft-delete window. Verify that required records remain protected by holds or retention. Review storage-class and version-related cost separately from ordinary live data. Ask the application owner to confirm no consumer still depends on objects that the rule intentionally removes.

CHAPTER

Operating procedure

Monitor live, noncurrent, and soft-deleted storage as distinct capacity categories where available. Review lifecycle rules after enabling versioning or changing recovery requirements. Keep the retention owner involved in cost changes and document the expected state timeline. Recheck current pricing when moving data between storage classes, because an apparently cheaper class can have duration and access implications.

Explore Clouvenix cloud cost optimization for implementation and operational handover.

Technical reference

lifecycle management, soft delete, and pricing behavior.