How Team Permissions Actually Work: Roles, Storage, and Plan Gating Explained

"Why can't my teammate turn on watermarking, even though I'm paying for Business?" is one of the more common support questions we get — and the answer isn't a bug, it's a deliberate design choice. Here's how team permissions, storage, and plan gating actually fit together.
The Two Roles
Team accounts have exactly two roles, and the split is simple on purpose:
| Role | Access |
|---|---|
| Admin / Owner | Full write access — upload, delete, configure share links |
| Member | View-only — dashboard and analytics, if their own plan allows it |
Every document API call checks team membership directly against the team_members table before granting access. There's no cached permission that could drift out of sync with who's actually still on the team.
The Part That Surprises People: Premium Features Follow the Person, Not the Team
This is the rule that generates the most confusion, so it's worth stating plainly:
Analytics, password protection, custom watermarks, and AI Q&A are tied to the individual's own plan — not the team's. A Free user working inside a Business team cannot use these features, even as an Admin of that team.
The same logic applies to share link limits: if a Free user hits their personal link cap on a team document, they need to upgrade their own plan to create more links — even though the Team Owner is paying for Business. The team's plan doesn't get inherited for feature access or quota purposes.
Why design it this way? It keeps the upgrade decision at the individual level. A team can bring on contributors without every single one of them needing a paid seat, but the moment someone wants password protection or AI Q&A on a document they own, that's a personal upgrade — not something that comes free by being invited to a Business team.
The One Exception: Storage
Storage is the one place team context actually matters, and it works in the opposite direction from features:
If a user uploads a document inside a team, the storage bytes are deducted from the Team Owner's quota — not the uploader's. This lets Free-plan users act as contributors to a business without needing their own storage plan at all.
So a Free-plan contributor can upload as many documents as the team's plan allows, using the Owner's storage allocation — but the moment they want to password-protect one of those uploads or see its analytics, they're back to needing their own upgrade.
This split is intentional: storage is a shared team resource because contribution shouldn't require everyone to be a paying seat. Premium features are an individual decision because that's where the upgrade incentive actually lives.
How This Plays Out in Practice
| Scenario | What Happens |
|---|---|
| Free user uploads a document to a Business team | Succeeds — bytes count against the Team Owner's storage |
| That same Free user tries to enable a password on their upload | Blocked — password protection needs their own paid plan |
| Free user tries to create a 2nd share link on a team document | Blocked — link limits are gated by the creator's personal plan |
| Business team Owner enables AI Q&A on their own upload | Succeeds — their plan supports it directly |
| A Member (view-only role) tries to upload | Blocked — Members don't have write access regardless of plan |
Why the Counters Can Look Off
Team documents_count, like the per-user version, is a denormalized cache — it's incremented on upload and can drift from reality over time. Anywhere that actually enforces a limit re-counts directly from the documents table rather than trusting the cached number. If you ever see a dashboard count that looks slightly stale, that's the cache; the enforcement logic underneath it is always checking live.
What to Keep in Mind When Structuring a Team
- Inviting a Free-plan teammate as a contributor is fine — they can upload against the Owner's storage without needing a seat of their own.
- Don't expect them to unlock premium features by joining — password protection, watermarking, analytics, and AI Q&A all still require their individual plan to support it.
- Admin vs. Member is about write access, not feature access — a Free-plan Admin still can't use premium features; a paid-plan Member still can't upload.
Conclusion
The team permission model separates two different questions that are easy to conflate: "can this person write to the team's documents" (role-based) and "can this person use premium features" (individually plan-based) — with storage as the one deliberate exception where team context takes over. Once you see the split, the behavior that looks like a limitation is really just the system doing exactly what it's designed to do.
Set up your team the right way from day one. See how Business plan roles, storage, and feature access fit together, or get started and invite your first teammate.
Advertisement
Share this article
Ready to share documents securely?
Upload your first PDF, create a secure share link with custom access rules, and track every view in real-time.
Start Sharing Securely