Identity, authorization, and audit
People sign in with SAML or OIDC, and each agent is a member of your organization that acts on behalf of the person who asked. Each run gets its own key, credentials are brokered at runtime rather than stored in prompts, and every request and decision is a row in the audit log.
Identity for people and agents
People sign in with SAML or OIDC, and SCIM 2.0 provisions them; deprovisioning a user ends their membership. Workspaces, groups, and roles are managed in Context. Each agent is a member of your organization too, listed under Members with its own role and workspaces.
When a run starts, the agent acts on behalf of the person who asked. If no person can be resolved, the request is refused.
- The agent
- A member of your organization, with its own role
- The requester
- The person who asked; the agent acts on their behalf
- The preset
- Decides which actions wait for that person's yes
Tenant isolation
Isolation between tenants is enforced where the data is read, not after. Your organization is a predicate bound into the query itself, so a row from another tenant is never fetched and then filtered away. It is never a candidate result in the first place. The distinction matters: a post-filter is one forgotten clause away from leaking; an in-query predicate has to be defeated at the source to fail.
Membership resolves the same way for projects and channels: through one group closure rather than a patchwork of per-surface checks. Access to a project and access to a channel are answered by the same resolution, so there is a single place to reason about who can see what.
Workspaces are public, private, or personal, and the visibility is the boundary: an administrator role confers nothing inside a personal workspace. Admin is not a skeleton key. All of this is identical across the four deployment topologies. Managed, your VPC, on-premises, and air-gapped run the same isolation, with no stricter or looser variant per model.
- Tenant boundary
- Organization is a predicate inside the query, not a post-filter
- Membership
- Projects and channels resolve through one group closure
- Personal workspaces
- Private by visibility; an admin role confers nothing inside them
Credential brokering
Agents do not hold credentials. A runbook never contains a password, an API key, or a token; credentials are brokered to the connector at runtime, used for the action, and never written into the prompt. Depending on the target system and your deployment, the connector uses delegated user identity or a scoped service identity.
- Issued
- One key per run, named for the run that owns it
- Revoked
- When the run ends, and after 24 hours at most
- In the sandbox
- No standing secret; credentials are injected at the edge
Every request resolves its key again, so a revoked key or a removed member is refused on the next call. Credential storage and rotation are reviewed as part of the deployment design.
Context narrows and brokers access; the destination system remains the final enforcement point. Your database's permissions still apply to every query an agent makes.
Audit trail
Every run produces a record of the task, the model and tool calls it made, the sources it referenced, the actions it took, the approvals it received, and the result. A reviewer can inspect the sequence and compare the output with the rubric it was scored against.
Settings > Audit log records each request and decision with its actor, its outcome (Asked, Allowed, Blocked, Granted, Recorded, Expired, or Revoked), and the person the agent acted for. It shows what an agent asked to do and was refused, not only what it did. Filter by event, actor, and date, and export up to 1,000 rows at a time as CSV.
Export and retention requirements differ by regulator and by customer, so both are configured for your deployment.
Developer devices: pairing and revocation
The same identity discipline extends to the terminal. When a developer runs context-code, login prints a pairing code and an approval link; approving it in the workspace provisions the CLI's agent and mints a key named after the device. Nothing is pasted into the terminal.
Each device holds its own named key, and each key can be revoked on its own: a lost laptop is a single revocation.
Request documentation
The document library covers audit reports, assessments, and procurement paperwork. Request what your review needs; anything that requires an NDA is shared once it is in place.
Also documented: Deployment models · Data handling · Compliance program