Permission groups
The core concept of Braintrust’s access control system is the permission group. Permission groups are collections of users that can be granted specific permissions. Braintrust has three pre-configured Permission Groups that are scoped to the organization.- Owners - Unrestricted access to the organization, its data, and its settings. Can add, modify, and delete projects and all other resources. Can invite and remove members and can manage group membership.
- Engineers - Can access, create, update, and delete projects and all resources within projects. Cannot invite or remove members or manage access to resources.
- Viewers - Can access projects and all resources within projects. Cannot create, update, or delete any resources. Cannot invite or remove members or manage access to resources.

Creating custom permission groups
In addition to the built-in permission groups, it’s possible to create your own groups as well. To do so, go to the ‘Permission groups’ page of Settings and select Create permission group. Give your group a name and a description and then select Create.

The ‘Manage Access’ permission should be granted judiciously as it is a super-user permission.
It gives the user the ability to add and remove permissions, thus any user with ‘Manage Access’ gains the ability to grant all other permissions to themselves.
The ‘Manage Settings’ permission grants users the ability to change organization-level settings like the API URL.
The ‘Manage Settings’ permission grants users the ability to change organization-level settings like the API URL.
Project scoped permissions
To limit access to a specific project, create a new permission group from the Settings page.



Object scoped permissions
To limit access to a particular object (experiment, dataset, or playground) within a project, first create a permission group for those users on the ‘Permission groups’ section of Settings.





Service accounts and service tokens
Service accounts are designed for system integrations and automation. Unlike regular user accounts, service accounts are not tied to individual people and can be assigned granular permissions for specific use cases. Service accounts can inherit permissions from groups or be granted permissions like users. Service tokens are the authentication mechanism for service accounts. They use thebt-st- prefix to distinguish them from regular API keys (sk- prefix).
Service tokens can be used anywhere API keys can be used in the SDK, AI proxy, and API requests.
You must be in the Owner group of your organization to manage service accounts and service tokens.
For hybrid deployments you must configure a service token for the data plane to enable features like data retention. See the data plane manager docs for more details.