Only the latest release on the default branch receives fixes.
Please do not open a public issue for security problems. Use the repository's private vulnerability reporting (GitHub: Security → Report a vulnerability). Include what you found, how to reproduce it and the impact you expect. You should get a first reply within a week. Please give us a reasonable time to fix the problem before you disclose it.
請不要用公開 issue 回報安全問題,請使用 repository 的私密漏洞回報功能(GitHub:Security → Report a vulnerability)。
PresenceKit is a multimodal presence SDK with a web demo. When you run it:
- Set
PRESENCE_TOKENwhenever anyone else can reach the server, and serve it over HTTPS. Without a token every endpoint and the WebSocket are open. - API keys (
ASSEMBLYAI_API_KEY,TYPESAFE_API_KEY) are kept in process memory and shared by all connections. PRESENCE_NPU_DELEGATEloads a native library; it can only be set from the server environment.- The optional cloud features (speech recognition, re-ID) send audio or face crops to third parties; see docs/privacy.md.
Use uv 0.13.4 or newer and synchronize with uv sync --locked --extra puresound. The project enforces
the uv minimum and constrains certifi to 2026.10.19 or newer because of the compromised emSign CA
incident (uv advisory,
certifi advisory). Updating certifi alone does not
update Python/OpenSSL's separate default CA bundle; maintain that bundle through its package manager
and restart long-running clients after trust-store updates. Keep TLS verification enabled.
LiteRT 2.3.0 declares backports.strenum unconditionally. On Python 3.11 and newer, the project constrains
this transitive dependency to the official 1.2.8 release, whose Requires-Python range is
>=3.8.6,<4.0.0; 1.3.1 excludes Python 3.11 and newer. This keeps the original wheel metadata intact
and satisfies LiteRT without ignoring compatibility warnings. Revisit this constraint when upstream
corrects its dependency marker. Verify both uv pip check and installed Requires-Python ranges;
an audit without known vulnerabilities does not establish runtime compatibility.
Issues we consider security bugs include: a way to read camera frames, audio, face crops, keys or the token without authorisation; anything that writes images or audio to the server's disk; secrets appearing in logs or responses; and ways to run code through the WebSocket or HTTP API.