Implement shared authentication leases

This commit is contained in:
Hermes Agent
2026-08-10 02:18:57 +00:00
parent 2aabd589de
commit f03fdc063c
10 changed files with 1035 additions and 3 deletions

View File

@@ -29,6 +29,10 @@ editor = ["code", "--wait"]
# Optional; upstream pass defaults to 45 seconds. Values are limited to 1..300.
clipboard_timeout_seconds = 45
# Optional; interactive frontends default to a two-minute inactivity lease.
[security]
inactivity_timeout_seconds = 120
[[git.remotes]]
name = "origin"
url = "https://git.example.test/alice/password-store.git"
@@ -58,6 +62,12 @@ It defaults to 45 seconds for upstream `pass` compatibility and must be between
selection and every platform can restore or clear the value reliably without a
background helper process.
`security.inactivity_timeout_seconds` controls the shared authentication lease
used by interactive frontends. It defaults to 120 seconds and accepts values
from 1 second through 24 hours. The storage crate owns deadline calculation and
relock; frontends report only genuine input events as user activity. Repaints,
timers, background refresh, and Git work never extend the lease.
Passwords, passphrases, tokens, credentials, private keys, and other secret
values are forbidden in TOML. Unknown fields are rejected. Parse errors never
echo the source line or value, so an accidentally supplied secret is not