Authsome has two layers of credential namespacing. People confuse them, then end up with credentials in the wrong place. This page makes the distinction explicit.Documentation Index
Fetch the complete documentation index at: https://authsome.agentr.dev/docs/llms.txt
Use this file to discover all available pages before exploring further.
The two namespaces
- Profile scopes the entire credential set. Different vault file, different lock. Audit events from all profiles are written to the same
~/.authsome/audit.logand tagged with the profile name. - Connection scopes a credential record within one provider. Same vault, different key.
At a glance
| Profile | Connection | |
|---|---|---|
| Storage | Separate SQLite file per profile | Different key in the same SQLite file |
| Encryption | Same master key (top-level master.key) | Same record encryption inside the vault |
| Isolation | Total. One profile cannot see another. | Within a provider only. Same provider can hold many. |
| CLI flag | (active profile via config.json) | --connection <name> on every read/write command |
| Use when | You want credential sets that never see each other | You want multiple accounts on the same provider, both reachable |
The rule of thumb
If credentials should never see each other, use profiles. If both should be reachable in the same context, use connections within one profile.
Examples
Two GitHub accounts. You want to push to a personal repo and a work repo from the same shell. Use one profile, two connections:work profile is its own SQLite store with its own audit log.
agent-cold-email, agent-pr-bot. The agent’s process runs against that profile only.
Testing a different OAuth client. You want to verify a new client_id without overwriting the canonical one. Spin up a throwaway profile, do the test, delete the profile.
Which one is active
Authsome no longer reads an active profile fromdefault_profile in config.json. The daemon scopes protected calls by the registered identity handle in the PoP token, and validates that handle against its server-owned registry.
On-disk shape
~/.authsome/
config.json
master.key
profiles/
default/
store.db
lock
work/
store.db
lock
config.json holds the active profile name. master.key is shared across all profiles. Each store.db is independently encrypted under the same master key.
The vault key namespace inside each store.db:
What’s next
Profiles
Create, switch, and manage profiles.
Multiple connections per provider
The connection-flag pattern for two accounts on one provider.