Object storage has become the internet's default layer: backups, video, datasets for training models, logs, CI artifacts, immutable backups. It's everywhere. And yet, using it well is still more expensive, more opaque, and more complicated than it should be. This is our manifesto: why we're building OtterStorage and who it's for.
The real problem with object storage today
The technical standard already exists. The S3 API has become the common language of object storage, and almost every serious tool in the ecosystem speaks it. That's good. The problem isn't the protocol: it's everything that's been built on top of it. The experience, the billing, and the rules of the game have moved in a direction that benefits the provider far more than the technical team paying the bill.
Operational complexity that adds no value
Setting up a bucket shouldn't be a project. But between overlapping storage classes, IAM policies with byzantine syntax, access tiers with transition rules that differ by region, and consoles designed to upsell adjacent services, you end up spending more time taming the platform than solving your problem. Accidental complexity has been normalized to the point that an entire consulting industry exists just to understand the bill.
Opaque billing: the cost you don't see until it lands
This is the part that hurts most. Storage per TB is usually the honest part of the invoice. The rest hides in fine print you only discover when it's too late:
- Requests. Every PUT, GET, LIST, and HEAD has a price. A backup job that writes millions of small objects can cost more in requests than in storage.
- Egress. The charge for pulling out your own data. And it spikes at the worst possible moment: when you have to restore after an incident, which is exactly when you don't want to think about cost.
- Retrieval from cold classes. Storing cheaply in archived tiers is paid for on read, sometimes with hours of latency and per-GB retrieval fees that reverse all the savings.
- Early deletions. Some classes penalize deleting an object before a minimum number of days. Cleaning up your own bucket costs you money.
The result is a bill that's impossible to predict. No one should need a spreadsheet with twenty variables to estimate what they'll pay next month.
Lock-in disguised as convenience
Expensive egress isn't just a revenue source: it's a wall. The more it costs to move data, the more trapped you are. Proprietary APIs, closed formats, and integrations that only work within a single ecosystem complete the fence. You stay not because it's the best option, but because leaving has become too expensive. That's not loyalty; it's switching cost.
Our principles
OtterStorage is born from four convictions. They aren't slogans: they're product decisions you can verify.
1. Full S3 compatibility
If you already know how to use S3, you already know how to use OtterStorage. There's no proprietary SDK, no dialect, no learning curve. You change the endpoint and your tools keep working: AWS CLI, rclone, Terraform, Restic, Velero, and MinIO Client. Compatibility is the best anti-lock-in guarantee there is: if you can leave easily, we stay because we add value, not because we've got you held hostage.
# Point the AWS CLI at OtterStorage: just change the endpoint
aws configure set aws_access_key_id OTTRxxxxxxxxxxxxxxxx
aws configure set aws_secret_access_key ****************************************
aws --endpoint-url https://es-mad-1.s3.otterstorage.io s3 mb s3://backups-prod
aws --endpoint-url https://es-mad-1.s3.otterstorage.io s3 cp ./dump.sql.gz s3://backups-prod/
aws --endpoint-url https://es-mad-1.s3.otterstorage.io s3 ls s3://backups-prod/
2. Transparent pricing, no surprises
You pay for storage based on the disk technology you choose, and nothing else. No request charges (PUT, GET, LIST). No deletion charges (DELETE). No penalties for deleting early. The bill is calculated with a multiplication, not an integral.
| Item | OtterStorage | Typical hyperscaler |
|---|---|---|
| Storage | HDD €8 · SSD €16 · NVMe €45 per TB/month | Varies by class and region |
| Requests (PUT/GET/LIST) | €0 | Per million operations |
| Deletions (DELETE) | €0 | Possible early-deletion penalty |
| Data retrieval | Included | Per-GB fee on cold classes |
| Commitment | No commitment | Common on discounted plans |
| Annual discount | 15% | Variable, often with commitment |
You can see the full breakdown on the pricing page. There's no rigged calculator because there's nothing to hide.
3. EU data sovereignty
Offering European regions isn't a marketing detail. For many organizations, complying with GDPR, NIS2, DORA, or Spain's ENS is a legal requirement, not a preference. That's why you have regions in EU-MAD (Madrid) and EU-FRA (Frankfurt), plus US-EAST when latency to the Americas justifies it. Choosing where your data lives should be a deliberate, simple decision, not a configuration maze. And for cases that demand true immutability, you have Object Lock (WORM) in Governance and Compliance modes, and Legal Hold per bucket.
4. Simplicity as a feature, not a cutback
Simple doesn't mean limited. It means the right things are easy and the dangerous ones are explicit. Creating a bucket, generating access keys isolated per bucket, enabling versioning, or defining lifecycle rules are operations that take minutes, not an afternoon. We guarantee durability with Erasure Coding and replication, without you having to orchestrate it by hand.
{
"Rules": [
{
"ID": "expirar-temporales-30d",
"Status": "Enabled",
"Filter": { "Prefix": "tmp/" },
"Expiration": { "Days": 30 }
}
]
}
What we build and who it's for
We build S3-compatible object storage for technical teams that want results without fighting the platform: system administrators who centralize immutable backups, platform teams that store artifacts and datasets, developers who need a reliable bucket behind their application, and companies that have to prove where their data resides.
For the most demanding workloads, we've built three branded pieces that fit real flows: OtterBridge for assisted migration from your current provider, OtterSync for cross-region replication, and OtterVault for backups and immutability. These aren't products to pad out a catalog: they're the three operations that generate the most friction when you depend on object storage in production.
An invitation: Founding Otters
We're at launch and we'll say it plainly: OtterStorage is a young product that we're building alongside its first users. The Founding Otters program is for those who want to genuinely take part in that phase, not just consume it.
- Early access to the product and to new features before anyone else.
- Special launch terms, with no commitment and a 15% annual discount.
- A direct say in the roadmap. Your use case carries weight in what we prioritize.
If this approach resonates with you, join the Founding Otters. And if you'd rather start with your hands on the console, the guide to creating your first bucket takes less time to read than this page.