Add Phase 4-6 roadmap to ARCHITECTURE.md.

Phase 4: TLS transport, DEK rotation.
Phase 5: Multi-repo + per-machine inclusion.
Phase 6: Manifest signing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-24 11:00:13 -07:00
parent 1eb801fe63
commit 0cf81ab6a1

View File

@@ -563,7 +563,27 @@ new machine, the user runs `sgard encrypt add-fido2` which:
On next push, the new slot propagates to the server and other machines. On next push, the new slot propagates to the server and other machines.
Each machine accumulates its own FIDO2 slot over time. Each machine accumulates its own FIDO2 slot over time.
### Future: Manifest Signing ### Planned: TLS Transport (Phase 4)
sgardd will support optional TLS via `--tls-cert` and `--tls-key` flags.
When provided, the server uses `credentials.NewTLS()`. Without them,
it runs insecure (current behavior). The client gains `--tls` and
`--tls-ca` flags for connecting to TLS-enabled servers.
### Planned: DEK Rotation (Phase 4)
`sgard encrypt rotate-dek` generates a new DEK, re-encrypts all
encrypted blobs, and re-wraps the new DEK with all existing KEK slots.
Required when the DEK is suspected compromised (re-wrapping alone is
insufficient since the old DEK could decrypt the existing blobs).
### Planned: Multi-Repo + Per-Machine Inclusion (Phase 5)
Support for multiple repos on a single server, and per-machine
inclusion rules (e.g., "this file only applies to Linux machines" or
"this directory is only for the workstation"). Design TBD.
### Future: Manifest Signing (Phase 6)
Manifest signing (to detect tampering) is deferred. The challenge is Manifest signing (to detect tampering) is deferred. The challenge is
the trust model: which key signs, and how does a pulling client verify the trust model: which key signs, and how does a pulling client verify