← DocRedact.in

How it works

DocRedact.in is a zero-server redactor. No file you drop on the page ever leaves your browser tab. Here is the full pipeline.

Pipeline

Your browser tab
  ├── File drop / 📷 Take Photo
  ├── PDF ? → pdf.js rasterize each page to canvas (3x for auto-detection)
  │   Image ? → draw to canvas
  ├── Parallel:
  │     ├── Tesseract.js OCR (English, WASM, lazy)
  │     ├── MediaPipe BlazeFace (short + full range, WASM, lazy)
  │     └── zxing-wasm QR scan (lazy)
  ├── Regex + Verhoeff:
  │     ├── Aadhaar (12 digit + Verhoeff check → mask first 8)
  │     ├── PAN (AAAAA9999A + entity-code check)
  │     └── Passport MRZ (ICAO 9303, Indian country code)
  ├── Review toggles → you choose what actually masks
  ├── Canvas mask render:
  │     └── Solid black rectangles for every masked region (text, QR, face)
  └── pdf-lib: JPEG embed each flattened page → image-only PDF → download

No network hop between any of these steps carries document data.

Open source

The full source is at github.com/shadab127/doc-redact-in, licensed under AGPL-3.0-or-later. The key source files to look at if you want to verify the privacy story yourself:

What gets loaded from the network

Three categories of static asset are fetched, all same-origin from Cloudflare Pages:

Cloudflare Web Analytics sends one small beacon per page view to a Cloudflare-hosted endpoint. It contains a page URL and a referrer, and is cookie-free. You can see these requests in DevTools — they do not carry any part of your document. Loading the page alone does not load all detection assets. Offline use requires those assets to be loaded and available in your browser cache.