Privacy policy

Last updated 11 November 2026

samestream is a free browser extension that keeps a video in sync for people watching it together. This page says what it sends, where that goes, who can see it and how long it is kept. samestream is published by an individual developer (“we” below), not a company. It has no accounts and no ads. We do not sell data, and we do not use it or pass it on for advertising or anything else outside samestream.

On your device

When you watch together

Once you have agreed to the use of session traces (below), clicking “Watch together”, or opening a samestream link, puts the tab in a room. Rooms work with samestream 4.0 and later only: an older version is told to update and joins no room. The tab then connects to the samestream relay, a server we run on Cloudflare, and sends:

The other people in your room see your name, what you do with playback, which page you are on and which of its buttons and list items you clicked to choose the video, and why the room is waiting for you: the reason, since when and until when samestream expects it, what samestream is doing about it, which question it asked you, and whether you chose not to be waited for, were away or did not answer, and whether samestream is still checking that your video is the room’s or its picture has just stopped matching the room’s. The relay keeps the room’s state (names, playback, the current page) while the room is in use. When everyone has left, it keeps only what lets the room’s link open the video where the room stopped: the page’s address, the address of its player’s frame, the digest of its video file’s address, its season, episode, voice, length and frame rate, the playback position and random participant ids, without names. It deletes it 30 days after everyone has left.

The AI that reads the player

To find the season, episode or voice in a player, samestream may send the roles and visible names of the buttons, links, tabs, lists, menus, selects and headings of the video page and its player frames, and of the other elements those pages make clickable, saying which ones they are, which of them are selected or expanded, or look set apart from the rest, and their order, up to 96,000 characters, through the relay to Cloudflare Workers AI, which runs the model. It never includes what you type into fields, sections the extension recognises as comments, reviews or account areas, or forms with a password field. The answer, which items on the page to click, goes back only to you. The relay does not keep it and does not pass it to anyone else; your session trace holds a copy.

With those roles and names, samestream sends the model the season, episode and voice the room is watching (or, when the room’s video names none, the episode after the one it watched before), so that the model can say which items to click; it never sends the room’s page, its link, or the names of the people in the room. The model is DeepSeek V4.1 Flash, or Kimi K2.6 if that fails.

Session traces

While a tab is in a room, the extension uploads a session trace to the relay: the record of what samestream did and why. It holds playback events, the clicks samestream made on the player and what they changed, the video ads it skipped, the titles and addresses of the room’s pages and their frames, and a digest of each video file’s address, the addresses the room’s tab began to open (also ones that never opened, with the browser’s error code when there was one, or the word “refused”), the names in the room, for each frame sample only whether its picture was flat (never its fingerprint), and for each comparison with your partner’s frames only its outcome (near or far, the distance, the lag and the verdict), the sizes and checksums of video pieces (above), how near the numbers of a captured tab came to your partner’s and the verdict, when samestream could not read a video’s frames (above), and the text sent to the AI with the AI’s answer. In those addresses, the value of each query parameter and random-looking parts of the folders become short digests; the parameters’ names stay; IP addresses become a fixed placeholder; the file name stays as it is, and the part after “#” and any login details are dropped. It also holds what you chose in samestream, your answers to its questions (such as whether the video on your screen is the room’s episode), the names of the buttons and list items you clicked to choose the video (above), and when you clicked or pressed a key on the page; that record never says which key or what you typed. For each click, touch or key press it also holds its kind (pointer, touch or key), which of the page’s videos it landed on and where against it (on its picture, on its lowest part where the progress bar usually is, with how far along the video’s width, or outside it), whether a key is one players use to seek or to play and pause (never which key), and when the press ended; of the keys typed into a text field (all but Enter, which can send a form), only the first after the field got focus, marked as typed there (never which field, which key or what was typed), and nothing of the keys of a password field; when a text field on the page got or lost focus (yes or no, never which field); which media actions (play, pause, stop, seek, previous or next track) the page’s own media-key handlers were called with, and a play or pause key that reached samestream’s own handlers while it looked at your paused video; for each video event, whether the video was seeking or muted and which command of samestream’s caused it; for each navigation of the room’s tab: its kind, how the browser classed it (typed, a link, Back or Forward, a reload, a redirect), whether the page started it itself, whom samestream took it for, and its times; for each click, touch or key press, and each media key the page or samestream handled: an id, its exact time and whether the browser counted it as your activation; and the address of a link you pressed, only when that link opened in the room’s tab, shortened as above; how samestream matched your video to the room’s (by the page’s address and length, by what the page says it plays, by your answer, or by the picture) and why a match ended; the assistant’s steps: the season, episode and voice it looked for, the reading it sent, its answer, which kind of button or list item it clicked, and what each click changed; what the page says it plays: the name, series, season and episode it describes for search engines, the title, artist and album it gives the browser’s media controls, and the item the site’s player marks as current (its name and number, as the page shows it); the reports every video of the page’s frames gives about once a second (position, paused or playing, length, loading and buffering state, speed, whether it is muted or has a sound track, whether it loops or starts by itself, its size and how much of the tab it covers, whether it is in view, how many frames it drew, whether it sits over the page as an overlay, whether something of the page lies over its picture (yes or no, nothing of what covers it), whether an ad’s own skip button or its countdown is over its picture (yes or no), how long its time stood while it said it played, an error the browser reported for it, and a digest of its video file’s address); and what samestream did and why, including how sure it was about each change (for example whether a jump was yours or the player’s), how far and at what speed it placed your copy against the room’s (seconds and a rate, numbers only), which moments of your video it looked at to compare with the room’s (it moves your paused video there for a moment, shows the picture where you stopped meanwhile, and puts it back) and whether they matched (seconds and numbers only), the start and end times of subtitle lines near the moments it checks (numbers only, never their words), why your copy was not ready and what it tried (reloading the player or the page, a tap, a question to you), the room’s waits and clock as it heard them, and which of its messages the relay received. It also holds, when a room needs a newer version, each time samestream asked Chrome for its update and Chrome’s answer. At its start it notes the version and build of samestream, whether it was installed from the Chrome Web Store, its protocol, whether “Skip video ads” is on and how many times samestream’s background script has started since the browser opened or samestream was last updated or turned on. Traces are stored in Cloudflare Workers KV and deleted automatically after 30 days. Traces are stored under a random id of this browser, not under your name.

Before your first room, samestream asks you once, in its popup or on the page a samestream link opens: “Session traces are kept for 30 days. The developer may read them to fix and improve samestream.” Only after you click Agree does it start or join a room; until then it sends nothing. Your agreement is kept on your device with the date you gave it. Versions of samestream before 2.0.3 did not ask.

Research recordings

Versions of samestream before 4.0 had a switch, “Record this session for research”. Recordings made with it are deleted from the relay 30 days after they were uploaded. samestream 4.0 records none.

Who can see it

Nobody else. We do not sell this data, use it for advertising or to decide anyone’s creditworthiness, or transfer it except as described here.

Your IP address: Cloudflare sees it with every request. The relay uses it only to limit how often one address can connect (30 times a minute) and does not store it itself; it can appear in Cloudflare’s request logs, as above.

How long it is kept

Your choices

Chrome Web Store

The use of information received by samestream adheres to the Chrome Web Store User Data Policy, including the Limited Use requirements.

Contact

Questions and requests: the contact address on samestream’s Chrome Web Store page. If this policy changes, this page changes with it and shows the new date.

samestream