M3: working desktop app + browser pairing channel
- Builds and runs (tauri build --debug); placeholder icons; persistent VaultCore::open in the OS app-data dir; Secret Key remembered on the device; tray keeps the app serving the extension. - Auto-lock: idle (system idle on Windows/macOS, in-app activity on Linux), screen lock, sleep. - Local IPC for kestrove-nmh: 0700 dir + 0600 Unix socket with peer-uid checks; Windows named pipe (first instance, local only, user DACL, client SID check) behind cfg. - Pairing channel: X25519 → HKDF → 6-word fingerprint confirmed in both UIs, per-connection session keys, AES-256-GCM with strict counters. Test vectors shared with kestrove-browser. - Broker: query/fill/totp/save with origin re-checks; pairing and save prompts in the UI. - kestrove-nmh relays ciphertext only; native-host installers for Linux/macOS/Windows. - Tests: unit tests, tests/nmh_stdio.rs (real kestrove-nmh over stdio), examples/test-host. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
@@ -14,3 +14,16 @@ section { padding: 16px; }
|
||||
.err { color: #d33; }
|
||||
.mono { font-family: ui-monospace, monospace; }
|
||||
.toolbar { display: flex; gap: 8px; padding: 8px; }
|
||||
h3 { margin: 16px 0 8px; }
|
||||
select { font: inherit; padding: 6px; border-radius: 6px; }
|
||||
.row { display: flex; gap: 8px; align-items: center; }
|
||||
.pad { padding: 0 12px; }
|
||||
.primary { background: #2c6e86; color: white; border-color: transparent; }
|
||||
.danger { color: #d33; }
|
||||
ul.plain { padding: 0; }
|
||||
ul.plain li { list-style: none; padding: 8px 0; border-bottom: 1px solid #8883; display: grid; gap: 4px; justify-items: start; }
|
||||
#overlay { position: fixed; inset: 0; background: #0006; display: grid; place-content: center; gap: 12px; }
|
||||
#overlay[hidden] { display: none; }
|
||||
.prompt { background: Canvas; color: CanvasText; border-radius: 10px; padding: 16px 20px; width: 420px; box-shadow: 0 10px 40px #0005; }
|
||||
.words { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 12px; }
|
||||
.words span { font: 600 15px ui-monospace, monospace; padding: 4px 8px; border-radius: 6px; background: #8882; }
|
||||
|
||||
Reference in New Issue
Block a user