Menu

#181 feat(screenpipe): enable async PII redaction worker

open
nobody
enhancement (7)
2026-06-06
2026-06-06
Anonymous
No

Originally created by: adityaharishch

Background

--use-pii-removal is already enabled in the screenpipe launchd plist and covers inline regex-based scrubbing at capture time (credit cards, SSNs, emails, phones, IPs, JWT tokens, API keys for Anthropic/OpenAI/Google/HuggingFace/GitHub/Stripe, connection strings with embedded passwords).

What this issue tracks

Add --async-pii-redaction to the screenpipe launch arguments as a belt-and-braces second pass. This background worker runs after capture and overwrites already-stored PII in ocr_text, audio_transcriptions, and ui_events columns — catching anything the regex pass missed.

Decisions needed before implementing

  1. Backend choice: --pii-backend local (on-device ONNX, private by construction, slower on weak hardware) vs --pii-backend tinfoil (screenpipe-hosted confidential-compute enclave on H200, fast, requires network)
  2. Redaction labels: default is secret only — consider expanding to email,phone,person,address depending on user privacy requirements
  3. Image PII (--async-image-pii-redaction): blacks out PII regions in captured JPGs — requires rfdetr_v11.onnx at ~/.screenpipe/models/ and a screenpipe build with an onnx-* cargo feature; not available in the current npm build

Implementation

  • Add --async-pii-redaction --pii-backend <chosen> to the ProgramArguments in scripts/install-screenpipe-daemon.sh (the plist template)
  • Optionally add --pii-redaction-labels <labels> to expand beyond the secret default
  • Update meridian doctor to surface a warning if the async worker flag is absent (nice-to-have)

Discussion


Log in to post a comment.