Backup Storage Prices

Guide

Write once, read many, and what it still costs to restore

Prices checked · Object Lock documentation checked

12 of 18 vendors document Object Lock or an equivalent write-once lock. A locked backup still costs money to read back: restoring all of a 10 TB backup costs least at Telnyx Cloud Storage Regular Storage, $55.83 that month, no more than a normal month. All 12 that document a lock offer one that no user, the account's owner included, can lift before its date (a compliance mode, or a locked policy at Azure Blob Storage). Oracle OCI Object Storage and Cloudflare R2 are listed apart: each has its own bucket retention rules instead of S3 Object Lock (Oracle OCI Object Storage's cannot be used on a bucket with versioning turned on; Cloudflare R2's can be removed by a bucket admin).

Each vendor's cheapest offer with its strongest lock, on 10 TB kept, 1 TB downloaded in a normal month, all 10 TB in the month you restore; readable at once, with no archive restore step, where the vendor has such an offer; cheapest month you restore first. Lock modes as each vendor's lock documentation names them, read on 11 October 2026; Azure and Oracle use their own words, not governance and compliance.
Vendor and offer Object LockLock modes 10 TB normal month10 TB restore month
Telnyx Cloud Storage Regular Storage Yes, S3 Object LockCompliance and governance (US, APAC and CA buckets only) $55.83 $55.83
IDrive e2 Yes, S3 Object LockCompliance and governance $60.00 $60.00
Backblaze B2 B2 Cloud Storage Yes, S3 Object LockCompliance and governance $69.43 $69.43
Wasabi Hot Cloud Storage Yes, S3 Object LockCompliance and governance $72.67 $72.67
OVHcloud Object Storage Infrequent Access Yes, S3 Object LockCompliance and governance $44.65 $85.25
Hetzner Object Storage Object Storage Yes, S3 Object LockCompliance and governance $88.80 $100.69
Storj Standard Yes, S3 Object LockCompliance and governance $77.00 $147.00
Scaleway Object Storage Standard One Zone Yes, S3 Object LockCompliance and governance $100.51 $212.75
Akamai Cloud Object Storage Object Storage Yes, S3 Object LockCompliance and governance $200.00 $250.00
Amazon S3 S3 Glacier Instant Retrieval Yes, S3 Object LockCompliance and governance $170.01 $1,297.60
Azure Blob Storage Cold LRS Yes, as Azure immutability (WORM) policiesLocked policies nobody can shorten or delete; unlocked policies for testing $170.83 $1,347.23
Google Cloud Storage Coldline Yes, as Object Retention Lock and Bucket LockCompliance and governance $185.04 $1,498.89
Vultr Object Storage Standard Unclear: the vendor's pages leave a gapNot documented $180.00 $280.00
DigitalOcean Spaces Spaces Cold Storage Not documentedNot documented $70.19 $171.71
Tigris Archive Instant Retrieval Not documentedNot documented $68.59 $348.49
Oracle OCI Object Storage Infrequent Access Its own retention rules, not Object LockLocked rules nobody can shorten or delete, after a 14-day delay; unlocked rules $103.08 $203.01
Cloudflare R2 Infrequent Access Its own retention rules, not Object LockRules a bucket admin can remove $120.80 $221.70
Filebase Object Storage NoNo lock $139.70 $139.70

Each vendor's cheapest offer with its strongest lock, on 10 TB kept, 1 TB downloaded in a normal month, all 10 TB in the month you restore; readable at once, with no archive restore step, where the vendor has such an offer; cheapest month you restore first. Lock modes as each vendor's lock documentation names them, read on 11 October 2026; Azure and Oracle use their own words, not governance and compliance.

Two kinds of lock, and who can open them

Governance modeAn administrator given the bypass permission can shorten the lock or delete early. It stops mistakes and most scripts, not someone holding that permission.

Compliance modeNobody can shorten the lock or delete the data before the date, the account's root user included. The lock opens only when its date arrives.

Either way the data is billed until the lock ends. A 90-day lock on 10 TB at Scaleway Object Storage Glacier keeps $28.51 a month on the bill for three months, $85.53 in all, even if the backup is no longer wanted after the first.

The two modes as Amazon S3 Object Lock defines them; S3-compatible vendors that document Object Lock use the same two. Azure, Google Cloud, Cloudflare R2 and Oracle use locks of their own, as the tables below show.

Put your own numbers through the calculator to see what this charge does to a normal month and to the month you restore.

WORM storage keeps a retained object readable but not changeable

WORM means write once, read many. During the applicable retention period or legal hold, the protected object or object version remains readable but cannot be overwritten or deleted through the protected path. Amazon S3 describes Object Lock as a WORM model, while Azure describes immutable Blob Storage as data held in a WORM state. [1] [2]

WORM is the behavior, Object Lock is one way to provide it, and immutable backup is a use case that applies a retention control to backup data. Those terms overlap, but they do not prove the same thing: a service can publish its own retention system without supporting the S3 Object Lock API, and a storage feature can exist without support from a specific backup tool. [1] [2] [4] [5]

WORM storage keeps a retained object readable but not changeable
TermWhat it establishesWhat it does not establishSource
WORM storage The protected data can be read but cannot be overwritten or deleted while the applicable retention control remains in force [1] [2] It does not by itself identify the API, retention scope, bypass rules, or backup-tool compatibility [1] [2]
Immutable backup A backup copy is placed under a documented control that blocks unwanted modification or deletion for the required period [1] [3] It does not prove that every object, version, region, class, or repository path is protected [1] [3]
Object Lock A provider feature applies retention periods, legal holds, or both to protected objects or versions [1] [3] The name alone does not prove identical governance, compliance, versioning, or enablement behavior across providers [1] [3] [6]
Legal hold Protection remains until an authorized action removes the hold, rather than expiring on a predetermined date [1] [3] It does not replace a separate time-based retention period when both controls are required [1] [3]

Retention mode and API compatibility decide whether two WORM controls are comparable

S3 Object Lock separates governance mode, which a specially authorized identity can bypass, from compliance mode, which cannot be shortened or bypassed during retention. Legal hold is a separate control with no predetermined expiration. Backblaze B2 and Wasabi publish the same broad mode names, but their enablement and retention details still have to be checked independently. [1] [3] [6]

Native retention systems should keep their own vocabulary. Azure uses unlocked and locked WORM policies, and Cloudflare R2 uses removable bucket-lock rules while its S3 compatibility list marks Object Lock configuration and object-level Object Lock headers as unsupported. R2 bucket locks are therefore not comparable to full S3 governance and compliance modes. [2] [4] [5]

Retention mode and API compatibility decide whether two WORM controls are comparable
Kind of controlProtection and scopeBypass or change ruleWhether it qualifiesSource
Amazon S3 Object Lock Retention periods and legal holds protect specified object versions in versioned general-purpose buckets [1] Governance can be bypassed only with the required permission and explicit header; compliance cannot be shortened or bypassed during retention [1] conditional on bucket type, versioning, object version, mode, and retention configuration [1]
Azure immutable Blob Storage Container-level or version-level WORM policies use time-based retention, legal holds, or both [2] An unlocked time policy can be changed or deleted; a locked time policy cannot be deleted or shortened [2] not comparable to S3 governance and compliance labels [2]
Backblaze B2 Object Lock Governance or compliance retention and legal hold protect B2 files from deletion [3] Governance can be changed by a client with the required capabilities; compliance cannot be removed and can only be extended [3] conditional on eligible bucket and file retention configuration [3]
Wasabi Object Lock Bucket-level defaults or object-level retention can use governance, compliance, and legal hold after Object Lock and versioning are enabled [6] Governance permits authorized bypass; compliance cannot be reversed during retention; legal hold remains until removed [6] conditional on bucket creation, versioning, and applied retention [6]
Cloudflare R2 bucket locks Rules can protect matching objects from deletion or overwrite for a duration, until a date, or indefinitely [4] Bucket-lock rules can be removed, and R2 does not implement the S3 Object Lock configuration or object-level retention API [4] [5] not comparable to S3 Object Lock governance or compliance [4] [5]

WORM blocks changes to protected data, not a read-only restore

A read-only restore retrieves or reads the retained source. Depending on provider and class, it can add retrieval, request, temporary-copy storage, and egress charges, but it does not delete, overwrite, move, or transition the retained object. Early deletion is therefore does not apply to the restore itself. [7] [8]

Retention can still change storage and request costs around the restore. Versioning can retain additional object versions, policy changes can create transaction charges, and a lifecycle deletion can be deferred while a lock rule remains stricter than the lifecycle rule. Those are retention or maintenance effects, not early-deletion charges caused by reading data. [2] [9] [4]

WORM blocks changes to protected data, not a read-only restore
ActionUnder WORMHow it is billedSource
Read or restore a protected object Allowed through the provider's documented read or restore path [1] [7] Retrieval, requests, temporary-copy storage, and egress can apply; early deletion does not apply [1] [7] [8]
Overwrite a protected version Blocked during effective retention in the documented WORM modes [1] [2] Not a restore; a new version or failed request can have separate storage or request consequences [1] [2]
Permanently delete a protected version Blocked unless the active control permits an authorized bypass or the protection has ended [1] [3] Early deletion is conditional only if a permitted destructive action removes data before a separate minimum storage duration [1] [3] [8]
Run a lifecycle deletion before lock expiry The stricter R2 bucket-lock rule keeps the object until its retention requirement is met [4] The object continues to occupy storage; this is not a read-only restore charge [4]
Create another object version The previously protected version remains retained under version-scoped controls [1] Additional version storage and write requests can apply [1] [2] [9]

Egress still decides the restore bill after data is locked

WORM status does not replace the provider's transfer, retrieval, and request charges. The vendors' pages show three different restore patterns: Backblaze B2 has a proportional free-egress allowance with a published overage rate, Cloudflare R2 has no egress charge but keeps request and class-specific retrieval charges, and Wasabi charges no egress fee under a fair-use guideline tied to the amount stored. [10] [12] [9]

A WORM comparison that reduces all three to free egress would be wrong. B2 converts cleanly to a dollar result beyond its allowance, R2 can still bill Class A and Class B operations and Infrequent Access retrieval, and Wasabi's restore costs no egress but must carry its policy, because regularly downloading more than you store can get the account limited or suspended. [10] [12] [9]

Egress still decides the restore bill after data is locked
ProviderRetention controlRestore rule in our price tableOn the billSource
Backblaze B2 S3-compatible Object Lock with governance, compliance, and legal hold is documented [3] Free egress up to 3 times monthly average storage, then $0.01 per GB; retrieval and Class A and Class B operations are not charged [10] [11] conditional on monthly average storage and restore volume [3] [10] [11]
Cloudflare R2 Native bucket locks are documented, but S3 Object Lock operations are not implemented [4] [5] Internet egress is not charged; Class A and Class B operations remain billable after applicable allowances, and Infrequent Access retrieval is $0.01 per GB [12] not comparable retention API; conditional request and retrieval cost [4] [5] [12]
Wasabi S3 Object Lock with governance, compliance, and legal hold is documented [6] No egress fee; monthly egress up to active storage fits the fair-use guideline, and regularly exceeding it can get the account limited [9] $0, with the policy beside it [6] [9]

Where price pages do not answer the Object Lock question

Our July 25 check of Wasabi's pricing page did not verify Object Lock because the pricing page is not the dedicated retention guide. Wasabi's current official guide verifies Object Lock, versioning requirements, governance, compliance, and legal hold, so this page uses that guide for retention behavior and the pricing page for prices and transfer policy. [13] [6]

Our July 25 check of Cloudflare R2's pricing likewise did not answer the retention question. Current R2 documentation verifies native bucket locks, while its S3 compatibility list says S3 Object Lock configuration, retention, legal-hold, and bypass operations are unsupported. Native bucket locks therefore cannot be presented as S3 Object Lock. [12] [4] [5]

Where price pages do not answer the Object Lock question
ProviderWhat the price page showsRetention documentationWhat we useSource
Wasabi The pricing documents did not establish Object Lock support [13] Official Object Lock documentation verifies the feature and its retention modes [6] Use the dedicated guide for retention; keep the pricing page for prices and transfer policy [13] [6]
Cloudflare R2 The pricing page did not establish Object Lock support [12] Native bucket locks are documented, but S3 Object Lock operations remain unsupported [4] [5] Do not equate native bucket locks with S3 Object Lock [12] [4] [5]

Sources

Every figure above comes from one of these pages, on the date shown. Each numbered reference in the text links to its entry here. Vendors change prices; if a date looks old, check the source. Three vendors publish a downloadable price feed and the rest are re-checked by hand, which is why the dates are not uniform.

Source pages checked 13 sources
  1. 1 Amazon S3 docs: Locking objects with Object Lock docs.aws.amazon.com · checked 27 July 2026
  2. 2 Azure docs: Immutable storage for blob data learn.microsoft.com · checked 27 July 2026
  3. 3 Backblaze docs: Cloud Storage Object Lock www.backblaze.com · checked 27 July 2026
  4. 4 Cloudflare R2 docs: Bucket locks developers.cloudflare.com · checked 27 July 2026
  5. 5 Cloudflare R2 docs: S3 API compatibility developers.cloudflare.com · checked 27 July 2026
  6. 6 Wasabi docs: Enabling Object Lock docs.wasabi.com · checked 27 July 2026
  7. 7 Amazon S3 docs: Restoring an archived object docs.aws.amazon.com · checked 27 July 2026
  8. 8 AWS: Amazon S3 pricing aws.amazon.com · checked 27 July 2026
  9. 9 Wasabi: Pay as you go pricing FAQs wasabi.com · checked 12 October 2026
  10. 10 Backblaze: B2 API pricing (Class A, B, C, D) www.backblaze.com · checked 25 July 2026
  11. 11 Backblaze: B2 Cloud Storage pricing www.backblaze.com · checked 25 July 2026
  12. 12 Cloudflare R2 docs: Pricing developers.cloudflare.com · checked 25 July 2026
  13. 13 Wasabi: Pay as you go pricing FAQs wasabi.com · checked 12 October 2026