Security · for IT and security teams
Every call is checked. Every grant is a line you can diff.
Every app and every agent runs in its own sandbox and reaches nothing until it is granted. Every call between apps, people, agents and the outside world passes through xbin, which checks who is calling and what they have been granted, so an app never has to authenticate its callers itself.
Read the docs ↗ Read the source ↗
Every xbin workspace also serves its own documentation.
Security facts
- Sign-in
- Single sign-on with OIDC or GitHub
- Access
- Organisations and roles
- Record
- An audit log
- Oversight
- View-as-user: an admin sees exactly what one person sees, read-only
- Network
- Outbound network is default-deny, approved per destination
- Grants
- A plain, versioned file you can read and diff
- Isolation
- Every app and every agent in its own sandbox
- Secrets
- An encrypted vault for each app
- Personal data
- One copy of an app per person: other people cannot read it, and admins do not open it
- Backups
- Sealed and encrypted
- Limits
- Resource limits for each app
- Phone sign-in
- The iPhone’s secure hardware
01 · Default-deny
Closed until granted.
Nothing inside a sandbox reaches any of these until someone grants it. Every approved grant is written to a plain, versioned file.
The network
Outbound network is default-deny. Each destination is approved on its own.
Other apps
Calls between apps pass through xbin, which checks who is calling and what they have been granted.
GPUs
A sandbox reaches no GPU until one is granted to it.
Stored data
A sandbox reaches no stored data until it is granted. Each app keeps its secrets in its own encrypted vault.
02 · Sandboxes
Every app and every agent runs in its own sandbox.
That includes the built-in agent and the coding agents: Claude Code, Codex, Gemini CLI and opencode.
A person signs a coding agent in once, and that sign-in is reused.
03 · Grants
Every grant is a line in a file.
A grant is an approved permission for an app to reach something outside itself: a network destination, another app, a GPU or stored data.
Approved grants are kept in a plain, versioned file. You can read it, and you can diff two versions to see exactly what an approval changed.
04 · Identity and access
xbin knows who is calling.
People. People sign in with single sign-on through OIDC or GitHub. They belong to organisations and hold roles.
Apps. Each app has its own identity and its own grants. Every call passes through xbin, which checks the caller and what it has been granted, so an app never authenticates its callers itself.
Coding agents. A person signs a coding agent in once, and the sign-in is reused.
Phones. The iOS app signs in with the iPhone’s secure hardware.
05 · Oversight
A record, and a read-only view.
xbin keeps an audit log.
View-as-user lets an admin see exactly what one person sees. The view is read-only.

06 · Per-person data
A person’s copy is theirs.
An app can run one copy for each person. Other people cannot read it, and admins do not open it.
A person’s key-value data is protected with envelope encryption. Their files, SQLite databases and blob storage sit in an encrypted volume of their own.
07 · Secrets, backups and limits
Sealed, encrypted, limited.
Secrets
Each app keeps its secrets in its own encrypted vault.
Backups
Backups are sealed and encrypted.
Limits
Each app runs within its own resource limits. Outbound network follows a policy: default-deny, approved per destination.
08 · Evidence
Check it yourself.
The source. The source is public on GitHub.
Read the source ↗The docs. The docs are public, and every workspace serves its own copy.
Read the docs ↗The decisions. xbin keeps a public decision log.
This page describes how xbin works. It makes no certification or compliance claims.