Verdict
Decision
Choose Philter UCSF when its documented boundary matches the job.
Philter UCSF fits the clinical-note subset of local text de-identification. The cited sources describe it as a locally deployable redaction option. Choose it when clinical-note de-identification is the job. Its clinical-domain focus does not establish quality for general chat or email.
Setup
Start by confirming deployment and the data path.
Confirm this setup detail before you build a routine: Local Python command-line package. Then verify the processing boundary — Configurable filtering pipeline with optional evaluation annotations — and keep the first sample low-risk until the account, device, or runtime behavior matches the source description.
Workflow
Workflow: remove protected health information from clinical plain text.
Use Philter UCSF to remove protected health information from clinical plain text. Customization is described as filter configuration and input/output paths. Keep the workflow small enough to review its output and control settings; the cited sources do not establish a universal quality or speed result.
Alternatives
Compare Philter UCSF by the constraint that decides the work.
The five-guide table retains the current guide and four siblings in the locally deployable text redaction group. Values come from the cited source cells; an Unknown cell means the sources did not support a stronger statement.
| Guide | Workflow | Deployment | Input | Entry cost | Method | Customization | Limitation |
|---|---|---|---|---|---|---|---|
| OpenAI Privacy Filter | Model-based text redaction with a local CLI and Python API. | Local CPU or GPU; checkpoints downloaded if absent. | Text strings, files and pipes. | Open repository; compute and operational costs remain. | Token classification with span decoding. | Runtime precision/recall presets, evaluation and fine-tuning commands. | Validate detection on the target corpus; community scores change with matching criteria. |
| Presidio | PII identification followed by configurable anonymization. | Python module or self-hosted HTTP service/container. | Text and detected entity spans. | Open-source deployment; self-hosting/integration cost separate. | Analyzer plus separate anonymizer operators. | Replace, mask, redact or encrypt; reversible operators need corresponding metadata and keys. | Anonymizer acts on supplied detections; missing detections are not repaired by replacement. |
| scrubadub | Replace personally identifiable spans in free text. | Python package invoked inside local scripts. | Free-text strings. | Apache-2.0 software; dependency and operation costs separate. | Detectors identify spans; postprocessors control replacement. | Optional address, spaCy and Stanford detector packages; locale configuration. | Extra detector dependencies are needed for some entity types. |
| Limina on-premises | Detect and de-identify sensitive data; this comparison covers text. | Container in customer on-premises environment or VPC. | Text; product also supports documents, images and audio. | Enterprise custom pricing; free hosted Starter is not the local-deployment price. | Commercial entity detection and de-identification engine. | Enterprise model-version pinning and guided integration/tuning. | Local availability and commercial terms require vendor agreement. |
| Philter UCSF | Remove protected health information from clinical plain text. | Local Python command-line package. | Plain-text file or directory of clinical notes. | BSD-3-Clause software; integration and compute separate. | Configurable filtering pipeline with optional evaluation annotations. | Filter configuration and input/output paths. | Clinical-domain focus; general chat/email quality is not established. |
Review signal
Independent context for Philter UCSF is bounded.
UCSF authors / JAMIA Open (A certified de-identification system for all clinical text documents) reports: The available paper summary discusses the clinical system’s development and precision concerns. Limit: No numeric result from this paper was independently verified for this guide. These signals add context, but they do not establish comparative performance.
- UCSF authors / JAMIA Open: The available paper summary discusses the clinical system’s development and precision concerns. (No numeric result from this paper was independently verified for this guide.)
Caveats
Keep the source boundary visible while you decide.
The current cited cost statement is: BSD-3-Clause software; integration and compute separate. Privacy or processing control is described as: Privacy controls are not fully described in the cited sources. The principal product boundary is: Clinical-domain focus; general chat/email quality is not established. These are source-qualified statements, not an installation result, benchmark, security audit, or retention guarantee.
- The paper summary provides clinical context, but no independently verified numeric result supports a performance comparison here.
- Repository and published system versions may differ. No claimed compliance certification or accuracy number.
First check
Make the first adoption check specific to Philter UCSF.
Run a labeled sample from the target corpus through detection and replacement, then inspect misses, over-redaction, and logs before sending real data through the pipeline.
Receipts
Claim table
| Where | Claim | Confidence | Source | Caveat |
|---|---|---|---|---|
| Workflow | Remove protected health information from clinical plain text. | High | UCSF / BCHSI | Source-qualified product description; no independent performance test was run. |
| Setup | Local Python command-line package. | High | UCSF / BCHSI | Source-qualified product description; no independent performance test was run. |
| Setup | Plain-text file or directory of clinical notes. | High | UCSF / BCHSI | Source-qualified product description; no independent performance test was run. |
| Decision | BSD-3-Clause software; integration and compute separate. | High | UCSF / BCHSI | Observed source wording; regional pricing, billing cadence, and future plan changes are not inferred. |
| Workflow | Configurable filtering pipeline with optional evaluation annotations. | High | UCSF / BCHSI | Source-qualified product description; no independent performance test was run. |
| Workflow | Filter configuration and input/output paths. | High | UCSF / BCHSI | Source-qualified product description; no independent performance test was run. |
| Caveats | Clinical-domain focus; general chat/email quality is not established. | Medium | UCSF / BCHSI | This is a scope inference; published clinical results do not establish quality on general chat or email. |
| Review signal | UCSF authors / JAMIA Open reports: The available paper summary discusses the clinical system’s development and precision concerns. | Medium | UCSF authors / JAMIA Open | No numeric result from this paper was independently verified for this guide. |
Sources
How this was built
| Publisher | Source | Type | Accessed |
|---|---|---|---|
| OpenAI | Privacy Filter repository and CLI | Official | 2026-10-18 |
| Data Privacy Stack | Presidio overview | Official | 2026-10-18 |
| Data Privacy Stack | Presidio Anonymizer | Official | 2026-10-18 |
| LeapBeyond | scrubadub README and license | Official | 2026-10-18 |
| scrubadub maintainers | scrubadub stable documentation | Official | 2026-10-18 |
| Limina | Pricing and deployment FAQ | Official | 2026-10-18 |
| UCSF / BCHSI | Philter UCSF README | Official | 2026-10-18 |
| Gaurav Vij / GitHub | GLiNER large-v2.1 vs Privacy Filter case study | Community | 2026-10-18 |
| UCSF authors / JAMIA Open | A certified de-identification system for all clinical text documents | Review | 2026-10-18 |