At a glance
| Concept | What it is | Identifiers |
|---|---|---|
| Identity | The cryptographic agent (Ed25519 key pair) that makes requests. | Handle (e.g. brisk-boldly-clearly), did:key |
| Principal | The logical owner (human or team) of credentials. | PrincipalId (opaque string), PrincipalRole (admin or user) |
| Vault | The encrypted credential store owned by a Principal. | VaultId (opaque string), VaultHandle (display name) |
The Claim Flow
An Identity does not own credentials directly. Instead, an Identity claims a Principal through a binding called an IdentityClaimRecord. Here is how the initialization and claim flow works:- Initialize Identity: Running
authsome initcreates a new Identity and registers it with the daemon. The daemon returns a claim URL. - Register/Login Principal: The user opens the claim URL and signs in (with email and password). The first Principal created becomes the server
admin, subsequent ones areuser. - Accept Claim: The authenticated Principal confirms the claim, binding the Identity to the Principal and creating the Principal’s default Vault.
- Access Granted: Vault access is granted only after the claim is
accepted.
The Vault
A Vault is a named credential store owned by exactly one Principal.- Multiple Identities may share one Vault by claiming the same Principal.
- A Vault contains zero or more Connections, each scoped to one Provider.
- ClientCredentials (like OAuth client IDs) are server-scoped and shared across all Vaults.