Projects and environments
BetaWe just launched Apps: hosted models, actions and pages, on the same bill as your inference.Read the Apps docs
Platform/Team/Projects and environments

Projects and environments

A team holds projects, a project holds environments, and every API key belongs to one environment.

Hierarchy

Team → project → environment → key. All projects draw from the one team balance and inherit team Directives. Each level can narrow what the level above allows, never widen it.

Multiple keys don't multiply your allowance: team rate limits and budgets apply across every key at once.

Environments

Every project has two environments, production and development, created with it. A new team starts with one project, default; add more under Projects in the sidebar, one per application (for example inference-bureau-api and inference-bureau-support).

Give each environment its own keys so you can revoke or limit one without touching the other. Keys in production start with ib_live_ and keys in development with ib_test_; both are billed the same way. Set tighter Directives on development, such as a small daily budget, and filter Logs with env = production.

Roles

RoleCan
OwnerEverything an admin can, plus transfer ownership and delete the team.
AdminManage members, projects, keys, Directives, Dispatch, and billing.
MemberView the projects they're given (every project by default), with their Logs and spend, and Auditor's reviews. Billing, the team balance and savings are hidden.
ViewerView the projects and Auditor repositories they're given, read-only, and change nothing: Auditor Manage can't be given to a viewer. Members, Webhooks, Management keys, billing and the team balance are hidden. For a client or anyone who should see without touching.
Billing adminAdd credit, set up auto reload and see the team's billing. Sees only the Billing page: no projects, Logs or keys.

Invite people and change roles under Members. Only owners make someone an owner or change an owner's role, nobody changes their own, and a team always keeps one owner.

Member access

A member or viewer sees every project and can view Auditor on every repository until an owner or admin narrows it. Open their Access cell under Members, or pick projects (or none) when inviting them:

  • Projects: all, including new ones, or selected projects. Other projects leave their sidebar, the project switcher and Projects, and their URLs answer Not found.
  • Auditor: no access, View (reviews and their cost) or Manage, which adds each covered repository's own settings: reviewing on or off, overrides, rulesets, secrets and theme docs. Team-wide Auditor settings stay with owners and admins.
  • Repositories: all, or selected repositories plus rules such as acme-labs/*, which also cover repositories added later. Search finds them among thousands.

A viewer's access is held to View: making a member a viewer keeps their stored access but reads Manage as View, and it applies again if they're made a member later. Owners and admins always reach everything, and billing admins Billing alone, whatever is stored. Every change of role or access is recorded in the audit trail.

Passkeys and two-factor

Each person manages their own sign-in under Account in the account menu: name, email, password, passkeys, two-factor, the browsers signed in, and deleting the account.

A passkey signs in with a fingerprint, face or device PIN instead of a password, and needs no code. Two-factor adds a 6-digit code from an authenticator app after the password, with ten single-use backup codes in case the device is lost. Owners and admins can require two-factor for the whole team in Settings; members without it are sent to turn it on before they can open the team.

An account that owns a team can't be deleted until ownership is transferred or the team is deleted.