← knowledge.oriz.in

Object storage services

index servicesstorageindex

Object storage services

The family runs a two-way split locked on 2026-06-20:

Cloudflare R2 was rejected because its adjacent paid features pull in a card-on-file requirement on the same account, in violation of rules/no-card-on-file.md. The split decision is documented in decisions/architecture/object-storage-split.md.

Service Status Role Used for
github-releases.md active storage-binary Extension binaries, VSIX, CLI bins
backblaze-b2.md active storage-blob Backups, raw originals, archives
restic.md active backup-tool Encrypted, deduplicated weekly backups (target = B2)
cloudflare-r2.md rejected (adjacent card requirement)

Why split rather than one bucket

Versioned binaries already have an excellent home (Releases) — git tags double as release identifiers, the URL is immutable, the CDN is free. Unversioned blobs don't fit that model — B2 fills the gap. Trying to put everything in one bucket either bloats Releases past the 2 GB/asset cap or loses the version-as-URL property B2 doesn't give you for free.

Cross-refs