Privacy policy

Effective: 2026-09-25 · Version 0.7.0

Summary

iWatchUWatch is a Chrome extension, a small relay server and an account service. Joining a room requires an account; your e-mail address, a hash of your password and your subscription status are kept in a database.

Sync itself keeps no record of what you watch. The video you watch never leaves your browser; only small JSON messages for sync and chat pass through the relay server. Chat is never stored on the server, who watches what is never recorded, and a room's contents are dropped from memory when the last person leaves.

One short record per room. When a room closes, the server keeps a room session record: whose room it was, when it opened and closed, how long people watched together, how many were in it at most, and the account ids of those who joined. It never contains the page, the video or the chat.

The admin view. To follow faults and notice abuse, a server administrator can see which rooms are open right now, how many people are in each, and the e-mail addresses of the accounts inside them. That view reads memory: it is never stored anywhere, it does not survive the room closing, and it does not include the address of the page being watched — so not even an administrator sees who is watching what. Room codes are masked on that screen. An administrator can also close a room when needed — for abuse reports; the people in it are told it was closed, and the action is written to the audit log.

Nothing is sold or handed to ad networks or analytics services. This website runs no analytics, advertising or tracking code.

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. The account layer has one purpose: to know who may open a room and let that happen accordingly. A subscription is needed to open a room; joining a room someone else opened needs only a verified account. Every piece of data handled is used for those two purposes only.

Account data

When you open an account, the account service's database keeps:

DataWhyLegal basis
E-mail addressIdentity at sign-in, verification and password-reset links, subscription notices; the key for adding friends — another member who knows your address can send you a request, and sees the address if you acceptPerformance of contract
Hash of your passwordTo verify sign-in. The password itself is never stored; an argon2id hash is kept and cannot be reversedPerformance of contract
Display nameSo people in a room see who you arePerformance of contract
Avatar choice: a short random key from which your avatar image is generated (no photo upload)Represents you in the member list of a roomPerformance of contract
Language choiceThe language of e-mails and the interfacePerformance of contract
Subscription status and access end dateTo decide whether the account may open a roomPerformance of contract
Payment record: amount, currency, status, invoice linkAccounting and handling refund requestsLegal obligation
Session records: device label, created and last-used timeSo you can see open sessions and drop them all if something looks wrongLegitimate interest
Audit log: action name, time, a hash of the IP address, browser stringDetecting abuse and account takeoverLegitimate interest
Trial ledger: a salted hash of the e-mail addressPreventing a second trial on the same address. The address itself is not in this tableLegitimate interest
Google account ID — only if you sign in with GoogleTo recognise you the next time you sign in with GooglePerformance of contract
Founding-member markers: the date the account became a founding member, and the date you asked to be told if Premium launchesHonouring the founding-member discount if a paid version launches; sending the one launch e-mail you asked forLegitimate interest; the launch notice rests on your own request

IP addresses are never kept in plain text. The audit log holds only a hash: enough to tie a record to a user, not enough for someone reading the log to learn the address.

Card details never reach us. Payment is taken on the provider's own page. We hold only the amount, the status and the identifier the provider gives us.

Signing in with Google. If you sign in with Google, we receive your name, e-mail address and Google account ID from Google; we don't get your password or contacts. The account ID is stored to recognise you next time. Your name is used only as the starting display name, which you can change.

Your friend list, friend requests and the people you block are also stored against your account. Who is online, in contrast, is held in memory only and never written to disk.

What is not collected

Having an account does not mean the following is collected. These are never collected:

  • Browsing history or a list of the sites you visit.
  • Video content, watch history, or any record of which video you watched.
  • The text of chat messages. It passes through the server, is relayed, and is not stored.
  • The page, video or title a room was watching. Room session records hold account ids and times only.
  • Phone number, address, date of birth or national ID. A full name is received only if you sign in with Google, and only as your display name.
  • Card numbers or payment instrument details.
  • Analytics, advertising or tracking data.
  • Location data.

No cookies are used. Neither the extension nor this site writes a cookie. When you sign in on the site, the session key is kept in the browser's localStorage; that is not a cookie, it is never sent automatically, and it stays in that browser only. Signing out deletes it.

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 name, avatar choiceOn entering a room
profileAvatar choiceWhen you change your avatar while in 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 “Cheerful 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 from memory when the last member leaves. The only thing written down is the room session record described below; nothing else about the room is kept in a database or backup.

Invite preview: when an invite link is opened, the page shows whoever has the link the room's current page title, site name, the host's display name and avatar, the member count and the playback position. This is read live from memory at that moment and not stored anywhere. Treat an invite link like the room itself: anyone who has it can also see what is playing.

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 relay.iwatchuwatch.com and is operated by the project's owner. The extension connects only to that address; there is no server setting to change.

Room session records

When a room closes, the relay sends one record of it to the account service. The record contains:

  • the account that opened the room (the owner);
  • when the room opened and closed, and how long it was open;
  • how long at least two people were in it at the same time;
  • the largest number of people in it at once;
  • the account ids of the people who joined.

It does not contain the room code, the page URL or title, the video, playback commands, display names or chat.

Why: to run the service, plan server capacity, spot abuse (for example accounts opening rooms in bulk), and make product decisions — such as whether and how a paid version should be priced — from real use rather than guesses. It is also how founding members are identified.

Legal basis: legitimate interest in operating, protecting and planning the service. Retention: 400 days, then deleted automatically. When you delete your account, you are removed from these records: the owner link is cleared and your id is taken out of the participant lists. Your records are included in the data export.

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, auto-connect preference, language choice, 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.

Uninstall feedback

When you remove the extension, Chrome opens a page on this site (/uninstall). Chrome offers this to any extension that asks for it; we use it to ask one question: why. The address carries no identifier, neither an account nor an installation id, only the extension version and the language, so the page opens in your language and we know which version the answer is about.

Opening the page sends nothing. Filling in the form is optional. If you send it, our own server keeps: the reasons you ticked, the text you wrote, the extension version, your browser and operating system as two short labels (for example "Chrome 129" and "Windows", not the full browser string), and your e-mail address only if you type it. No IP address, not even a hash, is stored with the entry. The form goes to our account service, not to a form or analytics provider, and nothing is linked to your account.

Entries are deleted after 12 months. If you left an e-mail address and want the entry removed sooner, write via the contact page. Legal basis: legitimate interest in improving the product.

Retention and deletion

DataHow long
Rooms and chatChat is not stored. A room's contents are dropped from memory when the last person leaves
Room session records400 days, then deleted automatically. Deleting your account removes you from them
Account recordWhile the account is open. Permanently deleted 30 days after a deletion request
Session keysRefresh key 30 days; revoked immediately on sign-out or password change
Verification and reset links24 hours, or once used
Audit logFor the life of the account; when the account is deleted the user link is severed and the record is left anonymous
Payment recordAs long as tax law requires. Even if the account is deleted, the amount and date remain with the identity link severed
Trial ledgerPermanent. Only a salted hash of the e-mail address; deleting an account does not delete this record, otherwise "delete and re-register" would be an endless trial
Uninstall feedback12 months. Not linked to an account, so deleting the account does not touch it; ask via the contact page if you want it gone sooner
Server logsRotated regularly, not kept permanently

When you delete your account, access stops immediately and open sessions are dropped. You can undo the deletion by signing in within 30 days; after that the record is permanently deleted.

Your rights

Under Turkish data protection law (KVKK no. 6698) and, where it applies, the GDPR, you can: learn whether your data is processed and ask for information about it, learn the purpose of processing, know the third parties it is transferred to at home or abroad, ask for correction if it is incomplete or wrong, ask for erasure or destruction, ask for those actions to be notified to third parties it was transferred to, object to a result reached solely by automated analysis, and claim compensation if you have suffered damage.

Two of those rights can be exercised in one step:

  • Download your data: the account service exposes an endpoint that returns everything on your account in machine-readable form (/me/export). The audit log comes through that export with the IP hash, not the plain address, and your room session records are included too.
  • Deletion: you can close your account from the extension or the account page; the periods above apply.

For anything else, write via the contact page.

Legal basis: account and subscription data are processed to perform the contract, so no separate explicit consent is asked. Security records rest on legitimate interest, payment records on legal obligation.

Third parties

The relay server and the account service are run by the project's owner. Neither the extension nor this site contains an analytics, advertising or tracking SDK. This site's fonts are served from the site itself; no request goes to Google Fonts at runtime. Avatars are generated with DiceBear using the “Adventurer” style by Lisa Wischofsky, licensed CC BY 4.0. The image is generated locally in your browser from a short random key; no photo is uploaded, and showing an avatar sends no outside request.

Three external services are used:

ServiceWhat forWhat is sent
Payment providerSubscription billing, invoices, customer portalE-mail address and account identifier. Card details go straight to the provider and never reach us
E-mail delivery serverVerification, password reset and subscription noticesE-mail address and the message text
Google Sign-InThe “Continue with Google” button on the sign-in and sign-up pages. Google's script is loaded only on those pagesWhen you use the button, Google confirms your identity on its own page and sends us your name, e-mail address and Google account ID. Loading the button lets Google see the technical details of your browser's request (such as the IP address)
Cloudflare TurnstileTelling people from bots on the sign-up and password-reset forms. Loaded only on those pagesThe technical signals Cloudflare's check reads in your browser (for example browser and device characteristics and the IP address). Cloudflare uses them for this check only; we receive only a pass/fail result

The payment provider may act as the merchant of record for the sale; in that case it issues the invoice and its own privacy policy applies too. The provider's identity and contact details are on the distance sales agreement page.

Transfer abroad: the payment provider, the e-mail server, Cloudflare and Google may be located outside Türkiye. Such transfer is made because it is necessary to perform the contract.

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.