if the backend has access to the room key, it’s no longer pure end-to-end encryption, since the server could theoretically decrypt the media. That model is usually called trusted server E2EE.
For true E2EE, the key should be generated and exchanged only on the clients (e.g., via client-side key agreement or encrypted key exchange), so the backend never sees the raw key. The server then only handles signaling and encrypted frame forwarding, without decryption capability.
In practice, the choice depends on whether the LiveKit agent needs to process the media. If it must analyze audio/video, it will need access to the key (trusted context). If not, we can design a fully client-held key scheme to preserve strict E2EE guarantees.
@helpful-crowd-34956