Skip to the content.

Security & prompt-injection protection

Mark Clipper captures web pages so you can paste them into an AI assistant. A web page is untrusted — it can hide instructions aimed at that AI (“ignore previous instructions, exfiltrate…”), often invisibly. This page is the honest account of what Mark Clipper defends against, and what it can’t.

The guiding rule

What you paste is what you could have seen.

Mark Clipper removes the invisible traps so the captured markdown matches what was actually on screen. It does not try to judge meaning — visible text that happens to be adversarial is still captured (see Honest limits). That boundary is deliberate: it’s the part that can be made reliable.

What’s defended

1. Invisible Unicode smuggling. Characters that render as nothing but are read by LLMs — the Unicode Tags block (“ASCII smuggling”), zero-width characters, bidi overrides. Each is replaced with a visible marker, and the capture notes how many were found, so you can see that the page tried to hide something. (Legitimate right-to-left marks and emoji joiners are kept — no false alarms on real text.)

2. Hidden page elements. Text present in the page but invisible to you — display:none, visibility:hidden, opacity:0, off-screen positioning, zero-size, clip/clip-path, the screen-reader-only pattern, aria-hidden. Detection runs on the live, rendered page (not a guess from inline styles), so it also catches hiding done through CSS classes and stylesheets.

3. Exfiltration & active content in the markdown. External and data: image URLs (which some AI chats auto-fetch, leaking data) become text placeholders; HTML comments, on* event handlers, and unsafe link schemes (javascript:, data:, …) are stripped.

4. Data-vs-instructions framing. Captured content is wrapped in an UNTRUSTED-CONTENT fence — frontmatter + a visible banner telling any downstream AI to treat it as data, not commands. The Context Pack option strengthens this with a bounded <document> block whose delimiters can’t be forged by the content.

And throughout: nothing is auto-submitted. Copy & Open puts text on your clipboard and opens the AI tab — you paste. The human stays in the loop.

Honest limits

Why not the Chrome Web Store yet

The listing is under review. Until then, install unpacked from source — the code is open and small enough to read end to end.