Implement secure OS-backed secret storage #11
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Objective
Securely store and retrieve GPG secret-key passphrases and HTTPS Git credentials on every supported operating system.
Scope
Acceptance criteria
Prerequisites
TOML configuration and CLI contract.
Implemented in
b685a48(pushed to main). Added the storage-owned, OS-backed secret-store contract with opaque OpenPGP and HTTPS Git references; Apple Keychain/Protected Data user-presence support; Windows Credential Manager; Linux Secret Service using Rust crypto and no helper processes; explicit create/retrieve/replace/delete/lock/unlock behavior; typed denied/cancelled/unavailable/corrupted results; bounded zeroizing cache; and redacted diagnostics. Wired terminal show and embedded HTTPS Git fetch through the same unlocked Rust provider, and documented the platform/security contract. Verification: issue-specific secret-store tests (4 adapter/lifecycle/provider cases plus malformed-envelope unit coverage), protected OpenPGP compatibility fixtures, HTTPS credential delivery, config and embedded Git compatibility suites, and CLI integration all pass. Required repository gates also pass: cargo fmt --all -- --check; RUSTFLAGS='-D warnings' cargo check --workspace --all-targets; cargo clippy --workspace --all-targets -- -D warnings; cargo test --workspace.