Available roles
MoonKey supports three distinct roles, each designed for different team responsibilities:| Role | Access Type | Best For |
|---|---|---|
| Admin | Full access | Team owners, technical leads, and senior engineers who manage the account |
| Developer | Build & deploy | Engineers who integrate MoonKey and configure authentication settings |
| Viewer | Read-only | Product managers, support staff, and stakeholders who need visibility only |
Role permissions
Admin
Admins have complete control over your MoonKey account and all associated applications. Full dashboard access:- Create, configure, and delete applications
- Manage all authentication settings and configurations
- View user data and analytics
- Configure API keys and webhooks
- Invite new team members
- Change team member roles
- Remove team members from the account
- Manage billing and subscription settings
- Update payment methods
- Access account-level settings
- Generate and revoke API secrets
- Rotate webhook signing keys
- Delete applications and sensitive data
- Configure security policies
Developer
Developers can build and configure applications but cannot manage team settings or billing. Application management:- Create new applications
- Configure authentication methods (OAuth, email, wallets)
- Set up redirect URLs
- Customize email templates
- Configure SDK settings
- View and manage users
- Access API keys (view only for secrets)
- Invite or manage team members
- Change billing or payment information
- Delete applications
- Rotate or revoke API secrets
- Access account-level administrative settings
The Developer role is ideal for engineers who need to integrate MoonKey into your applications without requiring access to sensitive account management functions.
Viewer
Viewers have read-only access to monitor applications and view data without making changes. Read-only permissions:- View all application configurations
- See authentication settings
- Access user data and analytics
- View API documentation and keys (secrets are hidden)
- Create, edit, or delete any configurations
- Modify authentication settings
- Invite or manage team members
- Change billing information
- Access API secrets
Managing your team
Only Admin users can manage team membership and roles.
Adding team members
To invite someone to your MoonKey account:- Navigate to the Team section in your dashboard
- Click Invite Team Member
- Enter their email address
- Select the appropriate role (Admin, Developer, or Viewer)
- Click Send Invite
Updating roles
You can change a team member’s role at any time:- Go to the Team section
- Find the team member whose role you want to change
- Click on their current role
- Select the new role from the dropdown
- Confirm the change
Removing team members
To remove someone from your account:- Navigate to the Team section
- Find the team member you want to remove
- Click the Remove button next to their name
- Confirm the removal
Security best practices
Follow the principle of least privilege
Grant team members the minimum access level needed for their work. Start with Viewer or Developer access and only promote to Admin when necessary. Common role assignments:- Frontend engineers: Developer role to configure SDK and authentication
- Backend engineers: Developer role to manage API integrations
- Engineering managers: Admin role for full account control
- Product managers: Viewer role to monitor usage and configurations
- Customer support: Viewer role to check user data when troubleshooting
Regular access audits
Periodically review your team members and their assigned roles:- Remove access for team members who have left your organization
- Verify that current roles still match responsibilities
- Downgrade roles when team members change positions
- Check for unused or inactive accounts
Protect Admin access
- Limit the number of Admin users to 2-3 trusted individuals
- Use Admin accounts only for administrative tasks
- Consider creating separate Developer accounts for day-to-day work
- Enable two-factor authentication for all Admin users (if available)
Separation of environments
For maximum security, consider creating separate MoonKey apps for development, staging, and production environments, with different team access:- Development apps: Grant Developer access liberally for experimentation
- Staging apps: Limit Developer access to engineers who deploy to staging
- Production apps: Restrict Admin access to senior engineers and leads only