Team access without per-person IAM users.

AWS IAM is built for service-to-service auth and fine-grained policy control — powerful, but heavy for human collaboration on a single bucket. S3 Viewer sits on top of AWS S3 and Cloudflare R2 instead: add the server once with one least-privilege key, invite teammates by email, give each of them a role, and remove them without rotating anything.

  • Email invites instead of IAM users — no permanent artifacts to rotate
  • Four cumulative roles: Owner, Admin, Editor, Viewer
  • Off-boarding is one click — access ends on the next request

Why teams pick S3 Viewer

Server access built for human collaboration on object storage.

One credential per server

Add a server once with a least-privilege IAM key. The whole team uses it through their own logins — no shared root keys, no per-person IAM users, no policy JSON to maintain.

Four roles, overridable per bucket

Viewer, Editor, Admin, Owner — each adds to the one before it. A bucket can give the same person a different role. The whole permission model fits in your head.

Invite by email

Click Share, type an address, pick a role, send. They sign in with an email and password, or with GitHub, accept, and the server appears in their sidebar.

Server-side enforcement

Every request is checked against the member's role before S3 Viewer signs it with the server's stored credentials. Their browser never sees an access key, and the check happens before anything reaches AWS.

Clean off-boarding

Remove the member. They lose access to that server on the next request. No IAM key rotation, no policy edits, no broken applications.

Self-host on your VPC

MIT-licensed open source. Run the same UI inside your own infrastructure — full data residency, full control, and no third party in the request path.

How it works

Three steps to your bucket.

No agents to install, no infrastructure to manage. Paste credentials and you're browsing.

  1. 01

    Add a server

    One set of credentials pointed at one S3-compatible endpoint. The server holds the buckets those credentials reach and the members you invite; everything is scoped inside it.

  2. 02

    Connect the bucket once

    Paste a single set of access keys — ideally a least-privilege IAM user scoped to the buckets you want exposed — plus the region and endpoint. Your whole team uses it through their own logins.

  3. 03

    Click Share, invite by email, pick a role

    Four roles, each one adding to the last: Viewer, Editor, Admin, Owner. Object rename and deletion work the same way on every connected provider. A bucket can override a member's server role, so a teammate can be an Editor on one bucket and a Viewer on another. Off-boarding is one click and zero key rotation.

FAQ

Common questions.

Direct answers we wish we'd had when picking a viewer.

How do I give my team access to an S3 bucket without creating IAM users for each of them?

Add the server once with a single least-privilege IAM key, then invite teammates by email from the Share dialog. They authenticate against S3 Viewer, not AWS, so you never need per-person IAM users and you don't have to rotate access keys when someone leaves.

What roles are available?

Four, cumulative: Viewer (browse and download), Editor (also upload, rename, delete and create buckets where supported), Admin (also manage members, rename the server and remove buckets), and Owner (also delete the server). Owner belongs to whoever created the server and is not assignable. Object rename and deletion work the same way on every connected provider. A bucket can override a member's server role, so a teammate can be an Editor on one bucket and a Viewer on another.

Can I limit a teammate to one bucket out of many?

Yes. When you add a server you can name exactly which buckets it may reach, and members never see anything outside that list — not just hidden, but never listed.

What happens when someone leaves the team?

Remove them in the members dialog. They lose access to that server on their next request, and you don't have to rotate any AWS or R2 access keys — because they never had any.

How does this compare to IAM Identity Center or per-user IAM?

AWS IAM and Identity Center support federated access to the AWS console. S3 Viewer focuses on team file access: four roles with per-bucket overrides and a browser for connected S3-compatible storage. Upload, rename and deletion all work the same way across every connected provider.

Does this work with Cloudflare R2 buckets too?

Yes. Add an R2 server the same way you'd add an AWS one and invite teammates to it. They never need a Cloudflare account — S3 Viewer handles authentication.

Can teams be self-hosted?

Yes. S3 Viewer is MIT-licensed and members, invites and roles work the same way on your own infrastructure. Self-host inside your VPC for full data residency control.