Team folders — viewing team files

Last updated: May 19, 2026

Team folders — viewing team files

Wevion's RBAC determines whose Creative Hub folders you can see. Super_admin and owner roles see all teammates' folders; other roles see own + explicitly shared. The toolbar Members switcher (visible to qualifying roles) switches the view. URL pattern: /creative-hub/:folderId?member=:memberId. Backed by getVisibleSessionIds() in creative-hub.helpers.ts.

Who is this for

PMs auditing team creative work. Admins onboarding new members. Anyone needing to see what a teammate uploaded or generated.

Who can see what

Role

Sees

super_admin

All teammates' Creative Hub folders + files

owner

All teammates' Creative Hub folders + files

admin

Own folder + folders explicitly shared with admin role

manager

Own folder + folders explicitly shared with manager role

mediabuyer

Own folder + explicit shares

finance

No Creative Hub access by default

viewer

Read-only on explicit shares

canViewTeam flag (true for super_admin / owner) gates the Members switcher visibility.

How to switch view

If you have canViewTeam:

  1. Top toolbar shows Members dropdown

  2. Pick a teammate from the list

  3. View flips to that member's root folder

  4. URL becomes /creative-hub/:rootFolderId?member=:memberId

You see the teammate's folders and files as they exist. Read-only by default (no edits to their files); your own action menus appear for files you co-own.

How RBAC is enforced

In code (apps/backend/src/services/creative-hub/creative-hub.helpers.ts):

  1. getVisibleSessionIds(userId, teamId) returns the list of session IDs whose Creative Hub the current user can access

    • For super_admin / owner: returns all session IDs in the team

    • For others: returns only [userId] + any explicitly granted shares

  2. buildAllowedFolderIds(visibleSessionIds) resolves to Drive folder IDs

  3. Folder list / file list endpoints filter by these allowed IDs

Result: data isolation by default; team-wide access only for qualifying roles.

Shared work without team switcher

If you're not super_admin / owner but need to share specific work with a teammate:

  • Internally: use team-folder workflow (admin sets up shared workspace folder all members write to). Often manual coordination.

  • Externally via Drive: share the folder using ch-105 (Drive permissions) — works for any user role.

The Members switcher is for visibility audit by privileged roles, not for daily collaboration. For daily collab, use shared team folders.

Use cases

PM weekly review

PM (owner role) clicks through each mediabuyer's folder weekly: spot-check new uploads, AI-generated experiments, identify creative blockers.

Audit of departing employee

Before offboarding: super_admin views the departing member's folders, transfers or archives important assets.

Onboarding a new hire

Onboard a mediabuyer: super_admin browses team folders to find example campaigns + creative patterns to share with the new hire.

Compliance check

Owner periodically reviews team creative folders to ensure brand compliance + flag any non-approved assets.

Limits + caveats

  • No edit on teammate's files (read-only when viewing as super_admin / owner unless explicitly co-owner)

  • Members list paginated if team > 50 members

  • Switching is per-page-load — refreshing returns to own root unless URL has ?member= param

  • Audit log records view of teammate folders (action: creative_team_folder_view) for accountability

Common issues

  • "Members switcher missing": your role lacks canViewTeam (not super_admin / owner). This is by design.

  • "Teammate folder appears empty": they haven't uploaded yet, OR their ensureUserFolder() hasn't fired yet (no upload has triggered root creation).

  • "Can't open teammate's file": Wevion RBAC allows view, but Drive permission may not — direct Drive open requires explicit Drive share (see ch-105).

  • "View not switching": stale URL param; click another teammate then click back, OR clear URL ?member= param and re-pick.

Related