an unlock session: password in, signatures out, auto-lock, nothing else #17

Closed
opened 2026-09-15 12:37:51 +00:00 by grenade · 0 comments
Owner

Parent: #2

Scope

A Session in wallet-core that holds decrypted key material in memory behind a mutex, with unlock(password), lock(), an idle timer, and sign(account, payload, context). Tauri commands: unlock, lock, is_locked, and every signing command routes through the session. Password-only for now; the OS keychain is a separate follow-up child.

Acceptance

Every command that needs a key returns WalletError::Locked when locked. Idle for the configured interval locks. A memory dump of the process after lock() does not contain the seed (test with a known test seed and a scan of /proc/self/mem on Linux).

Depends on

The keystore child.

Parent: #2 ## Scope A `Session` in `wallet-core` that holds decrypted key material in memory behind a mutex, with `unlock(password)`, `lock()`, an idle timer, and `sign(account, payload, context)`. Tauri commands: `unlock`, `lock`, `is_locked`, and every signing command routes through the session. Password-only for now; the OS keychain is a separate follow-up child. ## Acceptance Every command that needs a key returns `WalletError::Locked` when locked. Idle for the configured interval locks. A memory dump of the process after `lock()` does not contain the seed (test with a known test seed and a scan of `/proc/self/mem` on Linux). ## Depends on The keystore child.
grenade added the child label 2026-09-15 12:38:59 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: blackbeard/wallet#17