Check a redaction before you send it — without uploading it
Find what a black box, an earlier version or a hidden field still holds — on your device, because uploading the file would be the leak.
Free: checking uses no job. Sanitize counts as 1 of 3 daily jobs, and PDF exports include a visible Made with Bindery watermark. Pro exports clean PDFs.
Prefer the full studio? Open Leak Check in the app →
A redaction can look perfect and still leak. The black box may sit on top of text that is still in the file; an earlier version may be saved inside the current one; a hidden form field, a switched-off layer or an object left over from a replaced page may hold what the page no longer shows. Leak Check opens the PDF in your browser and looks in each of those places: earlier saved versions, orphaned objects, text covered by a box, a picture or an annotation, text too small to see or placed off the page, redaction marks never applied, hidden field values and layers, page thumbnails, bookmark titles, metadata, attachments and scripts. Covered text is judged from the rendered page: the area under each word is measured, so a word that shows none of its ink is reported, whether a box, a picture, an annotation or a white fill hides it.
Findings are listed by severity, each with its page and a snippet masked to the first and last character of each word, so the list shows where the leak is without repeating it in full. A finding is high when the recovered text contains personal data such as an email address, a Social Security number or a card number. Fix in Redact opens Redact with a box already drawn on every finding that has a place on a page; Sanitize removes what needs no box, and the file is checked again. When nothing is found, the result reads “none of N checks found recoverable content” — a statement about those checks, not a promise about the file. Checking uses no job, and the file is never uploaded.
How it works
- Drop the PDF you are about to send, or one you received, and open Leak Check
- Read the findings by severity: the type, the page, a masked snippet and the fix for each
- Fix in Redact or Sanitize, check the result again, then download it and the plain-text report
What Leak Check looks for
Leak Check reads a PDF two ways: it renders every page as a viewer would, with annotations and form fields drawn, and it reads the parts of the file no viewer draws. The report names every check it ran, and each finding carries its type.
| Check | What it finds | How it is checked | Fix |
|---|---|---|---|
| Earlier saved versions | Text in a version of the file saved before the last edit. An incremental save appends the changes and keeps the old version inside the file. | The end-of-file marker of every save is found in the bytes, leaving out the extra one a fast-web-view file has near its start; each earlier version is opened and its lines compared with the current version’s, page by page | Sanitize — the file is written as one version (this invalidates digital signatures) |
| Orphaned objects | Pages, text and pictures that nothing in the file uses any more, often left behind when pages were replaced or deleted | Every object that cannot be reached from the document; text is read from its content streams and pictures are counted | Sanitize — unreachable objects are dropped |
| Covered text | Words under a black box, a picture or an annotation, drawn white on white, or set invisible | Each page is rendered with its annotations, and the area under every word is measured; a word whose area shows none of its ink is reported | Fix in Redact, with a box already drawn over each word |
| Tiny or off-page text | Text under 1 point high, or placed outside the page where no viewer shows it | The size of every text item and its position against the visible page | Fix in Redact (the page is re-rendered, which drops text outside it) |
| Unapplied redactions | Redaction marks made in another editor but never applied, so the text under them is still there | Every redaction annotation on every page | Fix in Redact, which removes the marked text |
| Hidden form field values | Values held in fields no viewer shows — hidden, set not to display, of zero size or placed off the page — including a value a field takes from its parent. A field with a visible widget is not reported. | Every field whose widgets are all hidden | Sanitize — the value, its default and rich-text copies, and the hidden appearance that draws it are removed |
| Hidden layers | Content on optional layers that are off in the document’s default view, which viewers leave out unless someone switches the layer on | The layer settings, including files where every layer is off unless listed as on, and layers whose visibility follows a rule | Sanitize, where it can cut the content out cleanly; otherwise the notes say so, and redacting the page removes it, since a re-rendered page leaves hidden layers out |
| Page thumbnails | Small page images stored in the file, which can still show a page as it looked before it was edited | Every page’s thumbnail entry | Sanitize |
| Bookmark titles | Bookmark titles that contain personal data, such as an email address or an ID number | Every bookmark title, checked against the personal-data patterns | Reported for you to review |
| Metadata | Author, title, the software used and other document properties, and the XMP packet that often repeats them | The document properties and the XMP packet | Sanitize |
| Attachments | Files embedded in the PDF — in its attachment list, as attachment annotations on a page, or as associated files | The attachment list, every annotation, and the associated files of the document, its pages and annotations | Sanitize |
| JavaScript and actions | Scripts and actions that run when the file opens, a page shows, a field changes, or a link or bookmark is clicked | Document, page, field, annotation and bookmark actions | Sanitize (a dynamic XFA form keeps its scripts, and the notes say so) |
Severity, and what the list shows
Every finding has a type, a page where it has one, a masked snippet and a severity.
- High: the recovered text contains personal data the patterns recognise — email addresses, US Social Security numbers, card numbers that pass the checksum, valid IBANs and dates of birth written next to a label. Phone numbers are left out: too many ordinary numbers look like one.
- Medium: other hidden text, and orphaned images.
- Low: metadata or thumbnails with no personal data found in them.
Snippets are masked word by word: the first and last character stay and the rest become dots, so “Jane Roe” shows as “J••e R•e”, and words of one or two characters are masked completely. The list shows where the leak is and does not repeat it in full, though the first and last characters and the length of each word still show. The downloaded report uses the same masking — apart from the file name, it contains masked snippets only — and when nothing is found it says “none of N checks found recoverable content”, with N the number of checks run.
Fixing what it finds
Three actions sit under the findings.
- Fix in Redact opens Redact with a box already drawn over every finding that has a place on a page: covered text, tiny or off-page text and redaction marks never applied. Check the boxes, add any Leak Check could not place, and apply. Marked pages are re-rendered as flat images, so the text is removed, not hidden — including text placed outside the page, which a re-rendered page leaves out.
- Sanitize and re-check removes what needs no box: earlier versions, orphaned objects, thumbnails, hidden field values, metadata, attachments and scripts. The file is written as one version and checked again, and the counts before and after are shown side by side.
- Download report saves the findings as plain text, masked, with a SHA-256 fingerprint of the file checked and, after a fix, of the fixed copy.
Checking uses none of the 3 free daily jobs. Sanitize counts as one and the check that follows it is free; on the free plan the sanitized PDF carries the small “Made with Bindery” line. Redacting counts as a job of its own.
What it cannot see
- Pictures. Leak Check does not look inside images. A box drawn over part of a photo or a scanned page hides pixels that stay in the picture underneath, and no check here sees that. Redact removes them, because a redacted page is re-rendered as one flat image.
- Scans without text. Words that are part of a scan are pixels, not text, so only the checks that read the file’s structure apply: earlier versions, orphaned objects, unapplied redactions, fields, layers, thumbnails, bookmark titles, metadata, attachments and scripts.
- Text a picture covers only in part. Covered text is judged from the rendered page. When a picture or a box hides only part of a word’s area, the rest still shows ink, and the word counts as visible.
- Faint text. Text printed very light on purpose, such as a pale watermark or a light grey footer, shows little contrast and can be reported as covered even though you can see it. Look at the page before boxing it.
- Comments. The text of sticky notes and other comments is not checked. Flatten with annotation removal strips them.
- What the page plainly shows. Leak Check finds what is hidden; it does not decide what should have been redacted. Names are not among the personal-data patterns, so a leaked name is rated medium — read every finding, not only the high ones.
- Other copies. A draft sent earlier, a copy in shared storage, the unredacted original: checking this file says nothing about them.
Checking in the browser versus uploading
| Leak Check | Bindery | Upload-based tools |
|---|---|---|
| Where the file is processed | In your browser tab, on your device | Uploaded to the service’s servers |
| The file | Opened, rendered and checked on the device | Uploaded in full, with whatever it leaks |
| Findings | Type, page, masked snippet and severity; a plain-text report | Varies |
| Fixes | Redact with the boxes drawn, or Sanitize, then a second check | Varies |
| What exists afterwards | The original and the new file, both on your device | A server copy until the retention window ends |
| Works offline | Yes, once the app has loaded | No |
Where it fits
- After redacting: Redact removes the text under its boxes by re-rendering those pages. Leak Check then looks at the rest of the file — earlier versions, other pages, fields, layers, attachments — for what the boxes did not reach.
- For a portal: Upload-ready checks a destination’s rules, such as size, locks, fillable fields and scripts, and flags identifiers in the page text for Redact. Leak Check looks for what the page does not show. Run it on the file you will actually upload.
- Before certifying: sanitize first, then certify. Writing one version invalidates signatures made on an earlier one, and Verify signatures shows which version each signature covers.
The security checklist before sending puts these steps in order.
Questions people ask
Is my PDF uploaded to be checked?
No. The file is opened, rendered and checked in your browser tab, and a sanitized copy is written there too; nothing is sent anywhere, which matters most for exactly the files you would check. Checking uses none of the 3 free daily jobs. Sanitize counts as one, and on the free plan its copy carries the small “Made with Bindery” line. A password-protected PDF asks for its password first. The sanitized copy is written without the password, so use Protect again before sending it.
What does Sanitize remove, and what does it leave?
It writes the file as a single version, so earlier saved versions go, and it drops objects nothing uses any more, page thumbnails, the values of hidden form fields with the hidden appearance that draws them, document metadata including the XMP packet, attachments and JavaScript (a dynamic XFA form keeps its scripts, and the notes say so). Content on a hidden layer goes only where Sanitize can cut it out cleanly; otherwise the notes say so, and redacting that page removes it. Sanitize leaves the visible page alone: covered, tiny and off-page text and redaction marks never applied go to Redact, which removes the text rather than hiding it. Writing one version also invalidates any digital signatures, since each covers an earlier version, so sanitize before signing, not after.
What does “none of N checks found recoverable content” mean?
That each check the report lists ran and found nothing of what it looks for. It is not a promise that nothing sensitive is in the file: what is plainly visible on the page is for you to read, and some hiding places are beyond these checks, such as words inside a picture or text a picture covers only in part. Apart from the file name, the report you download contains masked snippets only. Rename the file first if its name is itself sensitive.
Will an OCR’d scan be reported as hiding text?
OCR lays an invisible text layer over a scan on purpose, so the page can be searched and copied. Leak Check expects it: where the rendered page shows the printed words under that layer, they are not reported as covered text. Where the layer runs over a blank or flat area — a word the scan lost, or a box drawn on the scan — it is reported, which is worth a look. A scan with no text layer has nothing for the text checks to read, so only the checks of the file’s structure apply.
What is a redaction mark that was never applied?
Some editors redact in two steps: you mark the text, then apply the marks. Until they are applied, each mark is an annotation drawn over the page and the text underneath is still in the file. Leak Check lists every one with its page. Sanitize deliberately leaves them, because dropping a mark would not remove the text; Fix in Redact boxes those areas instead, and the marked pages are re-rendered without it.
Can I check a PDF I did not make?
Yes. Leak Check reads any PDF you can open, so it works on a file someone sent you before you forward it, publish it or add it to a bundle — a redacted exhibit, a released document, a form returned by a client. A password-protected file asks for its password first. If it finds something in a file you received, tell whoever sent it: Sanitize or Redact fix your copy, not theirs.