Permanently black out text or images. Unlike a highlighter or a black box drawn on top, the covered content is actually removed: the page becomes an image with the sensitive parts deleted. Every save is checked, and if the removal cannot be confirmed the file will not be produced. The file never leaves your browser. Run Remove Hidden Data afterward to also strip metadata.
True redaction by rasterize-and-burn: marked pages are rendered to images with the redacted regions overwritten and the original text/vector layer dropped. Post-save verification re-extracts text (must be empty on redacted pages) and pixel-samples each box (must be opaque), or the download is blocked.
pdf.js render at 200 DPI, canvas fillRect over viewport-mapped rects, pdf-lib embedPng replacing the page (no text layer retained). verifyRedaction() re-extracts getTextContent (asserts empty) and samples box-center pixels (asserts black) before download. Pair with pdf-sanitize for metadata. No network.
Redacted pages become images: their text stops being selectable and the file gets larger. That is how the content is truly removed. Metadata is not touched here; run Remove Hidden Data before sharing.