Positioning
· 7 min read

Why nobody built a redaction tool for you

By Amine Gaaliche · drafted with Claude, reviewed and edited by hand

Most PII tools take text as input. Someone has to turn the page into text first, and none of these tools says whose job that is. In October 2026, Presidio's image redactor was downloaded about 2,800 times a week, according to Snyk's package index. That is small next to the number of offices that handle scans. The tools were built for developers, and the person holding the document was never their customer.

The step before the first function call

Look at the first function call in any well-known PII tool. It takes a string and returns positions: characters 40 to 51 are a name. That is the right interface for its job.

But it assumes someone has already turned the page into characters. The whole category skips the most difficult step. If your data is already text, there is no such step. If you have a scanned PDF, that step is the whole problem, and it has been left to you.

The install instructions show the audience

Presidio is the standard open-source choice. It was built at Microsoft, is now governed by its community, and ships an image redactor that works well. To run it, you install the Python package and then Tesseract OCR separately. The docs say it was tested with version 5.2.0.

The medical-imaging variant warns that it redacts pixels but may leave personal data in the file's metadata. That is useful for a developer. For an HR manager with forty scanned employment contracts, it shows who the tool was written for.

Cloud vendors do the same at a higher price. Text extraction is one service and entity detection another. Connecting them, which is where mistakes happen, is left to you.

Acrobat leaves the difficult step to you

Most people trying this use Adobe Acrobat. You run Recognize Text on the scan, then Search & Redact. Recognition gives up on a low-contrast fax without a warning, and search misses a name whose letters ran together. No step reports an error, so you are the quality check.

We made the same assumption

We would rather write this as outsiders, but we made the same assumption in three places. We found them only because we measured.

First, our pipeline read a page as an image only if the image was big. A company name in a letterhead strip covers about half a percent of a page, so it was skipped. What matters is whether text is drawn over the image. If none is, the extractor cannot see what the image holds, at any size.

Second, the check for embedded images called a method our PDF library does not have. The error was hidden in a debug log. For as long as we used that version, the check answered "no images" to every page, including one that was 65% image.

Third, a user drew a box by hand over a scanned letterhead. Our editor read the text layer, found nothing in the box and captured nothing. All three bugs came from the assumption the rest of the market makes: we used the text and treated the image as someone else's problem.

Who pays for a silent miss

A tool that crashes costs you an afternoon. A tool that reports "no personal data found" on a page full of names gives a clean result. It moves the risk to someone who cannot check it.

The people with scans on their desks are rarely a bank's platform team. They are the two-partner law firm and the clinic scanning intake forms. Scans tend to be sensitive, and their holders are the least able to write the integration. An engineer who wires a pipeline wrong files a bug, but a person whose ID photocopy went out unredacted files a police report.

What changes when you build for them

The input changes: the tool works on the page as it is, pictures included. Text recognition moves inside the pipeline. If a hand-drawn box catches no words, the app reads that part of the page again, so a manual correction cannot silently do nothing.

Detected names become rectangles painted over the pixels, with a new searchable layer underneath. The details are in how to redact scanned PDFs and images. The parts are the ones Presidio's authors used, arranged for someone who will never open a terminal. They run on the machine where the document already sits, which matters for a photocopied passport.

Common questions

Why do redaction tools miss text inside images?

Most never look at the image. The entry point takes text, so a scanned page arrives with nothing to search and comes back with nothing found, without a warning.

Isn't that what Presidio's image redactor is for?

It is, and it works. It is also a Python package that expects you to install a text-recognition engine yourself, which few people holding scans can do. We compare engines in why we built our own engine instead of shipping Presidio.

Why does on-device matter more for scans?

Scans are often IDs, medical intake forms and signed agreements. Uploading one to have its secrets removed sends the secrets first, which is the risk when the document itself is the sensitive thing.

In short

Every piece needed to redact a scanned PDF has existed for years, built and priced for developers working on text. Putting the pieces together, where things go wrong,, was left to whoever held the file. That is usually someone at a front desk copying a document a stranger handed over. Careful redaction should be the default, not something that takes technical skill.

promptShield runs text recognition, detection and redaction on scanned PDFs and images on your own device. There is no package to install and no separate recognition step, and the document is not uploaded. Try it on the scan your current tool says is clean.

Found this useful? Let us know.

Share