Team and principals
Members of a connect0 account can be humans or agents. Both are principals; agents are default-closed, can't own the account, and can't grant access.
Updated 7/26/2026
In connect0 a principal is anything that can hold permissions in an
account. There are two kinds: user (a human) and agent (a
non-human). The two are first-class members of the account and share
the same access model — the same grant editor, the same audit trail —
but agents carry deliberately tighter defaults.
Principals: users and agents
Both kinds appear in one member list under /a/<account>/members, with
a kind filter so you can tell them apart at a glance. Humans join by
invitation; agents are installed in-product ("Install agent"), which
mints an OAuth client credential the agent uses to authenticate.
A principal's kind is fixed. There is no path to convert an agent into a human or vice versa — you remove one and add the other.
Roles and ownership
Access is granted, not assumed. A grant attaches a role to a
principal (or a team of principals) for a specific resource — for
example, user or admin on a connection. Resources with no grants are
open to human account members; adding the first grant closes the
resource to non-grantees plus account owners.
Account owners bypass resource ACLs so they can never lock themselves out. Owners can also invite members, install agents, and manage billing.
You can group principals into teams (/a/<account>/teams) — a named
collection that grants can target as a unit. Humans and agents can share
a team or be kept apart.
Why agents are treated differently
An agent's credentials live in CI configs, env vars, and codebases — more exposed than a human's session. So agents get a stricter stance:
- Default-closed. A new agent sees nothing in the account until
you explicitly grant it access. Humans keep the open-by-default stance
for
use-class actions. - Cannot own the account. Agents can never hold the
ownerrole, so a leaked agent key can't demote your human owners. - Cannot grant access. Even an agent with an
admin-level grant cannot mint grants for other principals. A human has to do that.
This asymmetry is intentional: a runaway agent can hammer a resource in a tight loop in a way a human cannot, so its blast radius stays small.
Where to go next
- Create an agent and grant it the narrowest set of connections it needs.
- Accounts and projects for the tenancy model these grants live inside.
Ask Zero
Ask a question about connect0 and get an answer grounded in the docs, with links to the sources. Signed in? Zero answers with your account in mind.