| MCP-native install (no SDK, no console) | Solo founders running Claude/Cursor agents | AWS/R2/B2 require SDK + credential management before first upload | I just want my agent to save a PDF | ✅ Shipped |
| Per-agent JWT scoped to prefix | Founders running 5+ agents in parallel | IAM access keys are account-wide; revoking one rotates all | Lost-key panic; can't revoke a single misbehaving agent | ✅ Shipped |
| Quote-tweet 1GB free tier | Indie hackers, "I'll try anything free" | Incumbents require credit card before first byte | Cold-start friction; bill-fear | ✅ Shipped |
| Predictable flat tiers ($9 / $29) | Founders who got a Pocwierz-style bill once | S3 PUT/egress meters; unauthorized requests historically chargeable | I'm afraid to leave this running | ✅ Shipped |
| No bucket-name globals (handle-scoped namespace) | Anyone who's hit `BucketAlreadyExists` | S3's global partition namespace; bucket-squatting | Why is `my-app-files` taken by someone else? | ✅ Shipped |
| Agent identity ↔ storage identity binding | Multi-agent fleets, agent platforms | Object stores work but the agent now owns secrets to a cloud account | Auth shape mismatch between platform identity and storage | ⚠️ Partial |
| Embedding-aware blob metadata | RAG-shaped agents | No incumbent ships vector metadata at the object layer | Separate vector DB just to remember "what was in this file" | ❌ Gap |
| Realtime tail / event hose over MCP | Agent operators watching multiple runs | S3 Event Notifications → SNS → Lambda glue | I just want to see what my agent wrote, live | ⚠️ Partial |