Last updated: 2026-09-13
Page Scanner is a Chrome extension that captures the page you are looking at and extracts it as a PDF. This policy explains what the extension does and does not do with your data, and what the two Page Scanner websites collect.
Summary
The Page Scanner extension does not collect, transmit, sell, or share any data. Every capture is produced and stored on your own machine. The same is true of the command line and the MCP server.
The websites, pagescanner.app and docs.pagescanner.app, are different: they count visits with Google Analytics. The websites says what that collects.
Out of the box the extension makes no network requests at all. There is one thing you can turn on that changes that, and only that: the local agent bridge described below, which connects to 127.0.0.1 on your own machine and to nothing else. It is off unless you pair it yourself.
When the extension touches a page
Nothing happens until you ask for it. Page Scanner acts only on the tab that is active when you click its toolbar icon or press its keyboard shortcut. It never runs in the background, never watches pages you have not scanned, and has no access to any other tab.
Scanning a page attaches Chrome's own debugger to that tab for as long as the scan takes — a few seconds on an ordinary page, longer on a very large one — and detaches again the moment it is done. While attached it lays the page out at its full height and takes two things from that single layout: a screenshot for the on-screen preview, and Chrome's print-to-PDF output for the vectors. While that runs, Chrome shows its own "Page Scanner started debugging this browser" banner. It disappears when the scan finishes.
What the extension stores
Everything is stored locally in your browser:
- Captures: the preview image and the PDF of a scanned page, held in the extension's own IndexedDB database so the editor tab can open them. They are scratch data: anything older than 12 hours is deleted automatically the next time the extension starts, and nothing is uploaded anywhere.
- Theme choice: light or dark, in the browser's local extension storage.
- Capture settings: how a video is handled, and, if you pair the local agent bridge, the port, the pairing token and the name you gave this browser. All in local extension storage, none of it synced to your Google account.
This data never leaves your device. It is not associated with any account, and Page Scanner has no server to send it to.
The local agent bridge (off by default)
An AI agent running on your own machine can be allowed to start a scan and receive the file. This is off until you pair it: you run a command that prints a port and a token, and paste both into the extension's settings page.
While it is on:
- The extension opens a WebSocket to 127.0.0.1 on your own machine and to no other address. No request leaves the machine.
- The connection carries the token you pasted. Without it the connection is refused, which is what stops any other program on the machine asking for a scan.
- An agent can list your open tabs and their addresses, capture one of them, and open an address of its own choosing in order to capture it. That is the point of the feature, and it is why it is off by default and behind a token.
- Turning it off in the settings page closes the connection immediately.
Page Scanner still has no server. Nothing is sent to us, because there is no us to send it to.
What the extension does not do
- No network requests to any host other than 127.0.0.1, and none at all unless you pair the bridge.
- No analytics, telemetry, crash reporting, advertising, or third-party code.
- No reading or transmission of your browsing history, cookies, credentials, or form data.
- No remote code: everything that runs is inside the published package.
Permissions
| Permission | Why it is needed |
|---|---|
activeTab | Grants access to the one tab you scan, at the moment you click the icon, and to nothing else. |
debugger | Lays the tab out at its full content size and takes the full-page screenshot and the vector PDF from that one layout. This is the capture, and it is the only Chrome API that can produce a real vector PDF of a whole page. |
scripting | Measures the page's full height, and drives the scroll-and-stitch fallback used when the debugger cannot attach (for example when DevTools is open). |
storage | Remembers your light/dark theme, your video setting, and the bridge pairing, on this device. |
favicon | Shows the scanned site's icon in the editor, read from Chrome's local favicon cache. No request leaves the browser. |
Page Scanner requests no host permissions, so it has no standing access to any site.
The files you export
PDFs are written straight to your browser's downloads folder by the browser itself. Page Scanner never sees them again and never sends them anywhere.
The websites
pagescanner.app and docs.pagescanner.app use Google Analytics 4 to count visits and to see which links and buttons are used. This applies to the websites only. The extension, the command line and the MCP server send nothing to Google or to anyone else.
When you open a page on either website, your browser loads Google's analytics script from googletagmanager.com and sends Google:
- the page address, its title, and the address you came from;
- your browser, operating system, screen size and language;
- an approximate location, which Google derives from your IP address. Google Analytics 4 does not log or store the IP address itself;
- which of these you click: a link to the Chrome Web Store, a link between the two websites, a code block's copy button (with the first line of that code block), and the documentation's Copy page and Open Markdown controls;
- the address of a link to another website, or of a downloadable file, when you click it;
- that you scrolled to the bottom of a page, recorded once per page when you pass 90% of it.
Google Analytics sets first-party cookies named _ga and _ga_<ID> on pagescanner.app so that two
page views in one visit can be counted as one visitor. They do not carry your name, your email
address or anything you type. Google signals and advertising features are not turned on, and the
data is not used for advertising. Event-level data is kept for two months and user-level data for
fourteen months, Google Analytics' defaults.
Google processes this data under the Google Privacy Policy, and explains how it uses data from websites that use its services here. To opt out, block cookies for pagescanner.app, use a content blocker, or install Google's opt-out browser add-on.
Data sharing
The extension, the command line and the MCP server collect nothing, so they share nothing. The websites share the analytics data described above with Google, which processes it to produce the reports. It is not sold, and it is not shared with anyone else.
Children's privacy
The extension collects no personal information from anyone, including children. The websites are not directed at children and collect only the analytics data described above.
Changes
If this policy changes, the updated version will be posted at this URL with a new "Last updated" date.
Contact
Questions about this policy: byungdon92@gmail.com.