Privacy policy
Covers Skipper, Skipper Screen and Skipper for Chrome. Last updated 29 September 2026.
The short version
Skipper has no accounts, no analytics, no ads and no servers run by the developer. Nothing is sold or shared. Your devices talk to each other directly, or through a relay server or MQTT broker that you choose.
What stays on your device
Your settings: the pairing code, the relay server and MQTT broker addresses, and which connections are switched off. They're stored locally (in the browser's extension storage, or in the app's private storage) and never leave the device except as described below.
What is sent, and to whom
Between your paired devices only:
- Commands from the remote: jump, play, pause, fullscreen.
- Playback status back to the remote: whether a video is playing, its position and length, whether it's fullscreen, and the title of the video, page or app. From a browser this also includes the address (URL) of the tab being controlled and the computer's battery level.
These messages travel over whichever connection is available: your local network, Bluetooth, WebRTC,
the relay server you configured, or an MQTT broker (by default the public HiveMQ broker,
broker.hivemq.com, which you can change or switch off).
Every message is signed with a key derived from your pairing code, so nobody can forge or replay a command. Messages are not encrypted beyond the connection's own TLS: the operator of the relay server or MQTT broker you use could read the playback status, including the video title and, for a browser, the tab's URL. If that matters to you, run your own relay server and switch MQTT off. The pairing code and the signing key are never sent.
What the browser extension reads
Skipper for Chrome runs on every page so it can find a video wherever you play one. On each page it reads only the state of video elements (playing or paused, position, length, fullscreen), the page title and the page address. Only the tab it is controlling is reported to your phone. It does not read form fields, passwords, cookies or browsing history, and it doesn't keep a record of the pages you visit.
It uses Chrome's debugger permission for one thing: pressing the player's fullscreen
control on your behalf, because a web page only enters fullscreen when a person asks. It attaches to
the tab for the duration of that command and then detaches.
What the Android apps read
Skipper Screen uses Notification access to see which media session is playing and seek it precisely, and Accessibility to find and press the fullscreen button of the app in front. It doesn't record, store or send the contents of your screen or your notifications.
Updates
When the browser extension is installed from a GitHub release, it checks api.github.com twice a day for a newer version. The request carries no personal data. The Chrome Web Store version skips this check, since the store updates it. The Android apps don't check for updates.
Contact
Questions or problems: open an issue on GitHub.