{"id":"cheap-egress-storage","slug":"cheap-egress-storage","name":"Object storage without egress pain","shortName":"Object storage without egress pain","problemStatement":"Artifacts are downloaded often; S3 egress would dominate bill.","whenNotTopPick":"Need S3-specific ecosystem features unavailable on R2. Want global S3-compat $0 egress without CF — Tigris. OK with 3× free egress then $0.01/GB — B2. Must self-host — MinIO.","categoryIds":["cat-object-storage"],"depotPickProviderId":"r2","depotPickRationale":"pricePerf egress + compatibility.","runnersUpIds":["tigris","backblaze-b2","digitalocean","hetzner","minio","wasabi"],"weights":{"capabilityFit":0.25,"pricePerformance":0.18,"latencyReliability":0.15,"developerDx":0.15,"privacyPosture":0.1,"lockInRisk":0.07,"maturity":0.1},"methodologyNotes":"pricePerf egress + compatibility.","tags":["cheap"],"depth":{"whenNotToUse":{"text":"Need S3-specific ecosystem features unavailable on R2. Want global S3-compat $0 egress without CF — Tigris. OK with 3× free egress then $0.01/GB — B2. Must self-host — MinIO.","source":"editorial `whenNotTopPick` (data/jtbds.json)"},"whenNotToUseReason":null,"runnerUp":{"providerId":"tigris","name":"Tigris","overallForJob":8.15,"pickOverallForJob":8.75,"beatsPickOn":["lockInRisk"],"source":"first resolvable entry of the job's editorially ranked `runnersUpIds`; scores are stored job-weighted scores"},"runnerUpReason":null,"lockIn":{"pickLockInRisk":4.5,"runnerUpLockInRisk":3.2,"scale":"0–10 stored curated estimate; higher = more lock-in (worse)","pickExitSignals":[],"runnerUpExitSignals":[],"pickNotes":[{"text":"S3-compatible without the egress grief.","field":"scores.notes"}],"selfHostFallback":[],"migration":"Runner-up Tigris has lower stored lock-in risk (3.2 vs 4.5, 0–10, higher = more lock-in).","migrationReason":null,"derivedFrom":"stored lockInRisk scores, provider tags (oss, self-host, openai-compat, open-models), free rows that list this job, and verbatim provider notes. No migration guide was invented."}},"freshness":{"pick":{"score":{"asOf":"2026-10-19","ageDays":8,"stale":false,"staleAfterDays":30,"reason":null},"lastReviewed":{"asOf":"2026-10-19","ageDays":8,"stale":false,"staleAfterDays":30,"reason":null},"sourceCheck":{"checkedAt":"2026-10-27","sourceUrls":1,"sourcesReachable":1,"pricingRows":1,"pricingRowsReconfirmed":1,"note":"A source re-check confirms the page is reachable and, for pricing rows, that the stored amount and SKU name appear on it. It does not re-derive or change the score.","reason":null}}},"depotPick":{"id":"r2","slug":"r2","name":"Cloudflare R2","tagline":"Depot pick when agent artifacts get downloaded a lot. S3-compatible without the egress grief.","overall":8.75},"runnersUp":[{"id":"tigris","slug":"tigris","name":"Tigris","tagline":"R2 remains Depot object-storage / cheap-egress default (CDN+Workers gravity). Tigris when you want global…","overall":8.15},{"id":"backblaze-b2","slug":"backblaze-b2","name":"Backblaze B2","tagline":"Best cheap always-hot archive for datasets/checkpoints. R2 still wins agent artifact serving with unbounded…","overall":8.35},{"id":"digitalocean","slug":"digitalocean","name":"DigitalOcean","tagline":"Classic simple cloud. Use for steady VMs and Spaces; pair Paperspace/RunPod for GPUs.","overall":8.15},{"id":"hetzner","slug":"hetzner","name":"Hetzner","tagline":"When you need cheap always-on CPU in EU, start here. DIY the agent orchestration yourself.","overall":8.2},{"id":"minio","slug":"minio","name":"MinIO","tagline":"Self-host object storage when R2/Tigris/B2 SaaS is not allowed. R2 remains managed cheap-egress default.","overall":8.41},{"id":"wasabi","slug":"wasabi","name":"Wasabi Hot Cloud Storage","tagline":"Cheap hot archive peer when R2/Tigris edge story is not required. Depot cheap-egress still defaults to R2.","overall":8.12}]}