Repeated Touch ID prompts with age-plugin-se during sync and shell activation #756
SummaryUsing an The dialog says:
Redacted configurationGlobal provider config ( [providers.sync-age]
type = "age"
recipients = [
"age1se1...REDACTED",
]
key_file = "~/.config/fnox/age-se.txt"Main config ( [providers.op]
type = "1password"
vault = "Env"
[secrets]
SECRET_1 = { provider = "op", value = "REDACTED" }
# ... SECRET_2 through SECRET_9 ...After sync, The Secure Enclave identity was generated with: age-plugin-se keygen --access-control=any-biometry -o ~/.config/fnox/age-se.txtExact commands / triggersManual sync is run through this alias: fnsIt expands exactly to: fnox sync --provider sync-age --local-file --force --config ~/.config/fnox/fnox.tomlThis produces more than nine Touch ID prompts. It also happens when opening a new terminal tab. My Fish startup contains: fnox activate fish | sourceSo the new-tab trigger appears to be Expected behaviorA sync or shell activation should not produce an apparently unbounded cascade of biometric prompts. Ideally authentication would happen once per operation (or otherwise a small, bounded and documented number of times). Opening a terminal tab should not require individually authenticating repeatedly for every synced secret. Environment
|
Replies: 1 comment
|
Thanks for the detailed report. This happens because each synced secret currently has its own age ciphertext, so The fix is in PR #755: sync will wrap one shared batch key with age, encrypt each cached secret independently under that key, and unwrap the shared key only once during shell activation. Existing ciphertext remains readable. After upgrading to a release containing the fix, re-run your existing AI-assisted — Tool: Codex; model: unavailable/unavailable; version: unavailable. |
Thanks for the detailed report. This happens because each synced secret currently has its own age ciphertext, so
age-plugin-seis invoked separately for every value during both sync and batch resolution.The fix is in PR #755: sync will wrap one shared batch key with age, encrypt each cached secret independently under that key, and unwrap the shared key only once during shell activation. Existing ciphertext remains readable. After upgrading to a release containing the fix, re-run your existing
fnox sync --provider sync-age --local-file --force --config ~/.config/fnox/fnox.tomlcommand once to migrate the cached entries to the batched format.AI-assisted — Tool: Codex; model: unavailable/u…