STREAMS Player · Privacy

Private by default.

No account is required for ordinary playback. The optional exchange account belongs to your own server. There is no advertising, analytics, telemetry or service operated by the author.

Network access

The application connects only on your action, and only to the place that action needs: the public stream catalog and the optional preview pack offered after it, downloaded from GitHub when you import the catalog or accept the pack; the provider of a stream you play, record or open About channel for, or whose video preview refreshes while Grid mode is visible; a FastMediaSorter phone or watch you imported, reached directly on your local network; and, only if you ask for them in Settings on the Playback page, the optional FFmpeg libraries for the experimental FlyleafLib engine, downloaded from a third-party GitHub project (BtbN/FFmpeg-Builds). Each request goes straight to that destination and is subject to its policies; none passes through a service run by the author. A TV schedule is downloaded only from the address you enter yourself in Settings on the Library page, once each time you press Download schedule, and never in the background. The optional Exchange source in Library settings connects to your own server over TLS. Enrollment sends your login, password or pairing code, device identity, product version and receiver capabilities. Later connections use the device identity and device token. It holds one control connection with keepalives and reconnects while enabled; disabling it closes the connection. Every certificate leaf needs your explicit approval, including after renewal. When a broadcast plays through your exchange server's relay with a pinned certificate, that one stream is relayed by a temporary local proxy on 127.0.0.1 which exists only while the broadcast plays and is reachable only from this device.

This website

This section is about this website, not the application. Every page loads its typefaces from Google Fonts: your browser requests a stylesheet from fonts.googleapis.com and the font files from fonts.gstatic.com, so Google receives your IP address, your browser details and the address of the page you are reading. The home page also asks api.github.com once for the latest release, so that the installer button points at the current file; GitHub receives your IP address and your browser details. The pages themselves are served by GitHub Pages (serzhyale.github.io). The site has no analytics, advertising or tracking, sets no cookies, and keeps only your theme and language choice in your browser's local storage. Each of these services is subject to its own policy; none is operated by the author.

Local data

STREAMS Player stores its catalog state, your added and imported channels, pins, collections, hidden channels, listening history, playback marks, cached preview frames within a 150 MB budget, the optional FFmpeg libraries if you downloaded them, and the diagnostic logs of the last ten launches under %LOCALAPPDATA%\StreamsPlayer. Recordings and saved frames go to the folders you choose for them, or by default to Recordings in Videos, Recordings in Music and Frames in Pictures. This data stays on your device unless you copy or back it up - or unless you use Send logs to the author in Settings on the About page, which packs those diagnostic logs plus your app version, Windows version and settings into an archive and opens your mail program so you can attach and send it to sza@ukr.net. That archive is prepared only when you press that button, the logs in it name the streams that were played, and nothing is ever sent without you pressing Send in your own mail program. A TV schedule you downloaded and your schedule channel choices are kept there too; Remove schedule in Settings deletes both. The password and pairing code are discarded. The account, token and certificate pin are protected for your Windows user in a separate file; removing the account forgets them. Diagnostic bundles omit that file and redact account values. Exchange connections begin only after your explicit source setup.

Contact

Questions can be filed in the GitHub issue tracker or sent to sza@ukr.net.