← 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 (2x)
  │   Image ? → draw to canvas
  ├── Parallel:
  │     ├── Tesseract.js OCR (English, WASM, lazy)
  │     ├── face-api TinyFaceDetector (WASM, lazy, threshold 0.6)
  │     └── 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/shadabkhan/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.