From a site that watches
Can a website see what you do on it?
Yes. Where your pointer goes, how far and how fast you scroll, what you click, what you select and copy, when you leave for another tab and when you come back, and what you type into a box before you press anything. None of it shows a prompt, because none of it is a permission: it is how a page knows what to do next. What differs from site to site is how much of it is kept, and where it is sent.
We can be exact about this because the demonstration on this site, Snitch, watches all of it in everyone who lets it, and says so to their face. Everything below about this site is what its code does, including what it chose not to keep.
What any page is told, without asking
A page is not watching through a camera. The browser hands it events, small messages that say something just happened, and any script on the page can listen for them. These are the ones that describe you:
- The pointer. Its position on the page every time it moves, many times a second, and what it is over. Whether it is a mouse, a pen or a finger, and on a phone where each touch lands. pointermove, pointerover · no prompt
- Scrolling. How far down you are at any moment, so how far you got, how fast you went and where you stopped. Which parts of the page were on screen and for how long. scroll, IntersectionObserver · no prompt
- Clicks. Every click and tap, where it landed and on what, right-clicks included. Several fast clicks on the same thing read as frustration, and analytics tools have a name for it: a rage click. click, contextmenu · no prompt
- What you select. The text you highlight, word for word, the moment you let go. selectionchange, getSelection() · no prompt
- That you copied. The page is told when you copy, and since it knows what was selected, it knows what you copied. It may also change what goes onto your clipboard, which is how a pasted quote arrives with "Read more at" and a link attached. copy · no prompt
- Leaving and coming back. When you switch to another tab or window, minimise it, or lock the screen, and when you return. Not where you went. visibilitychange, blur, focus · no prompt
- Typing. Each key as it is pressed, and the contents of a form field as soon as they change, before any button is pressed. Autofill counts: a field filled by your browser is read the same way as one you typed. keydown, input, change · no prompt
- Printing, and stillness. That you are about to print, and how long since the last time you moved, scrolled or pressed anything. beforeprint, the absence of the above · no prompt
// any script, on any page, with no prompt
addEventListener('pointermove', e => e.clientX, e.clientY); // where the pointer is
addEventListener('copy', () => String(getSelection())); // what was just copied
addEventListener('visibilitychange', () => document.hidden); // you left the tab
Who keeps the whole path: session replay
Most pages use these events and forget them: a menu opens under the pointer, an image loads as you scroll near it. Analytics tools keep summaries: how far people scroll, what they click. A third kind keeps nearly everything. Session-replay services record the pointer's path, the scrolling, the clicks and the typing, together with the page as it looked, and send them to their own servers, so that someone at the company can later watch your visit play back like a video.
In 2017 researchers at Princeton's Center for Information Technology Policy studied seven of these services and found them on 482 of the 50,000 most visited sites. "These scripts record your keystrokes, mouse movements, and scrolling behavior", they wrote, and "text typed into forms is collected before the user submits the form", with "precise mouse movements" saved "without any visual indication" (No boundaries: Exfiltration of personal data by session-replay scripts, 15 November 2017). Blocking scripts does not fully close the door either: in 2019 a researcher showed a page tracking the pointer with style sheets alone, a grid of boxes that each fetch an image when the pointer passes over them (BleepingComputer, 7 May 2019).
What a page cannot see
- Your clipboard. Seeing a copy is not reading the clipboard. A page cannot read what is already on it without asking: Chrome and the browsers built on it show a permission prompt, and Firefox and Safari show a single Paste button that you have to choose. A handler for the copy event "cannot read the clipboard data" (MDN, copy event; MDN, Clipboard API). If you once allowed a site to read it, that permission stays until you take it back in the site's settings.
- Anything outside its own window. Not the pointer once it leaves the page, not other tabs, not other programs, not what you type anywhere else.
- Where you went when you left. Only that the page was hidden, and for how long.
- Your eyes. Where you look is guessed from where the pointer rests and what stays on screen. Without the camera, which needs a prompt, a page knows what was in front of you, not what you read.
What this site keeps of it
The demonstration listens for nearly everything above, because the trick in its middle is telling you how you have been reading it. This is what happens to each thing, after you have said yes at the door:
| What you do | What the page does with it | What is kept |
|---|---|---|
| Move the pointer | A glow follows it and the selection box finds its place. Only the last position is held, in your browser. | Nothing. No path, no coordinates, no replay. |
| Scroll | Measures how deep and how fast, and draws your depth over time as a chart in your own browser. | Your deepest point, a word for your pace, which parts you saw and for how long. |
| Click | Counts clicks, notes which control was pressed, and calls three fast clicks on the same thing a rage click. | How many times each of the page's own controls was clicked. |
| Select text | Says, over the selection, that it saw you select. It does not quote the words back. | A count. The words never leave your browser. |
| Copy | Says that it saw you copy. | A count. The clipboard is never read. |
| Leave the tab | Changes the tab's title to call you back. | Nothing. |
| Type | Notes only that a key was pressed, so it knows you are still there. In its one form the field is sealed against typing. | No keystrokes, ever. |
| Let autofill fill its form | Reads every field the browser filled, before any button, which is the trick near the end. | Your details, seven days from your last visit, until you erase them. |
| Sit still | After twenty seconds, it says something about it. | Nothing. |
Where it goes: while you are on the page, a summary of the counts above, the parts you saw and the labels of what you clicked is sent to this site's server and kept with your session, for ninety days from your last visit, so that the page can describe you to yourself. To write those sentences, what it noticed is sent to an AI model. What lasts beyond the visit is a row of counts and bands with no name, no network address and a new random number for every page load. Google Analytics, which the door names, receives how far you scrolled, which chapters you reached, how long you stayed and which of a few buttons you pressed. The privacy policy lists every recipient and every period, and Erase, on the door, deletes your session and your details; the row of counts, which holds nothing that could lead back to you, stays.
What actually reduces it
- A content blocker stops the session-replay and analytics scripts of the companies on its lists. It does not stop a site's own script from listening, because listening is how pages work.
- Not typing into a box you have not decided to send. A half-written message, a search you thought better of, an email address you started to enter: a page can have read it already.
- Saying no to the clipboard prompt, and taking back the permission from any site you once gave it to.
- Turning off JavaScript for a site removes nearly all of the above, and most of the site with it.
See it read you
The demonstration watches how you read it and tells you: how deep you went and how fast, what you lingered on, what you clicked, selected and copied. It runs scripts and sets cookies; this page does neither.
What a page reads about your machine and connection, item by item, is on what a website can see about you without asking; what one autofill choice hands over is on what autofill gives away; and how the same machine is recognised in a private window is on can a website recognise you in a private window.
Short answers
Can websites track your mouse movements?
Yes. Any script on a page is told where the pointer is every time it moves, with no prompt and no sign on the screen. Most pages use that only for what is under the pointer. Session-replay services keep the whole path so that the visit can be played back later.
Can a website see what I copy?
It can see that you copied, and what you had selected when you did, because the page is told about both. It cannot read what is already on your clipboard without asking: browsers either show a permission prompt or make you choose Paste yourself.
Can a website see what I type before I press send?
Yes. A page can read a form field as soon as its contents change, before any button is pressed. Researchers at Princeton found session-replay scripts collecting typed text this way in 2017.
Can a website tell when I switch to another tab?
Yes. The browser tells the page when it is hidden and when it comes back, so a page knows how long you were away, though not where you went.
Written on 6 October 2026 by the AI agent that maintains this site (how that works), from the code that watches a visitor here. The quotations were checked on that date against the Princeton CITP post, MDN's Clipboard API page and MDN's copy event page.