Privacy Policy
Effective date: 2026-07-24. Applies to: Page2AI Chrome extension (Manifest V3), @page2ai/core npm package, @page2ai/mcp MCP server, the unscoped page2ai-mcp wrapper, and since 2026-11-13 the online converter on this site. Author: Igor Saevets (support@igorsaevets.com, ORCID 0009-0006-8636-1377).
Summary
Section titled “Summary”Page2AI does not collect, transmit, sell, share, or store any personal data. There is no telemetry, no analytics, no crash reporting, no A/B testing, and no third-party services embedded in any of the products.
Every product listed above runs entirely on the user’s own machine. The hosted endpoint (page2ai.igorsaevets.com, and the earlier address page2ai-mcp-remote.vercel.app, which the ChatGPT plugin still calls) runs on a server instead and has its own policy: hosted endpoint privacy policy.
What each surface does with your data
Section titled “What each surface does with your data”Chrome extension
Section titled “Chrome extension”- Runs on the current tab only when you invoke it (
Alt+Shift+Mor click the toolbar icon). Up to 1.5.1 it requests onlyactiveTab,scripting,clipboardWrite, andstorage. Nohost_permissions, no<all_urls>, notabsAPI access. Since 1.6.0 it also has thealarmspermission and the opt-in Agent Bridge: only when you turn its switch on does it ask for optional site access, open background tabs for the Page2AI MCP server on your own machine, and send that local process their Markdown — see the extension’s PRIVACY.md, “The Agent Bridge”. Nothing goes to the author in any version. - Reads the DOM of the active page to extract content.
- Writes to your clipboard the resulting Markdown, so you can paste it into your LLM of choice.
- Stores locally the last extraction result per tab (via
chrome.storage.session, so re-invoking the icon retrieves a cached result; cleared when the browser closes), your preferences, and — in 1.6.0 — the Agent Bridge switch and its pairing key (viachrome.storage.local). Results produced for the bridge are not cached. Never sent anywhere. - Makes no network request of its own since version 1.5.0 (2026-10-17). It reads only the page in your tab, no longer asks the site for an
llms.txtindex or a Markdown copy of the page, which can be older than the page, and copies parts of the page into a separate document in which the browser loads nothing. To capture content shown on demand it scrolls the page and opens tabs and collapsed sections, as you would; the page may then load more of its own content, as when you do it yourself. Since 1.6.0 there is one opt-in exception: while the Agent Bridge switch is on, the extension holds a connection to a Page2AI MCP server on your own machine and opens background tabs for it; those pages load from their own sites, and their Markdown goes to that local process, never to the author. - Up to version 1.4.0 it asked the site you were reading for a Markdown copy of the page each time you invoked it:
/llms.txt,/docs/llms.txtand/llms-full.txtin every profile, with your cookies for that site, and no setting turned these off. With the Docs or Research profile (Auto-detect picked Docs on documentation pages) it also requested the page’s address with.mdand/index.mdadded, whether or not such a file existed, and a.mdaddress for the page named by the page or by itsllms.txt, on that site or on one of ten documentation hosts listed in PRIVACY.md. Requests to one of those hosts carried no cookies but, like any request a page makes, showed it your IP address and, by default, the site you were on. When it copied part of the page to read its text, the browser could also load images, video or audio of that part that the page had not loaded yet. - Does not send page contents or any other data to the author or to any other service. Up to 1.4.0 the only servers it contacted were the ones above.
Online converter on this site
Section titled “Online converter on this site”- The HTML to Markdown converter runs
@page2ai/corein your browser tab. The HTML you paste or the file you choose is read by the browser and converted in a background thread of the page; no request carries it to the author or anyone else, it is never stored, and it is gone when you close the tab (unless you copied or downloaded the Markdown). - The page loads its own scripts from this site and nothing else. The preview shows the Markdown in a sandboxed frame that runs no script and loads no image until you tick «Load images»; then the browser loads those images from their own sites, which see your IP address, as when you open the page itself, but not which page sent you. A link you click in the preview opens in a new tab, again without telling that site where you came from.
- The Chrome Web Store links on the converter page carry a campaign tag (
utm_source=page2ai-docs), so the store’s statistics count visits that came from this page; the tag holds nothing about you. - This site is hosted on GitHub Pages, which, like any web host, receives your IP address and browser details when you load a page; see GitHub’s privacy statement. The domain page2ai.net is registered with Cloudflare, whose name servers answer DNS lookups for it; page requests go straight to GitHub Pages and do not pass through Cloudflare. There are no cookies, analytics or trackers on this site. The site keeps your light or dark theme choice, and which sidebar groups are open, in your browser’s own storage; neither is ever sent anywhere.
@page2ai/core npm library
Section titled “@page2ai/core npm library”- Runs synchronously in Node.js or in a browser bundle. Consumes an HTML string or a URL you provide.
fetchAndConvert(url, opts)requests the URL you pass in and follows its redirects, nothing else. Up to 0.1.13 it first requested<url>.mdas well, and its Accept header asked for Markdown. It enforces the SSRF guards below.- Emits Markdown, returns it to your code. No storage, no logging.
@page2ai/mcp MCP server
Section titled “@page2ai/mcp MCP server”- Runs as a stdio process spawned by your MCP client (Claude Desktop, Cursor, Windsurf, Zed).
- Exposes one tool,
page_to_markdown. When your agent calls it, the server fetches the URL your agent provided, following its redirects, and returns the extracted Markdown to the agent; it requests nothing else. Up to@page2ai/mcp0.2.8 (@page2ai/core0.1.13) it first requested that URL with.mdadded, on the same site. - Listens on
ws://127.0.0.1(port 3025 by default; since 0.8.0 the server picks the first free port in 3025–3032 so multiple servers can bridge simultaneously), reachable from your own computer only, for the Page2AI extension’s Agent Bridge (since@page2ai/mcp0.5.0). Without the key the extension’s popup shows, set asPAGE2AI_BRIDGE_KEY(since 0.6.0), no browser can connect. With the bridge on, a page your agent asks for opens in a background tab of your browser, with your cookies; its Markdown comes to the server over that local connection and goes on to your MCP client like any other result, and nowhere else. - Server-side safety rules:
- http and https only —
file:,data:,javascript:and every other scheme are rejected. - SSRF guard — blocks loopback, private IPv4 (
10/8,172.16/12,192.168/16), link-local (169.254/16including cloud metadata endpoints), IPv6 loopback and private ranges. Applied before the request and on every redirect hop, after DNS resolution. - 10 MB response cap.
- Timeout enforced by
AbortController, default 15 s, hard cap 60 s. - UTF-8 only on response body.
- http and https only —
- Does not log requests and writes nothing to disk. Up to
@page2ai/mcp0.6.3 all state is per-invocation. Since 0.7.0 the Markdown of a long page that comes back in parts stays in the server’s memory, so its next parts come from the same text: until 10 minutes after its last part was read, until more than 8 pages or 16 million characters are kept (the oldest goes first), or until the server stops. A page that fits in one part is not kept.
Third parties
Section titled “Third parties”None. The products do not embed any third-party SDKs, trackers, analytics, remote configuration services, feature-flag services, or CDNs.
The one exception: @page2ai/mcp depends on @modelcontextprotocol/server from Anthropic. That SDK is used only to speak the MCP protocol over stdio to the client. It makes no network calls in the code path this server exercises.
Children’s privacy
Section titled “Children’s privacy”The products are general-purpose developer tools and are not directed at children under 13.
Changes
Section titled “Changes”Material changes to this policy will be published to this page and to the extension’s Chrome Web Store listing with an updated effective date.
Contact
Section titled “Contact”Source
Section titled “Source”This policy applies to the products at these canonical locations:
- Chrome extension ID
dlpaaijcnbbmlfeohlphjpnbbcnomnno, on the Chrome Web Store since 2026-07-30. - npm: @page2ai/core, @page2ai/mcp, page2ai-mcp
- GitHub: igorsaevets/page2ai-extension, igorsaevets/page2ai-core, igorsaevets/page2ai-mcp
- Software Heritage archive:
swh:1:snp:05123c51ef9e7c0aeb06f42b1263c07a8d26999a