Audit & Backup
Audit Logging
Every vault operation is recorded in ~/.hq-vault/audit.log — an append-only JSONL file. Secret values are never logged.
hq-vault audit
View audit log entries.
# Recent entries (default: 50)hq-vault audit
# Filter by secret pathhq-vault audit --path aws/
# Filter by token namehq-vault audit --token deploy-bot
# Filter by timehq-vault audit --since 2026-02-28T00:00:00Z
# Combine filtershq-vault audit --path slack/ --token ci-runner --limit 20
# Real-time tailhq-vault audit --tail
# JSON outputhq-vault audit --json| Flag | Description |
|---|---|
--path <path> | Filter by secret path (substring match) |
--token <name> | Filter by token name |
--since <datetime> | ISO 8601 datetime cutoff |
--limit <count> | Max entries (default: 50) |
--tail | Follow log in real-time |
--json | Output as JSON lines |
Example output:
TIME OP TOKEN PATH2026-02-28 14:22:01 secret.get deploy-bot aws/access-key2026-02-28 14:21:58 secret.get deploy-bot aws/secret-key2026-02-28 14:20:15 secret.store bootstrap slack/indigo/token2026-02-28 14:18:03 auth.failure (unknown) —Logged operations: secret.get, secret.store, secret.delete, secret.list, auth.failure.
Backup & Restore
hq-vault backup
Create an encrypted backup of the vault. The backup is encrypted with your master passphrase — safe for cloud storage or version control.
hq-vault backup ./vault-backup-2026-02-28.hqvbBackup format: HQVB magic bytes + version + fresh salt + nonce + encrypted SQLite database.
hq-vault restore
Restore a vault from an encrypted backup.
hq-vault restore ./vault-backup-2026-02-28.hqvbhq-vault restore ./vault-backup-2026-02-28.hqvb --force # overwrite existing| Flag | Description |
|---|---|
--force | Overwrite existing vault without confirmation |
Import & Export
hq-vault export
Export secrets as .env format for migration or sharing.
# Export all secretshq-vault export
# Export a subsethq-vault export --prefix aws/
# Write to filehq-vault export --output ./secrets.envhq-vault import
Import secrets from a .env file (future — use hq-vault store --file for now).