Privacy Policy
Last updated 10 October 2026
mStream is software you run on your own computer. The project does not collect usage data, does not run analytics, and has no accounts. But “nothing ever leaves your machine” would not be true — some features talk to other computers to do their job, and this page lists them so you can decide what to turn on.
This website
mstream.io is a static site served from a content delivery network (Bunny.net). Like any web server, the CDN keeps ordinary access logs (IP address, requested page, browser user agent) for a limited time for operation and abuse prevention. The site sets no cookies and runs no analytics or advertising scripts. The Download button reads your browser’s platform locally to pick a file; nothing is sent anywhere to do that. Downloads themselves come from GitHub Releases, subject to GitHub’s privacy statement.
The mStream server
Your music, your library database, your listening history and your settings live on the machine running mStream. The server never reports any of it to the project. The following features do make network connections; each is described with what is sent and to whom.
Quick Connect (remote access) — on by default in the standalone bundles. Lets the mobile apps and the desktop app reach your server from anywhere. It uses Iroh to connect devices directly when it can; when a direct connection isn’t possible the encrypted traffic is relayed through Iroh’s public relay servers. The relay sees connection metadata (IP addresses, endpoint identifiers) but the audio and API traffic inside is end-to-end encrypted and your mStream login still applies. Turn Quick Connect off in the admin panel if you only use mStream on your own network.
Album art lookup — to fill in missing covers, the server sends artist and album names (no audio, no personal data) to public music-metadata services: MusicBrainz / Cover Art Archive, iTunes Search, and Deezer.
Lyrics lookup — when lyrics are fetched, the server sends artist, track title and duration to LRCLib (the default) and, when configured, to other lyric providers.
Discovery network (opt-in, off by default) — if you enable P2P discovery, your server shares fingerprints of your catalog — numeric descriptions of how tracks sound, plus artist and title — with other mStream servers in the network, and fetches theirs, bootstrapping through community seed nodes. It never shares the audio itself, and your similarity searches run locally on the fetched data: other servers can see that you fetched, not what you searched for. The discovery identity is separate from your Quick Connect identity. The first time it runs it also downloads the audio model from the project’s GitHub releases.
Federation (opt-in) — pairing with another server you choose gives that server read-only access to exactly the libraries you grant, and lets you stream theirs. Nothing is shared with anyone you didn’t pair with.
Local network discovery — the server advertises itself on your local network (mDNS) so apps on the same Wi-Fi can find it.
Optional integrations you configure yourself — Last.fm scrobbling (sends what you play to Last.fm under your account), the torrent client and YouTube download features (connect to the sources you point them at). None are active until you set them up.
First-run downloads — on first start the server fetches an ffmpeg build from its public download mirrors and verifies its checksum; the standalone bundles otherwise contain everything they need.
The mobile apps
The official mStream Music apps for Android and iOS connect only to the mStream server you add (directly or through Quick Connect). They have no accounts and no analytics of their own. Casting uses your device’s Chromecast / platform services. The apps are distributed through Google Play and the App Store, which apply their own policies. The mStream Player apps by Niera Tech are published by Niera Tech under their own privacy terms.
The desktop app and terminal player
The desktop app and the terminal player are one program, mstream-player. Your servers, settings and sign-ins stay in files on your computer, and it has no accounts, analytics, crash reporting or update checks of its own. It connects to the mStream servers you add, directly or through Quick Connect, and beyond that only as described here.
Quick Connect — a pairing code reaches your server over Iroh, the same way the mobile apps do: directly when it can, through Iroh’s public relay servers when it can’t. Each tunnel uses a new, random Iroh identity, which the player publishes, with the relay it is using (not its IP addresses), to Iroh’s address-lookup service. The relays and that service are run by n0, the company behind Iroh. They see connection metadata (IP addresses and that throwaway identifier), but the traffic inside is end-to-end encrypted, and your mStream login still applies.
Play history — once you’re done with a song, the player reports the play to your own server: which file, when, how long you listened and how often you paused, whether it finished or was skipped, and what started it (you, shuffle, Auto DJ…), along with the player’s version and a random ID for this install. That is what fills Last played, Most played and your listening stats. A song from a federated server is reported to your server, never to the one it came from. If you have linked Last.fm on your server, the server passes your plays on to it (see above).
Federated servers — when you browse a server that yours is paired with, and your server offers it, the player connects to that server directly over Iroh, using a short-lived guest pass your server issues. That server then sees what you browse and play there, and may see your device’s network address.
Servers on your network — the Quick Connect page and mstream-player discover listen for three seconds for mStream servers announcing themselves on your local network (mDNS). The player only asks your local network, and never announces itself.
MP3 player firmware — the MP3 Player tab and mstream-player device flash download the firmware for the mStream MP3 player from its GitHub releases the first time, check it against a checksum built into the player, and keep it for next time.
Torrents — a torrent or magnet link you open with the player goes to your server’s torrent client, or to another app on your computer if you choose. The player itself never connects to torrent peers.
However you install it — from this site, the one-line installers, Homebrew or Scoop — the files come from GitHub Releases. Homebrew and Scoop apply their own policies.
Questions
Open an issue at github.com/IrosTheBeggar/mStream/issues or ask on Discord. This page will be updated whenever a feature starts or stops talking to the network.