Drop in a document and a dashboard resolves: who made it, what travels with it, and what is in the file that is not on the page. It runs entirely in your browser. The document never leaves this tab; there is no server here to send it to.
cooking · work in progressGreen — nothing beyond what is on the page Amber — something travels with the file you may not have meant to send Red — something is in the file that is not visible on the page Grey — could not be checked
Site X-ray points a grid of glanceable tiles at a website. This points the same grid at a document. A PDF is a container, and the page you see is one thing in it: alongside it ride the author's name, the software that made it, every earlier save, comments, attachments, links, and, often enough to matter, text that was covered up rather than taken out.
The page is drawn exactly as a viewer would draw it. Then each piece of text is sampled along its own baseline, wherever and however it sits, and the pixels where it landed are read. Solid ink where words should be means they were covered; no ink at all means they were drawn invisibly, white on white or too small to see. Either way the words are in the file and any search will find them. The check cannot see intent, only whether you could see the words.
Anything the check could not reach is counted and said out loud rather than passed: a page beyond the fortieth, a page that would not draw, a piece of text with too little of it on the canvas to judge. Green means nothing was hidden. It never means nothing was looked at. If any piece went unchecked the tile comes back grey, whatever else it found.
Every tile reports a count, a name or a date read from the file. Nothing summarises the document and nothing decides whether its contents are sensitive; that is a judgement about your document and only you can make it. A red tile says "this is in the file and not on the page", nothing more.
A scan is a picture. Nothing here reads pictures, which is exactly why a search will not find a name in one, and why a redaction done by searching misses everything a scanner produced. Text drawn as outlines rather than letters is invisible to it for the same reason. Encrypted files cannot be opened without their password and come back grey.
One more, and it is the uncomfortable one: text parked outside the page area is never handed over by the reader at all, so this cannot count it or warn you about it. It is still in the file and other tools will still pull it out. Claude checked that by building a PDF with a line placed below the bottom edge; the reader returned the page's other text and nothing else. So a green tile here is a statement about the page, not a guarantee about the file.
Reading is done by pdf.js 6.3, the same engine Firefox uses, served from this site. Large files take a while: the covered-text check draws every page, and stops after forty. Nothing is uploaded, stored, or sent anywhere.
With one exception, and it is worth knowing about before you click it. The links tile offers where does this one go? for each address it finds. That opens Where does this link go?, which follows the address on a server, so that one address leaves your browser. The document does not, and nothing else in it does. If the address itself is the sensitive part, a share link with a token in it, say, do not click through.