Most extractors return empty text for a page and still report success. Certify Anything audits any engine’s output against the source PDF — page by page — and tells you exactly which pages came back empty. Free, MIT, runs on your machine.
Upload a PDF and pdfmux re-derives the source text with its own audit pass, then scores every page: usable, silently‑empty, or recovered. Nothing is stored — the file is audited and discarded.
A 12-page government RFP run through a typical extractor. It returned five pages of text, reported success, and shipped — while pages 6–12 came back completely empty. Here is the exact pdfmux verify report that caught it.
| Page | Status | Coverage | Confidence |
|---|---|---|---|
| 1 | usable | 100% | 100% |
| 2 | usable | 100% | 100% |
| 3 | usable | 100% | 100% |
| 4 | usable | 100% | 100% |
| 5 | usable | 100% | 100% |
| 6 | silently‑empty | 0% | 0% |
| 7 | silently‑empty | 0% | 0% |
| 8 | silently‑empty | 0% | 0% |
| 9 | silently‑empty | 0% | 0% |
| 10 | silently‑empty | 0% | 0% |
| 11 | silently‑empty | 0% | 0% |
| 12 | silently‑empty | 0% | 0% |
Sample report — a real pdfmux verify run on the first 12 pages of a public government RFP, with an extraction that returned pages 1–5 and nothing for the rest. The verifier will not cry “silent drop” when a page’s content is merely re-paginated: it re-derives the source and checks that the content is genuinely absent before flagging it.
We ran pdfmux across 433 of our own customer PDFs. The first pipeline lost 16 of them — and 11 of those losses had no error at all: empty output, “all done,” a CSV that quietly went out missing 11 products. That is the exact failure this page detects. After routing every page through the audit gate, the second run processed all 433 with zero silent losses.
Source: the ARK chemical-PDF batch retro (April 2026), the single real-world benchmark we stand behind. A page that reports success and returns nothing is worse than a page that errors — the error you catch; the silence you ship.
The web tool audits one PDF. The CLI audits a batch, gates CI on a clean verdict, and never leaves your machine.
pip install pdfmux && pdfmux verify yourfile.pdf
copy
# audit one engine's output against the source pdfmux verify --source report.pdf --extracted reducto_output.json # audit a whole batch, fail CI unless every page is accounted for pdfmux verify --source ./pdfs/ --extracted ./out/ --strict # -> exit 3 if any document silently dropped a page