Back to insights
Product & Analytics

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

Rupraj Singh5 min read
Team dashboard showing member roles and document permissions

"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:

RoleAccess
Admin / OwnerFull write access — upload, delete, configure share links
MemberView-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

ScenarioWhat Happens
Free user uploads a document to a Business teamSucceeds — bytes count against the Team Owner's storage
That same Free user tries to enable a password on their uploadBlocked — password protection needs their own paid plan
Free user tries to create a 2nd share link on a team documentBlocked — link limits are gated by the creator's personal plan
Business team Owner enables AI Q&A on their own uploadSucceeds — their plan supports it directly
A Member (view-only role) tries to uploadBlocked — 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

#Teams
#Business Plan
#Permissions
#Product

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