Roles & Permissions
Toggly uses a flexible, fine-grained permission system that combines workspace-level permissions with application-specific access control.
Permission System Overview
Toggly's permission system operates at two levels:
- Workspace Permissions: Control what team members can do within a workspace (team)
- Application Permissions: Control access to specific applications and their feature flags
Workspace Permissions
When inviting team members or managing their access, you can assign the following permissions (these can be combined):
Manage Applications
Create, edit, and delete applications within the workspace. Members with this permission can:
- Create new applications
- Configure application settings
- Delete applications
- Manage application keys
Manage Users
Invite and manage team members. Members with this permission can:
- Invite new team members
- Remove team members
- Update team member permissions
- View all team members
Note: Only the workspace owner can grant the "Manage Workspace" permission to other members.
API Access
Generate and manage API credentials for programmatic access. Members with this permission can:
- Create API keys
- View and manage API credentials
- Access the API using their credentials
Billing
Access billing and subscription management. Members with this permission can:
- View current subscription
- Manage payment methods
- Upgrade or downgrade plans
- View billing history
Manage Workspace
Highest level of permission for workspace management. Members with this permission can:
- Edit workspace name and settings
- Manage workspace-level configurations
- All other workspace operations
Note: The workspace owner always has all permissions implicitly and their permissions cannot be modified by other members.
Application Permissions
Each team member can have different access levels per application:
Toggle
Can toggle feature flags on or off for an application. This permission allows:
- Enable/disable feature flags
- View feature flag status
- Cannot modify feature definitions or targeting rules
Manage
Full management access for an application. This permission allows:
- Create and delete feature flags
- Configure targeting rules and rollouts
- Manage experiments
- Configure integrations
- All feature flag operations
How Permissions Work
Workspace Owner
The creator of a workspace has special privileges:
- Cannot have permissions removed
- Always has all permissions implicitly
- Only member who can grant "Manage Workspace" permission to others
- Can perform all actions within the workspace
Combining Permissions
Workspace permissions are bitwise flags that can be combined. A team member can have multiple permissions:
- Example: A member might have "Manage Applications" + "Manage Users" permissions
- Permissions are additive - having multiple permissions grants access to all included capabilities
Permission Checks
Toggly checks permissions at multiple levels:
- Workspace operations require specific workspace permissions
- Application operations check both workspace membership and application-specific permissions
- API access requires the "API Access" permission at the workspace level
Special Permissions
Requires Approval
When this permission is set, the team member's certain actions may require approval before taking effect. This is useful for:
- Staging/approval workflows
- Compliance requirements
- Additional oversight for sensitive operations
Managing Team Member Permissions
To update a team member's permissions:
- Navigate to your workspace settings
- Go to the Team Members section
- Select the team member you want to modify
- Check or uncheck the permissions you want to grant or revoke
- For application-specific access, expand the application list and set Toggle or Manage permissions
- Save your changes
Important: Changes to permissions take effect immediately. The team member may need to refresh their browser to see the updated permissions reflected in the UI.
BeyondAuth Integration
Enterprise customers benefit from BeyondAuth's advanced authorization capabilities:
- Attribute-Based Access Control (ABAC): Permissions can be based on user attributes beyond simple roles
- Policy-Based Access: Define complex access policies that adapt to context
- Dynamic Permissions: Permissions that adjust based on time, location, or other factors
- Complete Audit Trail: Every authorization decision is logged for compliance and debugging
BeyondAuth operates behind the scenes to enhance security without adding complexity to the user experience.
Best Practices
1. Follow Least Privilege Principle
Grant team members only the permissions they need to do their job:
- Developers typically need "Manage Applications" to work with feature flags
- Product managers might need "Toggle" access to enable/disable features
- Finance team needs "Billing" access for subscription management
2. Use Application-Specific Permissions
Instead of granting workspace-wide "Manage Applications" permission:
- Grant "Manage" or "Toggle" permissions per application
- This limits the blast radius if credentials are compromised
- Teams can self-organize around their applications
3. Regularly Review Permissions
- Audit team member permissions quarterly
- Remove access for team members who have changed roles
- Review the audit logs to see who is accessing what
4. Protect Workspace Owner Access
- The workspace owner has unrestricted access
- Consider using SSO with MFA for owner accounts
- Document who the workspace owner is and how to contact them
5. Be Careful with "Manage Workspace"
- This permission grants significant control over the workspace
- Only grant to trusted senior team members
- Remember: only the owner can grant this permission
Next Steps
- Learn about Audit Compliance
- Explore Data Regions
- Read about SSO