openclaw
← All products
Compliance & Legal

journalist-toolkit

Investigative journalism toolkit: FOIA-request drafter + PII redaction

Get startedSource on GitHub

Documentation

journalist-toolkit

Investigative journalism toolkit: FOIA-request drafter + PII redaction for source-protected reporting. All inference is LOCAL Qwen. Investigation contents never leave the journalist's network.

⚠️ Hard-coded compliance

foia.py REFUSES to run unless JOURNO_LLM_URL resolves to a local network address. Source identities and investigation contents must NOT reach a cloud LLM.

Pricing

  • $19/mo individual journalist (FOIA drafts + redaction)
  • $99/mo small newsroom (5 journalists, shared FOIA template library)
  • $1,499/mo full newsroom (custom redaction policies, on-prem deploy)

What it does

  • FOIA drafter: federal + state public-records requests, properly formatted with statutory citations + fee-waiver language
  • PII redaction: regex (phones, emails, SSN) + Qwen NER (names); custom-term list takes priority

Run

cd C:\openclaw-products\journalist-toolkit
python -m venv .venv
.\.venv\Scripts\activate
pip install -e .

# Ensure Ollama is running locally (default http://localhost:11434)

journo foia --agency "Department of Education" --jurisdiction federal \
            --records "All emails between Secretary X and Y on topic Z, Jan-Mar 2025" \
            --date-range "Jan 1 2025 to Mar 31 2025" \
            --requester '{"name":"Jane Doe","outlet":"Local Tribune","email":"jane@trib.example"}' \
            --out drafts/foia-001.md

journo redact source-interview.txt --custom "Maria,Carlos" --use-qwen --out redacted.txt

Roadmap

  • PDF redaction (visual black-box overlay, not just text)
  • State-specific FOIA templates for all 50 states
  • Encrypted-at-rest source notes
  • OnionShare integration for receiving anonymous tips
  • Bates-stamping for produced documents
  • Cross-document entity linking (mention-X-on-page-N tracking)