mirror of
https://github.com/J3vb/OwnCord.git
synced 2026-09-03 03:50:00 +03:00
Server generates a per-channel 256-bit symmetric key (crypto/rand) when the first participant joins voice. The key is distributed to all participants via the voice_token WS message (already TLS-encrypted) and cleared when the channel empties for forward secrecy per session. Client configures LiveKit Room with ExternalE2EEKeyProvider and an SFrame e2ee-worker. All audio/video frames are encrypted client-side before reaching the SFU — the server never sees plaintext media. Changes: - Server: new VoiceE2EEKeys store, e2ee_key in voice_token payload - Client: E2EE Room options, key provider wiring for connect/reconnect - CSP: added worker-src 'self' blob: for the E2EE Web Worker https://claude.ai/code/session_01KKo3RwjdmcNzkgXNfUkgNT