Skip to content

v0.8.0 - OS Keyring Integration

Choose a tag to compare

@z41hk z41hk released this 17 Sep 13:36
· 9 commits to main since this release

What's New in v0.8.0

OS Keyring Integration for Master Password Caching

KRemote can now optionally cache your master password in your operating system's native credential store, allowing automatic vault unlock on startup.

Features:

  • Opt-in password caching - Check "Remember master password" on the vault screen to enable
  • Cross-platform - Uses Windows Credential Manager on Windows, Secret Service on Linux
  • Auto-unlock - Vault opens automatically on startup when password is cached
  • Safe fallback - If auto-unlock fails (e.g., incorrect cached password), falls back to manual entry
  • Easy to disable - Uncheck the box to clear the cached password from your system keyring

Security Note:
The cached password is stored in your OS-native credential store (DPAPI-encrypted on Windows). This is equivalent in risk to any "remember me" feature in browsers or apps. If an attacker has full access to your logged-in OS user account, they can retrieve stored credentials.

Technical Details:

  • Implemented via the keyring crate (v2.3) wrapping platform-native APIs
  • Service name: KRemote, username: master_password
  • Plaintext master password is stored (not a derived key)
  • Manual "Lock Vault" action does not clear the cached password (by design)

Installation

Download the appropriate build for your platform:

  • Windows: Extract KRemote-v0.8.0-windows-x64.zip and run kremote.exe

No installation required - fully portable.


Full Changelog

  • feat: OS keyring integration for master password caching
  • Added keyring crate (v2.3) for cross-platform credential storage
  • Implemented save/get/delete/check functions in vault.rs
  • Added Remember master password checkbox on vault screen (opt-in)
  • Auto-unlock on startup when password is cached in keyring
  • Fallback to manual entry if auto-unlock fails
  • Added unit test for keyring roundtrip (set/get/delete)

Full Diff: v0.7.0...v0.8.0