Noxstream is local-first and free. Accounts are optional, and when you use one, your data is end-to-end encrypted so only you can read it. This is a plain-language summary of how the app is built, not a contract.
Local-first by default
Noxstream works fully without an account. Your profiles, library, watch progress and settings are stored in your browser, on your device. Nothing is sent to a server unless you choose to create an account and turn on sync.
This is the default, not a setting you have to find. You can install Noxstream, add your addons and watch for as long as you like without anything leaving your machine.
Analytics on the website, not in the app
Noxstream has no advertising and nothing to sell. The app itself, everything under /app where you browse and watch, runs no analytics on your activity. What you search, save and play stays on your device, or syncs end-to-end encrypted, so your viewing activity is never a product.
This marketing website, the pages outside the app, does use basic analytics (Google Analytics and Vercel Analytics) to understand how people discover Noxstream and which pages are useful. It is limited to these pages, never runs inside the app, and never sees what you watch. Google Analytics sets cookies in your browser on the website; you can refuse them with your browser settings or an extension, and Noxstream works exactly the same either way.
Optional accounts
Sync is additive. You create an account only when you want the same library across devices. You can keep using Noxstream signed out for as long as you like, and you can sign out at any time without losing your local data.
An account exists to move encrypted data between your own devices. It is not required to watch, to build a library, or to use any feature on a single device.
End-to-end encryption
When sync is on, your data is encrypted on your device before it leaves it. Your password derives the keys locally, and the server only ever receives ciphertext it cannot read, along with a separate verifier used to sign you in.
This means we cannot see your library, your progress or your settings, and neither can anyone who gains access to the server. The trade-off is real and worth stating plainly: if you forget your password, your encrypted data cannot be recovered, because there is no key on the server to recover it with.
What the server stores
The sync server is a small encrypted transport, not a copy of your account you have to trust us with. For each account it holds:
- An opaque, encrypted record per item, which the server cannot decrypt.
- The minimal bookkeeping needed to tell your devices what changed since they last synced.
- A login verifier derived from your password, used only to authenticate you, never to decrypt your data.
Addons and third parties
Noxstream is a client. Content, catalogs and streams come from the addons you choose to install by manifest URL. Requests to those addons are proxied so they work in the browser, and they reach whatever third-party services you point them at.
Noxstream does not host or provide any content, and it ships with only the official Cinemeta and OpenSubtitles addons. Any other addon, and anything it does with your requests, is governed by that third party, not by Noxstream. Optional integrations such as Trakt run only if you connect them, and you can disconnect them at any time.
Self-hosting
Because the sync backend is a small encrypted transport that stores only ciphertext, you can run your own. Point Noxstream at your server and keep every byte under your control. The app behaves identically either way.
You do not have to take any of this on trust. The encryption happens on your device before anything is sent, so even a server you do not control only ever sees data it cannot read.
Last updated June 13, 2026. This summary reflects how Noxstream is built. A formal policy will be published alongside the first hosted release.