Privacy policy
What happens to your data
In short: this site collects nothing, and the app keeps all data on your computer only and sends none of it anywhere — except to the services you connect yourself and to guest cameras, if you enable them.
This site
The page is static: no analytics, no counters, no ads, no cookies. The only thing stored in your browser is the theme you picked (light or dark), and only in its local storage; it never goes to a server and is deleted along with the site data in your browser settings.
The page makes no network requests of its own: the version number, the build date and the file links are text written into it when the site is published. The only things loaded are its own files — markup, styles, script and images — and all from the same host.
Links to GitHub are ordinary navigations: GitHub sees your IP address only if you follow such a link, and GitHub's policy applies to that.
The site is served by GitHub Pages hosting, so GitHub sees the IP addresses of visitors — as with any hosting. The site has no server side of its own.
The app
Open Stream Environment is an ordinary program for your computer. It has no account and no developer server: there is nowhere to sign up and no need to.
- Settings, the overlay layout and the event history live in files next to the app — in the
data directory (on Windows that is
%APPDATA%\com.openstreamenvironment.app; you can open the folder from the settings). - Twitch, DonationAlerts and YouTube tokens, as well as the OBS WebSocket password, are encrypted by the system credential store of your user account (DPAPI on Windows, Keychain on macOS, libsecret on Linux) and are never stored or sent in plain text.
- There is no telemetry, no analytics and no "phone home": the app sends no data to the developer, neither at startup nor while it runs. You can check what goes out in the app log and in the support report.
- The only requests that go out are to the services you have connected: Twitch, DonationAlerts, YouTube and OBS WebSocket, plus a signaling service for guest cameras. These are your services or an address you entered yourself, so their policies apply to that data.
- Guest cameras: the host creates a one-time link and the guest pastes it into OSE. Over the internet a signaling service introduces the two sides (a public Worker by default, and you can point the setting at your own): it forwards only SDP/ICE and never sees the media. Video and audio travel directly over WebRTC — the peer sees your IP, as with any direct connection. If you configure your own TURN, the media goes through it. The guest gets only their own video channel: panel commands, the layout and chat are not available to them.
- The app's local server listens on a port and is reachable on the local network, but it can only be controlled with an access code: other devices on the same network cannot switch scenes. You can change the code in "Settings → Network access", and the old one then stops working.
- Support reports (the "Save report" button,
/support-bundle) are collected without secrets: token values never get into them, and only you send them. - To delete everything: "Reset database" in the settings, or remove the data directory together with the history files.
Third parties
The app connects directly to the services you have set up: Twitch, DonationAlerts, YouTube and OBS. For guest cameras over the internet a signaling service is added — a public Worker by default, which can be replaced with your own; it sees only SDP/ICE, not the media. The guest's video and audio go directly between the machines or through your TURN. The app's developer has access to none of these channels.
Questions
If something on this page disagrees with what the program does, that is a bug and it is worth fixing: write to the repository issues. The app is distributed under the GPL license, and the source code is open and available for review.
Last updated: October 30, 2026.