Pricing
Every plan reads your bucket the same way and hands out the same expiring URLs. What changes is how many shares and connections you can have, who is allowed to open them, and how far back the event log goes.
| Limit | free | pro | team |
|---|---|---|---|
| price | free | $19/mo | $79/mo |
| shares | 1 | 10 | 40 |
| connections | 1 | 5 | 20 |
| addresses on one allow-list | 5 | no cap | no cap |
| who may open a share | link, emails | link, emails, domain | link, emails, domain, sso |
| your own domain on a share | no | yes | yes |
| group claims from your IdP | no | no | yes |
| event history | 7 days | 90 days | 365 days |
What the rows mean
- share
- One bucket, one prefix, one audience, one address. Delete it and the address stops answering.
- connection
- One set of read-only credentials for one bucket. Several shares can read the same connection, each with its own prefix.
- link
- The URL is the credential. Anyone holding it is in, so it suits a delivery that ends when the download does.
- emails
- An allow-list of addresses. Each viewer proves the address before the share answers.
- domain
- Anyone signing in with an address at a domain you name, which is how a whole client team gets in without you listing them one by one.
- sso
- Your own identity provider over OIDC. A policy pointed at your IdP still has to name a domain or an allow-list, so the share cannot fall open to that provider's entire user base.
- event history
- How far back the log of grants, denials and listings stays queryable per share.
Billing
Free needs no card. Paid plans are charged monthly through Stripe, and cancellation, card changes and invoices are in the billing portal you reach from the dashboard.
Nothing here meters bytes or requests. The viewer downloads from your bucket, so the transfer is billed by your storage provider at whatever you already pay for it.
On a downgrade the shares that fit the new plan keep working. The rest are disabled and their viewer sessions are revoked at the gate, so a browser holding a live cookie stops at the sign-in rather than at the object. Nothing in your bucket changes.