PDF Covering
A browser-based PDF redaction tool that lets users draw opaque rectangles over sensitive data in government documents, built with vanilla JavaScript.

PDF Covering loads PDFs and renders them directly in the DOM so users can draw black rectangles over any region that contains personal information. It was built to help comply with federal transparency laws that require publishing government documents with sensitive data obscured.
How it works
The app is intentionally vanilla JavaScript — no frameworks — to keep it small and embeddable in larger document-management workflows. PDFs are rendered to an HTML canvas layer, and a second overlay canvas captures the user's rectangles. On export, the overlay is composited back onto the PDF page so the redactions become part of the published file.
What I learned
- Working directly with canvas coordinates, pointer events, and hit-testing.
- Reading and rewriting a PDF's page stream to bake annotations into the file.
- Keeping a tool dependency-free so it can live inside a bigger CMS pipeline.