abadge profile (abadge profile unlock|lock|status|change-password).
abadge profile unlock
Prompt for the profile master password and unwrap the root key into daemon memory.
- Daemon fetches the active profile envelope (
wrappedRootKey,kdfSalt,kdfParams). - Daemon derives the KEK from the password via Argon2id (64 MiB memory, 3 iterations).
- Daemon unwraps the root key with XChaCha20-Poly1305.
- Root key sits in process memory until lock or idle timeout.
--password-stdin flag — scripts that need unattended unlock should issue a session through the API directly.
abadge profile lock
Zero the in-memory root key and clear daemon-held authenticated state.
abadge profile status
Report whether a profile is currently unlocked and which key version is live.
abadge profile change-password
Prompt for the current password and a new password, then re-wrap the root key.
- Daemon unwraps the current root key with the old password’s KEK.
- Daemon derives a new KEK from the new password and a fresh 16-byte salt.
- Daemon wraps the root key with the new KEK.
- The CLI calls the password-change operation with the new wrapped root key, salt, and KDF parameters.
Recovery and key rotation
Recovery key generation and root-key rotation are dashboard operations in v1. CLI support is on the roadmap.Related
abadge profile— create / list / switch profilesabadge daemon- Vault security (dashboard)
- Zero-knowledge encryption