Overview
Bifrost Enterprise lets you mirror your organization with three kinds of group, on top of individual users:- Customers - The top level. A customer is usually a client, a contract, or a cost center you bill against.
- Business units - Groups of people, such as a division or a region (EMEA, Retail Banking).
- Teams - Groups of people who work together (Platform, Data Science).
- Spend rolls up - Every request a user makes is charged to their teams, their business units, and the customers above them, so each level sees its true total.
- Shared and individual caps together - Combine a per-person budget with a group budget, and both are enforced.
- Scoped visibility - With Data Access Control, a team lead can be limited to their team’s data, or an account manager to their customer’s.
How the hierarchy fits together
- A team or business unit can be part of several customers, and a customer can have any number of teams and business units.
- Users belong to teams and business units, as many as they need. A user can be on Platform and Data Science and in EMEA at the same time.
- Users reach customers through their teams and business units. There is no direct user-to-customer membership. A user’s customers are the customers of every team and business unit they are in.
Access profile
The recommended way to give a team, business unit, or customer a policy and budget is to attach an access profile. The profile sets which providers and models the group can use, its budgets and rate limits (overall, per provider, and per model), and its MCP tool access. It is one shared pool for everyone under the group. Groups created before access profiles may instead have legacy budgets and a rate limit of their own. A group has either a profile or legacy limits, never both. From the group’s detail sheet, Migrate to access profile moves legacy limits onto a profile and carries current spend across.What every request is charged against
A request goes through only if every budget and rate limit it is charged against has room. The full cost of the request is charged to each of them. Which budgets apply depends on the key or identity used.Requests made by a user
When a user calls Bifrost, with their own virtual key or signed in with their own identity, the request is charged against:- One of the user’s own access profiles that allows the model, if they have one (see who pays).
- Every team they belong to.
- Every business unit they belong to.
- Every customer above those teams and business units, each counted once even when reached more than one way.
A user on two teams is charged against both teams. If either team’s budget is spent, the user is blocked until it resets or they
leave that team.
Requests made with a group-owned key
Virtual key ownership
Every virtual key has at most one owner: a user, a team, a business unit, or a customer. A key with no owner isn’t scoped to anyone, and under Data Access Control only All data roles can see it. When a key has an owner, the owner decides:- Who pays - see what every request is charged against.
- Which access profile governs it - a key owned by a group with a profile is locked to that profile.
- Who can see it - under Data Access Control, group members with the right scope can see the group’s keys.
Membership
Managing members
Under Governance in the sidebar:- Teams - Click Create Team to add one. Open a team to see its Users, Virtual Keys, Usage, and Customers tabs. Use Add User and Add Customer to link them.
- Business Units - Click Create Business Unit. Open one to see its Users, Customers, Virtual Keys, and Usage tabs.
- Customers - Create a customer, then open it to see its Teams, Business Units, Virtual Keys, and Usage tabs.
- Users - A user’s Customers tab is read-only and shows which team or business unit each customer comes through.
- Org Chart - Budgets and usage across business units, teams, and users on one page.
Manual and synced members
Each member is marked Manual (added by an admin) or Synced (from your identity provider):- Synced members follow your IdP. They are added and removed as the user’s groups and attributes change. See How identity sync works.
- Manual members stay until an admin removes them. If your IdP later grants the same membership, it takes it over and from then on follows the IdP.
- Customers are never synced from the IdP. Link teams and business units to customers in the dashboard or
config.json.
Deleting and renaming
Business unit names can’t be changed, and team names are fixed in the dashboard. A team or business unit created from an IdP group follows that group’s renames when it is mapped with a wildcard rule.
Declaring the hierarchy in config.json and Helm
Customers, teams, and business units can be declared undergovernance, each optionally naming an access_profile:
- A team’s
customer_idlinks it to one customer. Link additional customers, and link business units to customers, from the dashboard. - Memberships are not declared in
config.json. They come from the dashboard, the API, or your identity provider. - Virtual keys name their owner with
team_id,business_unit_id, orcustomer_id(only one).
Examples
Department budgets that roll up to a contract
- Create the customer Acme and attach “Acme Contract” with a $20,000 monthly ceiling.
- Create the teams Platform ($5,000) and Data Science ($8,000), each with its own profile, and link both to Acme.
- A Platform engineer’s request is charged to Platform and to Acme. Platform stops at $5,000; all of Acme stops at $20,000 combined.
Regional cost reporting
Create business units for each region and sync membership from your IdP’sdepartment or region attribute. Every request is charged to the user’s region, so Usage on each business unit shows that region’s total, without changing any keys.
A shared service key for a team
Create a virtual key owned by the Platform team for a CI pipeline. It draws from Platform’s budget and Acme’s, and every Platform member with team-level visibility can see it.Next steps
- Access Profiles - Policies and budgets for users and groups, and who pays when several apply.
- Data Access Control - What each operator can see in their teams, business units, and customers.
- How Identity Sync Works - Keep membership in sync with your identity provider.
- Budget and Limits - Budget and rate-limit concepts shared across Bifrost.

