Roles and permissions
Every person in your organisation holds exactly one role, and a role is a named set of permissions. Toden ships four built-in roles and lets you create your own. This page is for organisation owners and admins who manage a team, and for compliance leads who need to show who can do what.
Where to find it
Roles belong to one organisation. If you are a member of several organisations, you can hold a different role in each.
Built-in roles
Each organisation is created with four system roles. System roles cannot be deleted or renamed.
Member and Viewer start with the same read-only set. They are separate roles so that you can widen one (for example, let Members run spot checks) without touching the other.
Read-only roles see API keys in masked form. The full value of a publishable key is shown only to roles that hold api_keys:create. See API keys.
Custom roles
Name the role
Give it a name (2 to 50 characters, unique in your organisation) and an optional description of up to 200 characters.
Rules that apply to every role change:
- You cannot grant what you do not hold. Adding a permission that your own role lacks is refused with
invalid_permissions. You can still remove permissions from a role, so a less privileged admin can always reduce access. - You cannot place someone in a stronger role than yours. Inviting a person into, or moving a member to, a role with permissions you do not hold is refused with
403 role_escalation_forbidden. - A role in use cannot be deleted. Reassign its members and revoke its pending invites first, otherwise the request returns
409 role_in_use.
Permission reference
Permission keys follow the pattern resource:action. The set is fixed by Toden: you choose which keys a role holds, but you cannot invent new ones.
A few keys are deliberately separate from the broader key beside them, so that a sensitive act is never granted by accident:
Inviting members
Open Organisation → Team, choose Invite team member, enter the email address and select a role.
- The invitation is emailed as a link and expires after 7 days. Inviting the same address again replaces the earlier invitation.
- The Owner role cannot be assigned through an invitation.
- The link works only for the address it was sent to. If that person has no Toden account yet, they create one while accepting, and their email address counts as verified.
- Pending invitations are listed on the Team page with who sent them and when they expire. You can resend or revoke one from there.
Ownership protection
- An organisation always keeps at least one Owner. Demoting or removing the last Owner is refused.
- You cannot change your own role or remove yourself.
- The Owner role cannot be assigned from the Team page, and it cannot be modified or deleted.
How permissions are enforced
Permissions are checked on Toden’s servers for every console action. The console hides controls you cannot use, but that is a convenience: a request made without the required permission is refused with 403 and a body that lists the missing keys.
Roles govern people signed in to the console. API keys are not tied to a person or a role: what a key may call depends on its type (publishable or secret) and its environment. See Authentication.
Role changes and team changes are written to the audit log as role.created, role.updated, role.deleted, team.invite_sent, team.invite_accepted, team.member_role_changed and team.member_removed.