The default roles
The exact permissions depend on your app — vly generates the role check pattern but you decide who can do what.
Adding a role
- Adds
viewerto the role enum in the schema. - Updates every mutation to refuse if the caller is a viewer.
- Adds the new role option in the workspace member UI.
Resource-level scoping
Beyond role-level permissions, scope by who owns a resource:convex/tasks.ts
Common patterns
Owner-only billing
“Only owners can change the workspace plan or update billing details.”
Admin-only invites
“Admins and owners can invite new members. Members cannot.”
Self-service for members
“Members can edit their own profile, but not other members’.”
Public read, restricted write
“Anyone signed in can read all resources; only the creator can edit.”
Tips
Related
Built-in auth
The auth system.
Workspace roles
Workspace-level role management.
Auth flows
Architectural patterns.
