S3-compatible storage
Store user uploads, media and build artifacts in object storage that speaks the S3 API, and let the built-in CDN deliver them close to your users. No new SDK to learn, no separate CDN to wire up.
S3 API you already know
Keep the client library and the code you have. Swap the endpoint and the keys, and your existing upload and download paths keep working.
CDN included
The built-in Bunny CDN sits in front of your buckets and serves files from a node close to the visitor, so images and assets load fast wherever your users are.
Europe, USA and Asia
Create each bucket in Frankfurt, Dallas or Tokyo — next to your application and your users. The price is the same in every region.
Unlimited buckets
Create as many buckets as your architecture needs — per environment, per tenant, per kind of content. There is no cap and no per-bucket fee.
Scoped access keys
Issue a key that reaches only the buckets a service needs, read-only or read-write, instead of handing every service the keys to everything. Rotate or revoke a key without touching the rest. Public-read or private is decided per bucket.
Built-in file browser
Upload, preview and delete objects straight from the dashboard. Handy for one-off fixes and for checking what your application actually wrote.
Access, decided per bucket
Bucket visibility controls what the world can do. Access keys control what your services can do.
Bucket visibility
- Public read
- Anyone can download an object from its CDN URL; listing, writing and deleting require a key. The usual choice for images, avatars and static files served to browsers.
- Private
- Nothing is served without credentials. Use it for documents, backups and anything you would not want indexed.
Access keys
- Scoped to buckets
- A key reaches only the buckets you pick, read-only or read-write, so a leaked key from a side service does not open the rest of your storage.
- Separate per service
- Give every application its own key and pass it through encrypted secrets. Revoking one service does not disrupt the others.
- Works everywhere
- The same keys work from your applications on Granite, from your laptop and from CI.
Storage questions
More questions? Email us at support@granite.so
Storage draws from the same monthly credits as the rest of your project, and traffic is never billed. Usage beyond the included credits requires extra credits at $1 per credit.
See pricing The rest of the platform
Everything your application needs lives in the same project, with no networking to configure.
App platform
Run HTTP apps, workers and cron jobs from a Docker image or your Git repository.
Learn more
Managed databases
PostgreSQL, MySQL, MongoDB-compatible and Valkey with backups and no public endpoints.
Learn more
Docker registry
A private registry for unlimited images, right next to the apps that run them.
Learn more
Be first in line for updates
and special pricing
Get early access to new features and exclusive discounts delivered straight to your inbox