free · open source · 100% local

Black-Bar

Drop a document, get a redaction that is verified extraction-safe — sensitive text removed from the file, not just covered. Nothing leaves your machine.

pdf · docx · pptx · xlsx · html · markdown · images   /   100% local   /   no telemetry   /   no cloud

Black-Bar review workspace showing detected proposals, black redaction bars on the document, and the redacted preview.
review workspace · localhostverified safe

The redaction

Removal,
not covering.

A black rectangle drawn on top is not a redaction — the words are still in the file, one copy-paste away. Black-Bar deletes the underlying text from the document, destroys image pixels under every box, and scrubs metadata and hidden carriers (field codes, comments, tracked changes).

Then it checks its own work: every export is re-read by independent extractors. If anything you accepted can still be recovered, the export is refused.

settlement_agreement.pdf ✓ verified safe
Before
This Agreement is between Marcus Webb of Acme Holdings LLC for the sum of $2,450,000.00, dated March 14, 2025.
After
This Agreement is between Marcus Webb of Acme Holdings LLC for the sum of $2,450,000.00, dated March 14, 2025.

Text deleted from the content stream · copy-paste recovers nothing.

The app

Upload. Detect. Review. Verify.

A local web app you run on your own machine. Drop a document; detection proposes every sensitive span, grouped by category. Accept, reject, draw your own boxes — then export, gated by the safety check.

Want a taste first? View the sample walkthrough → — it is not the real redactor. Real documents run in the localhost app.

127.0.0.1:8000 · blackbar (local)
Black-Bar review workspace: proposals grouped by category on the left, the document with live black redaction bars in the middle, and the server-rendered redacted preview on the right.
01

Nothing redacts until you say so

Every detection is a proposal. Accept or reject each one, resize boxes, or redact every occurrence of any term with one click.

02

See exactly what ships

A server-rendered preview shows the real redacted output beside the original — what you review is byte-for-byte what you export.

03

A manifest you keep

Each export writes a JSON manifest: input/output hashes, every proposal and your decision, and the verification verdict.

Built for confidential work

Quietly thorough
where it counts.

Every document you handle

PDF, Word, PowerPoint, Excel, HTML, Markdown, and images. Scanned pages and images embedded inside documents are OCR'd locally and redacted too.

Found in seconds, no AI

Names, parties, addresses, emails, phones, amounts, dates, SSNs, cards, IBANs, matter IDs — checksum-validated where it counts. A long contract scans in seconds.

True visual redaction

Content is removed from the file and image pixels destroyed under each box — never a rectangle drawn over recoverable text.

Verified, not promised

Independent extractors (and a re-OCR pass for scans) confirm accepted text is gone. If it isn't, the export is refused and destroyed.

Readable replacements

Optionally swap each entity for a stable, realistic fake — entity-linked so the same original maps to the same fake everywhere and the document still reads for downstream AI.

Nothing leaves your machine

No telemetry, no accounts, no cloud. Deep Scan is optional local detectors only (Presidio / GLiNER). Non-English names (Korean · Japanese · accented Latin) when the multilingual model is installed.

Engine

Deterministic by default.
Optional local AI.

Detection is regex recognizers + contract-structure extraction + spaCy NER + your watchlist — fast, repeatable, and entirely offline. For messy or unusual documents, one button adds optional local PII / zero-shot NER (Presidio or GLiNER if installed). No cloud models.

Regex · Structure · NER Default seconds · no cloud AI · no network · + optional Presidio / GLiNER

Two ways to run it

Careful review,
or one command.

The review app is the intended workflow for real redactions. For batch or scripted runs, the same pipeline — and the same safety gate — runs headless.

Review appHeadless CLI
How you run itredactor serve → localhostredactor redact file
Human reviewAccept / reject each spanAccepts all detections
Best forCareful one-off redactionsBatch & scripted runs
FormatsAllAll
Extraction-safety gateAlwaysAlways
Runs locallyYesYes

Run locally

~15 minutes.
Files never leave this machine.

One supported path for real confidential work: install on your Mac or PC, open localhost, review every finding, export a verified redaction. Python 3.10+ · Node 18+ · LibreOffice for Office proofs · tesseract optional for scans. Full guide: docs/LOCALHOST.md.

1

Set up once (clone, venv, model, UI build).

git clone https://codeberg.org/russkysong/black-bar.git
cd black-bar
python3 -m venv .venv
.venv/bin/pip install -e '.[dev]'
.venv/bin/python -m spacy download en_core_web_md
cd frontend && npm install && npm run build && cd ..
.venv/bin/redactor doctor
2

Run the review app — this is the path for counsel-grade work.

.venv/bin/redactor serve
# open http://127.0.0.1:8000
3

Upload → review → export. Prefer the redacted PDF for cloud AI. Never share the pseudonym legend.

.venv/bin/redactor redact contract.pdf   # headless accept-all only