What are the roles and permissions?
Five roles, and the distinction that matters is between Translator and Reviewer: one can write a translation, the other can approve it. Everything else follows from that.
The roles #
| Role | What it is for |
|---|---|
| Owner | Everything, including deleting the organization. One per org by default |
| Admin | Org settings, billing, member management, all project and translation work |
| Developer | GitHub sync, CDN upload, key import, project settings, API keys |
| Reviewer | Translate, and approve other people's translations |
| Translator | Translate only — cannot approve, including their own work |
Permissions, precisely #
Access is checked per resource and action, so the table is not a summary — it is the rule:
| Owner | Admin | Developer | Reviewer | Translator | |
|---|---|---|---|---|---|
| Read project | ✓ | ✓ | ✓ | ✓ | ✓ |
| Update project settings | ✓ | ✓ | ✓ | — | — |
| Create / delete project | ✓ | ✓ | — | — | — |
| Read translations | ✓ | ✓ | ✓ | ✓ | ✓ |
| Edit translations | ✓ | ✓ | ✓ | ✓ | ✓ |
| Create / delete keys | ✓ | ✓ | ✓ | — | — |
| Approve translations | ✓ | ✓ | ✓ | ✓ | — |
| Create / delete API keys | ✓ | ✓ | ✓ | — | — |
| Manage integrations | ✓ | ✓ | read only | read only | read only |
| Manage members | ✓ | ✓ | — | — | — |
| Billing | ✓ | ✓ | — | — | — |
| Delete organization | ✓ | — | — | — | — |
Two things people get wrong from that table:
- Developers can approve. They have full translation control, not just key management. If you want a strict separation between who writes code and who signs off on wording, Developer is not the role for the first group.
- Translators cannot approve their own work either. That is the point of the role — everything they do stays reviewable.
Inviting someone #
- Members → Invite member
- Enter the email
- Pick the role — the dialog explains each one as you select it
- Send
Admin can only be granted by an Owner. An Admin inviting someone sees Developer, Reviewer, and Translator only.
Changing a role later #
Click the member's role in the members list and pick another. It takes effect immediately — no re-invite.
The same restriction applies: an Owner can assign any role including Owner; an Admin can assign Developer, Reviewer, or Translator. Nobody can change an Owner's role but the Owner, and an Admin cannot change another Admin.
Which role for an outside translator #
Translator. They can read every key and its source text, edit translations, and use AI translation — and they cannot approve, delete keys, create API keys, or touch billing. Their output lands as unapproved and waits for someone with approve rights.
If the same person is also the one who signs off, give them Reviewer instead, and accept that there is then no second pair of eyes.
Related #
- How do I invite team members?
- How do I review and approve translations? — what approve actually does
Better I18N