Security
VibeTV Manager, the Mac half of VibeTV, runs the open-source AIOStreams server on your Mac and keeps it private to your home. It has no servers of its own and no account to sign up for. This page lists what protects your Mac, your accounts and the people who use it, and every place the app connects to.
Signed and notarized
The app is signed with a Developer ID certificate, built with Apple's hardened runtime, and notarized by Apple with the ticket stapled to the download. macOS can confirm where it came from and that it hasn't been changed, and opens it without warnings.
Private network only
The server listens only on your Mac (127.0.0.1), so nothing else on your Wi-Fi can reach it directly. Your phones and TVs reach it through Tailscale, an encrypted private network made of your own devices, so there's no port forwarding and nothing on the public internet. There is no public sharing mode. An advanced setting can open a port on your home network for apps that need it; it's off by default and asks you to confirm.
Secrets in the Keychain
Your Real-Debrid and TMDB tokens, the config password, the admin password and the server's encryption key are stored in the macOS Keychain, never in plain files. Inside the server's database, config secrets are encrypted with that key. Logs and diagnostics have secrets scrubbed before they're written, and a password copied to the clipboard is cleared after a minute.
Sandboxed server
The AIOStreams server (Node.js) and Tailscale each run under a macOS sandbox profile that denies everything by default. Each can read only its own program files, its own data folder and system libraries, write only to its own folder and temporary files, and can't start any other program. Your SSH keys, Keychains, Desktop, Documents and Downloads are blocked by name. If the sandbox ever can't start, the server still runs and the app tells you protection is off.
Signed updates
App updates come through Sparkle and are checked against an EdDSA (Ed25519) signature before they install. Server runtime updates (AIOStreams, Node.js and Tailscale) come from a signed manifest that the app verifies with the same kind of key, and every download is checked against its SHA-256 hash. A backup is taken before each update, so you can go back.
Password on every config
Every config needs its own password, and creating a config needs the admin login. The streaming proxy, if you turn it on, signs in with a separate login that can only use the proxy. People at home can add a PIN to their own profile.
No analytics
The app sends no telemetry and has no tracking or ads. There's no account with us, and nothing is sent to us.
Your data stays home
Configs, profiles, watch history and backups are kept in folders on your Mac that only your user account can read. Diagnostics are made only when you choose Export Diagnostics, and you decide who gets the file.
Network connections
Everything the app or its server connects to. None of it is run by us.
| Destination | Why | When |
|---|---|---|
| GitHub | App updates (Sparkle feed and download) and server runtime updates. | A few times a day while update checks are on, and when you install one. |
| Real-Debrid | Checks your token and plan, and finds and plays what you pick. | When you add or check the token, and when you watch. |
| TMDB | Checks your key. Titles, posters and descriptions for what you browse. | When you add or check the key, and when you browse. |
| Addon sites you turn on | Catalogs, stream searches and subtitles, made by the AIOStreams server. | When you browse, search or play. |
| Other AIOStreams servers you add | Shows their status, configs and logs, and changes settings you review first. Their logins stay in the Keychain. | While that server is selected in the app. |
| ipify (api.ipify.org) | Shows your network's public IP address, for setting up a router port forward. | When you open the port settings or click Look Up. |
| Tailscale | Connects your devices to the Mac over your private network. Tailscale's own diagnostic logs go to Tailscale, as with any Tailscale install. | While remote access through Tailscale is on. |
What we don't do
- Run servers that your streams or settings pass through.
- Collect analytics, crash reports or usage data.
- Host, provide or index any content.
- Put your server on the public internet.
- Store your tokens or passwords in plain files.
Reporting a problem
Found a security issue? Email [email protected] rather than posting it publicly. See also the privacy policy.