Full web client with E2E encrypted messaging
Complete single-page web app served at / with:
- Identity generation (random 32-byte seed)
- Identity recovery from hex seed
- Persistent keys in localStorage (survives refresh)
- Auto-load saved identity on page load
- ECDH P-256 key exchange via Web Crypto API
- AES-256-GCM message encryption (iv prepended)
- Key registration with /v1/keys/register
- Send encrypted messages via /v1/messages/send
- Poll for messages every 2s with auto-decrypt
- Peer fingerprint input in header (saved to localStorage)
- Color-coded messages (green=self, orange=peer, cyan=system)
- Lock icon on received encrypted messages
- Commands: /info, /clear, /quit
- Graceful handling of CLI client messages (shows warning)
- Dark theme, responsive, mobile-friendly
Note: web-to-web E2E works. Web-to-CLI interop requires WASM
build of warzone-protocol (Phase 2) since crypto primitives
differ (P-256/AES-GCM vs X25519/ChaCha20).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>