Privacy policy

Effective: 2026-09-06 · Version 0.1.0

Summary

iwatchuwatch is a Chrome extension plus a small relay server. There are no accounts and no database. The video you watch never leaves your browser; only small JSON messages for sync and chat pass through the server. Nothing is sold or handed to ad networks or analytics services. This website sets no cookies and runs no tracking code either.

Single purpose

The extension has one purpose: to play the same video at the same time in more than one browser, and to let the people in the room chat while doing so. Every piece of data it handles is used for that purpose only.

What is not collected

  • E-mail, name, account details (there are no accounts).
  • Browsing history or a list of visited sites.
  • Video content, watch history, or any record of which video was watched.
  • Analytics, advertising or tracking data.
  • Cookies: neither the extension nor this site uses them.

Messages that pass through the server

The extension connects to the server over WebSocket and sends the messages below. The server relays them to the other members of the room as they are; it doesn't process their content, it only tracks room membership and the last playback state.

MessageContentWhen
joinRoom code, display nameOn entering a room
heartbeatPosition, playing or not, clock, in an ad or not, seeking or notOnce a second during playback
controlAction (play, pause, seek, rate, stall, ad started/ended), position, clockWhen an action happens
chatMessage text, at most 1000 charactersWhen a message is sent
pageThe host's page URL and titleOnly from the host, when the page changes
sync-pingLocal timestamp5 times on connect, then every 5 minutes

The display name is a random name generated by the extension (like “Neşeli Panda”); if you change it, the name you typed is sent instead. The page URL is taken only from the person who created the room and shown to the other members as an “Open the video” suggestion.

What the server keeps

In memory, while the room exists: the members' connections and display names, who the host is, the host's page URL and title, and the last play/pause/seek command. The room is deleted entirely when the last member leaves. There is no persistent record, database or backup.

Application log: joins and leaves (room code, display name, member count), playback commands and the host's page URL are written to the log. Chat text is not logged. Logs are read only for debugging, rotated regularly, and not kept permanently.

Web server log: the web server in front of the relay (nginx) keeps a standard access log: IP address, time and request path. These logs are used for server administration and rotate regularly.

The server runs at watch.gulucan.com and is operated by the project's owner. You can point the extension at your own server in Settings › Server; in that case this section does not describe your server.

What is stored on your device

These live only in your browser, in Chrome's extension storage, and are never sent anywhere.

  • Persistent (chrome.storage.local): display name, last room code, server address and environment choice, auto-connect preference, theme (light/dark), chat toast preference.
  • Session only (chrome.storage.session, cleared when the browser closes): chat messages (at most 200), and the id, URL and title of the tab holding the video.

When you remove the extension, Chrome deletes all of it.

Extension permissions

Chrome asks for the permissions below at install time. For each one, why it is needed and what it is not used for:

PermissionWhy it is neededWhat it is not used for
Access to all sites (<all_urls>) and the content scriptTo find the video element on the page you're watching, read its playback state (position, paused, ad class), and draw the sync button and chat toast over the video. All sites, because which site you'll watch on can't be known in advance. The script runs in all frames, because players are often inside iframes.Reading page content, forms, cookies or passwords. On a page without a video element the script waits and sends nothing.
sidePanelThe extension's interface opens in Chrome's side panel.
storageKeeping the preferences and session data above on your device.Sending anything outside the extension.
tabsKnowing which tab holds the video; sharing the host's page URL and title with the room; switching to the right tab from “Open the video”.Reading the content of other tabs. Only URL and title, only for the tab in the room.
scriptingInjecting the content script into tabs that were already open when the extension was installed or updated.
alarmsAn alarm that fires every minute so the Manifest V3 service worker doesn't sleep and the WebSocket stays open.
notificationsShowing a chat message as a Chrome notification (sender's name and message) while the panel is closed.No other notification is ever sent.

Third parties

The relay server is operated by the project's owner. Neither the extension nor this site includes analytics, advertising or tracking SDKs. This site's fonts are served from the site itself; no request goes to Google Fonts at runtime. Installing the extension from the Chrome Web Store is subject to Google's own terms.

Children

The extension is not directed at children and collects no personal data, including age.

Changes

If this text changes, the effective date at the top of the page is updated. A change that expands the data handled is also noted in the extension's release notes.

Contact

For questions, see the contact page.