Pairs with: Governance dashboard for the Spend by department card, Members & invites and Workspaces & access for where you assign them, and Roles & permissions for why departments are not access control.
Departments are pure accounting. They never grant or restrict access. Assigning someone to “Engineering” changes how their spend is attributed, nothing else.
How spend is attributed
Every trace that hits the gateway resolves to exactly one department, picked by this precedence:- The principal user’s department. If the trace has a principal user and that user is assigned to a department, it wins.
- The user’s team department (inherited). If the principal user has no own department, the department of their team is used.
- The project’s department. A trace with no principal user (an autonomous agent) attributes to the department of the project it ran in.
- Unassigned. If none of the above resolve, the trace rolls up under Unassigned.
Where you assign departments
An org can have tens of thousands of members, so assignment lives on the pages that already paginate the org chart, not as one flat list:| Surface | What you assign | Where |
|---|---|---|
| People | A member’s department. Their spend, including personal AI use, rolls up to it. | Members page, per row |
| Teams | A team’s department. The default its members and projects inherit when they have none of their own. | Teams page, per row |
| Projects | A project’s department. Agent spend with no human principal rolls up here. | Project settings |


Managing departments
Open the departments page under Settings → AI Governance → Departments to:- Create a department by name (Engineering, Marketing, …).
- Edit a department’s name.
- Archive a department you no longer use.


SCIM auto-assignment
For organizations that provision identities through SCIM, assignment is automatic. The SCIM 2.0 Enterprise User extension carries a standardcostCenter attribute, so an IdP (Okta, Entra ID, …) can drive department membership the same way it drives department or division. Manual per-row assignment is the fallback for orgs without SCIM.
| IdP action | Result in LangWatch |
|---|---|
Provisions a user whose costCenter is Engineering | The user’s membership carries department “Engineering” |
Provisions a user whose costCenter is a name that does not exist yet | The department is created on first use and the user is assigned to it |
Updates a user’s costCenter from Engineering to Marketing | The assignment is replaced, not added; the user carries “Marketing” |
Removes a user’s costCenter attribute | The user is unassigned; their spend rolls up under Unassigned |
Archiving
Archiving a department is non-destructive:- It no longer appears in the assignment picker on the members, teams, and project surfaces.
- Spend previously attributed to it rolls up under Unassigned rather than disappearing.
Spend by department on the dashboard
The governance dashboard renders a Spend by department card. Each department’s total includes spend from personal projects, team projects, and agent projects attributed to it, aggregated across every project in the org. This is the cross-org view: the card is not limited to a single governance ingestion project, so a fully active org with no dedicated ingestion source still sees real numbers. The Marketing-versus-Engineering comparison reads from departments, not from RBAC roles or team-membership counts. Every underlying query is tenant-isolated: a department rollup for your org contains zero spend from any other org.Permissions
- Creating, renaming, and archiving departments requires
organization:manage(granted to ADMIN by default). - Assigning people, teams, and projects to a department happens on the respective surfaces under the same admin permission.
- Departments never appear in any access-control decision. They are an accounting dimension only.
Where to next
- See the rollup: Governance dashboard.
- Assign people: Members & invites.
- Understand access vs accounting: Roles & permissions.
- Provision via SCIM: Workspaces & access.