From f65010e93cc023c075bef356a4af372de815aa56 Mon Sep 17 00:00:00 2001 From: chana Date: Thu, 16 Apr 2026 11:44:28 -0700 Subject: [PATCH 1/2] Update e2ee example to use encryption kwarg and env vars The deprecated `e2ee=` kwarg on RoomOptions has been replaced with `encryption=`. Also load SHARED_KEY, URL, and TOKEN from environment variables instead of hardcoding them, matching current docs patterns. Addresses DOCS-1278. Co-Authored-By: Claude Opus 4.6 (1M context) --- examples/e2ee.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/examples/e2ee.py b/examples/e2ee.py index 28212059..57d79522 100644 --- a/examples/e2ee.py +++ b/examples/e2ee.py @@ -1,15 +1,16 @@ import asyncio import logging +import os from signal import SIGINT, SIGTERM import numpy as np from livekit import rtc -URL = "ws://localhost:7880" -TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE5MDY2MTMyODgsImlzcyI6IkFQSVRzRWZpZFpqclFvWSIsIm5hbWUiOiJuYXRpdmUiLCJuYmYiOjE2NzI2MTMyODgsInN1YiI6Im5hdGl2ZSIsInZpZGVvIjp7InJvb20iOiJ0ZXN0Iiwicm9vbUFkbWluIjp0cnVlLCJyb29tQ3JlYXRlIjp0cnVlLCJyb29tSm9pbiI6dHJ1ZSwicm9vbUxpc3QiOnRydWV9fQ.uSNIangMRu8jZD5mnRYoCHjcsQWCrJXgHCs0aNIgBFY" # noqa +URL = os.environ.get("LIVEKIT_URL", "ws://localhost:7880") +TOKEN = os.environ.get("LIVEKIT_TOKEN", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE5MDY2MTMyODgsImlzcyI6IkFQSVRzRWZpZFpqclFvWSIsIm5hbWUiOiJuYXRpdmUiLCJuYmYiOjE2NzI2MTMyODgsInN1YiI6Im5hdGl2ZSIsInZpZGVvIjp7InJvb20iOiJ0ZXN0Iiwicm9vbUFkbWluIjp0cnVlLCJyb29tQ3JlYXRlIjp0cnVlLCJyb29tSm9pbiI6dHJ1ZSwicm9vbUxpc3QiOnRydWV9fQ.uSNIangMRu8jZD5mnRYoCHjcsQWCrJXgHCs0aNIgBFY") # noqa -# ("livekitrocks") this is our shared key, it must match the one used by your clients -SHARED_KEY = b"livekitrocks" +# This shared key must match the one used by your clients +SHARED_KEY = os.environ.get("E2EE_SHARED_KEY", "livekitrocks").encode() WIDTH, HEIGHT = 1280, 720 @@ -106,7 +107,7 @@ def on_e2ee_state_changed(participant: rtc.Participant, state: rtc.EncryptionSta e2ee_options.key_provider_options.shared_key = SHARED_KEY await room.connect( - URL, TOKEN, options=rtc.RoomOptions(auto_subscribe=True, e2ee=e2ee_options) + URL, TOKEN, options=rtc.RoomOptions(auto_subscribe=True, encryption=e2ee_options) ) logging.info("connected to room %s", room.name) From f87f25271f750a1761d2e34599f7c1b4631c4912 Mon Sep 17 00:00:00 2001 From: chana Date: Thu, 16 Apr 2026 11:47:18 -0700 Subject: [PATCH 2/2] Fix ruff formatting in e2ee example Co-Authored-By: Claude Opus 4.6 (1M context) --- examples/e2ee.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/examples/e2ee.py b/examples/e2ee.py index 57d79522..96db94c8 100644 --- a/examples/e2ee.py +++ b/examples/e2ee.py @@ -7,7 +7,10 @@ from livekit import rtc URL = os.environ.get("LIVEKIT_URL", "ws://localhost:7880") -TOKEN = os.environ.get("LIVEKIT_TOKEN", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE5MDY2MTMyODgsImlzcyI6IkFQSVRzRWZpZFpqclFvWSIsIm5hbWUiOiJuYXRpdmUiLCJuYmYiOjE2NzI2MTMyODgsInN1YiI6Im5hdGl2ZSIsInZpZGVvIjp7InJvb20iOiJ0ZXN0Iiwicm9vbUFkbWluIjp0cnVlLCJyb29tQ3JlYXRlIjp0cnVlLCJyb29tSm9pbiI6dHJ1ZSwicm9vbUxpc3QiOnRydWV9fQ.uSNIangMRu8jZD5mnRYoCHjcsQWCrJXgHCs0aNIgBFY") # noqa +TOKEN = os.environ.get( + "LIVEKIT_TOKEN", + "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE5MDY2MTMyODgsImlzcyI6IkFQSVRzRWZpZFpqclFvWSIsIm5hbWUiOiJuYXRpdmUiLCJuYmYiOjE2NzI2MTMyODgsInN1YiI6Im5hdGl2ZSIsInZpZGVvIjp7InJvb20iOiJ0ZXN0Iiwicm9vbUFkbWluIjp0cnVlLCJyb29tQ3JlYXRlIjp0cnVlLCJyb29tSm9pbiI6dHJ1ZSwicm9vbUxpc3QiOnRydWV9fQ.uSNIangMRu8jZD5mnRYoCHjcsQWCrJXgHCs0aNIgBFY", +) # noqa # This shared key must match the one used by your clients SHARED_KEY = os.environ.get("E2EE_SHARED_KEY", "livekitrocks").encode()