{"id":"object-storage","slug":"object-storage","name":"Object storage for agent artifacts","shortName":"Object storage for agent artifacts","problemStatement":"Store files, datasets, and agent outputs.","whenNotTopPick":"Deep AWS estate / S3-only features — S3. Global $0-egress S3 without Cloudflare — Tigris. Cheapest always-hot TB — Backblaze B2. Self-host/VPC — MinIO. Want Storage in BaaS — Supabase.","categoryIds":["cat-object-storage"],"depotPickProviderId":"r2","depotPickRationale":"pricePerf (egress) + compatibility.","runnersUpIds":["s3","tigris","backblaze-b2","digitalocean","minio","wasabi","google-cloud-storage","azure-blob"],"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":["object"],"depth":{"whenNotToUse":{"text":"Deep AWS estate / S3-only features — S3. Global $0-egress S3 without Cloudflare — Tigris. Cheapest always-hot TB — Backblaze B2. Self-host/VPC — MinIO. Want Storage in BaaS — Supabase.","source":"editorial `whenNotTopPick` (data/jtbds.json)"},"whenNotToUseReason":null,"runnerUp":{"providerId":"s3","name":"Amazon S3","overallForJob":8.6,"pickOverallForJob":8.75,"beatsPickOn":["capabilityFit","latencyReliability","privacyPosture","maturity"],"source":"first resolvable entry of the job's editorially ranked `runnersUpIds`; scores are stored job-weighted scores"},"runnerUpReason":null,"lockIn":{"pickLockInRisk":4.5,"runnerUpLockInRisk":5,"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":"The pick has lower stored lock-in risk than runner-up Amazon S3 (4.5 vs 5).","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}}}}