Mechanically
Two parallel permission systems: the canonical Convex ladder (10 roles x preview/edit/upload/download/delete) and a separate Supabase-backed table read by permissionUtils for file operations.
Two parallel permission systems: the canonical Convex ladder (10 roles x preview/edit/upload/download/delete) and a separate Supabase-backed table read by permissionUtils for file operations.
Render-gates the UI. Enforcement is cosmetic — no Convex function checks a role.
src/pages/AccessControlPanel.tsxsrc/pages/UserManagement.tsxsrc/components/admin/rolePermissions.tsaccessUsers.tsrolePermissionsprofilesconvex/*.ts
src/**
convex/rolePermissions.ts vs src/utils/permissionUtils.ts
Research priority for this domain is medium. Agent findings splice in below this line and survive regeneration.