Skip to content

feat(store): Add encrypted client enclaves (T-437) - #378

Merged
harshsinghmp merged 1 commit into
devfrom
feat/T-437-client-enclaves
Nov 9, 2026
Merged

harshsinghmp merged 1 commit into
devfrom
feat/T-437-client-enclaves

Conversation

@harshsinghmp

Copy link
Copy Markdown
Owner

AES-256-GCM client enclaves with scrypt-derived keys and tamper detection; CLI create/list/put. Also fixes the collision by renaming T-436's overlay command to . Gate 1507/0.

Why: Client work must be cryptographically segregated per client/division,
not merely filtered by a project string.

What:
- src/store/enclaves.ts: AES-256-GCM envelopes with scrypt-derived
  per-enclave keys, master key from MUSE_ENCLAVE_KEY or .memory/enclave.key
  (0600), atomic writes.
- src/cli/enclave.ts + CLI: create/list/put.
- Rename T-436's overlay command to `memory overlay` (the `branch`
  command already belongs to memory versioning) and wire both imports.
- Tests: round-trip, ciphertext has no plaintext, key permissions, isolate
  clients, tamper detection.

Verification: bun test 1507 pass / 0 fail; tsc clean; build 434 modules.

Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
@harshsinghmp
harshsinghmp merged commit cbc973d into dev Nov 9, 2026
@harshsinghmp
harshsinghmp deleted the feat/T-437-client-enclaves branch November 9, 2026 12:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant