Summary
Allow multiple identities (team members) to access a shared Vault so credentials — OAuth tokens, API keys, provider configs — can be provisioned once and used by everyone on the team without individual re-authentication.
Motivation
Today every identity owns its own Vault. Teams working on the same project (e.g. a shared CI agent, a shared MCP server pool, or a team of developers hitting the same SaaS API) must each authenticate separately. A team-shared Vault removes this duplication and gives admins a single place to rotate or revoke credentials.
Desired Behavior
- A Principal (team) can own a shared Vault alongside or instead of per-identity Vaults.
- A Vault admin can invite other identities into the Vault (via
IdentityClaimRegistry / PrincipalVaultBindingRegistry).
- Invited members can read credentials from the shared Vault; write/admin access is role-controlled.
- The invite flow should be: admin runs
authsome vault invite <handle>, invitee accepts with authsome vault accept.
- Credentials in the shared Vault are encrypted such that all authorised members can decrypt them (e.g. per-member key wrapping of the Vault master key).
Work Items
Security Considerations
- The Vault master key must never be transmitted in plaintext; use asymmetric key-wrapping per member.
- Revoking a member should re-wrap the master key for remaining members (key rotation).
- PoP JWT validation must extend to shared-Vault access: the requesting identity must appear in the Vault membership list.
Summary
Allow multiple identities (team members) to access a shared Vault so credentials — OAuth tokens, API keys, provider configs — can be provisioned once and used by everyone on the team without individual re-authentication.
Motivation
Today every identity owns its own Vault. Teams working on the same project (e.g. a shared CI agent, a shared MCP server pool, or a team of developers hitting the same SaaS API) must each authenticate separately. A team-shared Vault removes this duplication and gives admins a single place to rotate or revoke credentials.
Desired Behavior
IdentityClaimRegistry/PrincipalVaultBindingRegistry).authsome vault invite <handle>, invitee accepts withauthsome vault accept.Work Items
owner,member(read-only),admin(read-write + invite)VaultRegistry/PrincipalVaultBindingRegistryto support multi-identity membershipauthsome vault invite <handle>andauthsome vault acceptCLI commandsauthsome vault members listandauthsome vault members remove <handle>AuthServiceand the daemon endpointsSecurity Considerations