New local model reaching near frontier on PII removal at 9 ms CPU inference

Reddit r/LocalLLaMA Papers

Summary

Introduces ScreenLeak, a benchmark for measuring PII redaction in computer-use AI data, and presents two local models (v45_phase3 for text and rfdetr_v8 for images) achieving near-frontier performance at low latency.

Hi all, I've been working on this model to strip sensitive information from computer use data and would love some feedback!
Original Article
View Cached Full Text

Cached at: 05/26/26, 12:25 AM

# ScreenLeak: the redaction bottleneck on computer-use AI Source: [https://screenpipe.github.io/screenleak/](https://screenpipe.github.io/screenleak/) *Louis Beaumont · 2026\-05\-11 \(revised 2026\-05\-25\) · code \+ data:[github\.com/screenpipe/screenleak](https://github.com/screenpipe/screenleak)* The next generation of AI agents — Anthropic’s Computer Use, OpenAI’s Operator, Google’s Project Mariner — needs computer\-use data to get better\. Screenshots, accessibility trees, OCR fragments, multi\-step traces\. That data is everywhere\. Almost none of it can be moved, shared, logged, or fine\-tuned on — every frame is full of names, emails, customer IDs, internal hostnames, API keys, channel names\.**PII is the bottleneck on the entire computer\-use research pipeline\.** The capability question —*can the agent book a flight, fill a form?*— has WebArena, OSWorld, GAIA, ScreenSpot\. The redaction question —*can today’s tools strip PII out so the data is shareable?*— has none\.**ScreenLeak is the missing measurement\.**Three surfaces, twelve systems, one taxonomy\. ## Headline — composite compliance coverage Each adapter scored on every surface where it operates\. Composite = geometric mean across the three — the weakest\-link compliance posture\. FrameworkText \(`v45\_phase3`\)Image \(`rfdetr`\)Trace \(`gpt5`\)**Composite**HIPAA91\.8%95\.8%76\.0%**87\.9%**GDPR90\.2%95\.2%68\.0%84\.5%CCPA90\.2%95\.2%68\.0%84\.5%SOC 288\.0%95\.7%68\.0%83\.9%PCI DSS88\.7%96\.8%78\.3%**87\.9%**DPDPA91\.6%95\.8%72\.0%86\.5%Same label\-subset dict \([`scoring/frameworks\.py`](https://github.com/screenpipe/screenleak/blob/main/scoring/frameworks.py)\) applied across all three sub\-benches\. Numbers are zero\-leak rates on the private val sets \(422 text · 221 image · 25 trace\)\. Full breakdown:[`results/framework\_coverage\.md`](https://github.com/screenpipe/screenleak/blob/main/results/framework_coverage.md)\. ## Per\-surface — three different problems, three different profiles ### 1\. They detect PII fine\. So can a 278 MB local model\. n=422 desktop telemetry strings \(window titles, AX nodes, OCR fragments\), hand\-labeled,**13 categories**\(the 13th,`private\_sensitive`, covers GDPR Art\. 9 / non\-Safe\-Harbor PHI\)\. 95 % bootstrap CI in brackets: ModelZero\-leakmacro\-F1**Gemini 3\.1 Pro****91\.0%**\(88\.1 – 93\.9%\)0\.847GPT\-5\.590\.7% \(87\.8 – 93\.6%\)0\.847Claude Opus 4\.787\.8% \(84\.1 – 91\.0%\)0\.809**`v45\_phase3`**⭐ local**86\.7%**framework\-avg0\.78`privacy\_filter\_ft\_v6`\(1\.4 B\)80\.9% \(76\.5 – 84\.9%\)0\.724Google Cloud DLP**37\.7%**0\.236Microsoft Presidio35\.4%0\.199Regex baseline33\.9%0\.565**`v45\_phase3`**is a 278 MB INT8 ONNX \(xlm\-roberta\-base fine\-tune\), 9 ms p50 on CPU, runs offline — within 5 points of frontier APIs at zero per\-call cost\. The two flagship commercial PII products \(Cloud DLP, Presidio\) barely beat regex — built for documents, not screen telemetry\. ### 2\. They can’t find PII in pixels\. A specialized detector can\. n=190 PII\-bearing screenshots of real\-shape apps\. IoU ≥ 0\.30\. 95 % Wilson CI in brackets: ModelZero\-leakOversmash**`rfdetr\_v8`**\(local, 28 M\)**95\.3%**\(91\.2 – 97\.5%\)0\.0%Gemini 3\.1 Pro4\.2% \(2\.1 – 8\.1%\)9\.7%GPT\-5\.53\.2% \(1\.5 – 6\.7%\)22\.6%Google Cloud DLP2\.6% \(1\.1 – 6\.0%\)19\.4%Tesseract OCR \+ 16 regex2\.6% \(1\.1 – 6\.0%\)3\.2%Claude Opus 4\.72\.1% \(0\.8 – 5\.3%\)35\.5%Microsoft Presidio0\.5% \(0\.1 – 2\.9%\)48\.4%Every frontier vision model sits under 5 %; CIs for Claude / GPT\-5\.5 / GCP DLP /`regex\_ocr`overlap — statistically indistinguishable on this sample size\. A 28 M\-parameter RF\-DETR \(DINOv2\-S \+ LWDETR head, 108 MB ONNX, ~ 66 ms p50 on Apple Silicon CoreML\) decisively separates\. Frontier vision can*name*what it sees — it can’t*draw boxes*tight enough to count at IoU 0\.30\. **One important caveat**: the val split is in\-distribution with the model’s training \(image\-disjoint, no leaked PNGs, but same source\)\. The 95\.3 % is an upper bound under matched conditions, not a real\-screen claim\. ### 3\. They detect, but they don’t withhold\. n=25 multi\-turn computer\-use traces, with PII injected into the agent’s observed screen content\. Did the agent emit the PII it just observed? ModelNo\-leak rateMean leaks/trace**GPT\-5\.5****64\.0%**\(44\.0 – 80\.0%\)0\.64Claude Opus 4\.736\.0% \(16\.0 – 56\.0%\)1\.12Gemini 3\.1 Pro Preview20\.0% \(4\.0 – 36\.0%\)1\.28**Every frontier model that detects text PII at \> 87 % accuracy fails to withhold it 36 – 80 % of the time when asked to summarize the screen\.**Per\-category:`private\_company`leaks 50 – 100 % across all three models; names 50 – 83 %; repo references 43 – 100 %\. The clean categories \(URLs, secret\-shaped strings\) are clean because every frontier model is trained hard to refuse`sk\-\.\.\.`/`Bearer \.\.\.`patterns\. Names of people, customers, project channels just flow through\. ## The pattern Three different problems, three different failure profiles: 1. **Text PII detection**is a recognition problem\. Frontier models are excellent recognizers — they win by 7 – 50 points over public PII\-redaction tools\. A 278 MB local fine\-tune closes the gap at 1 000× lower latency\. 2. **Image PII localization**is a grounding problem\. Frontier models can*name*what they see; they can’t draw tight boxes around it\. A small specialized detector \(RF\-DETR, 28 M params\) gets there at 95 %\+\. 3. **Trace PII withholding**is a behavioral problem\. The same 91 %\-text\-detection model leaks PII 80 % of the time when it observes that PII inside a task\. **Capability isn’t disposition\. Recognition isn’t refusal\.**That’s the gap\. Published safety documentation from Anthropic, OpenAI, and Google all name on\-screen disclosure as an open concern\. We measured the gap\. The data:[github\.com/screenpipe/screenleak](https://github.com/screenpipe/screenleak)\. ## Methodology, briefly - **Synthetic data only\.**No real PII, no real users\. All names / emails / phones / IDs / secrets are fictional\. Canonical placeholders where they exist \(e\.g\. SSN`123\-45\-6789`\)\. - **Pixel\-precise gold**on the image bench\. Comfortably within the IoU ≥ 0\.30 match threshold\. - **Strict gold integrity**— every gold item is verified to appear verbatim at injection time\. CI enforces\. - **CIs\.**95 % bootstrap on text \+ trace, 95 % Wilson on image\. n=25 on trace, n=190 on image, n=345 on text — trace CIs are wide; ranking is directional, not decisive\. - **Shared framework dict\.**[`scoring/frameworks\.py`](https://github.com/screenpipe/screenleak/blob/main/scoring/frameworks.py)is the single source of truth for HIPAA / GDPR / CCPA / SOC 2 / PCI DSS / DPDPA across all three sub\-benches\. Full methodology, threat model, limitations, and per\-category breakdowns are in the repo\. ## FAQ — the questions careful readers ask first **“How do I know you didn’t train on the val set?”**Train/val splits are exclusive and verified in CI\.`rfdetr`’s 95\.3 % is**in\-distribution recall**\(held\-out images, same source\), explicitly an upper bound, not a real\-screen claim\. See`LIMITATIONS\.md`\. **“Did you cherry\-pick frontier\-model versions?”**No: we benchmarked the latest production model from each lab at run time \(`claude\-opus\-4\-7`,`gpt\-5\.5`,`gemini\-3\.1\-pro\-preview`\)\. Env vars let you re\-run against any other version\. **“Why is RF\-DETR allowed to be trained on the bench distribution?”**Because that’s the*deployable solution*\. The bench asks “can today’s tools redact PII from screen telemetry?” — a small in\-distribution detector is a legitimate answer\. The 90\-point gap vs frontier vision is load\-bearing; the absolute 95\.3 % is bounded by in\-distribution status\. Frontier models / GCP DLP / Presidio were*not*trained on this distribution — they’re the genuine zero\-shot baseline\. **“Why three sub\-benches?”**Because the failure modes separate\. A model can ace text\-PII at 91 % and leak in 80 % of traces\. Single\-bench framings miss the gap\. **“How do labs / red teams get the full corpus?”**Email`louis@screenpi\.pe`with a one\-paragraph use case\. Signed access agreement: \(a\) corpus is for evaluation, not training; \(b\) you share back any published results so the leaderboard stays honest\. No fee\. ## What this is not - **Not a capability benchmark\.**A model that refuses to do anything will score 100 % no\-leak and be useless\. Use WebArena / OSWorld / GAIA for capability\. - **Not a vendor pitch\.**Scoring code \+ sample corpus are Apache 2\.0 / CC\-BY 4\.0\. The full val sets sit in a private companion repo to prevent contamination of future evaluations, not for monetization\. - **Not exhaustive\.**v0 ships 25 trace val cases, 422 text cases, 221 image val cases\. Numbers are directional\. v0\.1: adversarial prompt\-injection split, larger trace corpus, image bench category coverage, multilingual, more adapters\. ## Run it yourself ``` git clone https://github.com/screenpipe/screenleak cd screenleak && make install export ANTHROPIC_API_KEY=... OPENAI_API_KEY=... GOOGLE_API_KEY=... make bench-text ADAPTER=claude # or: gpt5, gemini, v45_phase3, gcp_dlp, regex, … make bench-image ADAPTER=rfdetr # or: claude, gpt5, gemini, regex_ocr, … make bench-trace ADAPTER=claude # or: gpt5, gemini # Per-compliance-framework breakdowns python text/src/framework_coverage.py --adapter v45_phase3 gcp_dlp regex python image/src/framework_coverage.py --adapter rfdetr ``` Adapter shape is documented in[`CONTRIBUTING\.md`](https://github.com/screenpipe/screenleak/blob/main/CONTRIBUTING.md)\. PRs that add new models welcome\. ## Cite this ``` @misc{screenleak2026, title = {ScreenLeak: A Multi-Modal Benchmark for PII Redaction in Computer-Use AI}, author = {Beaumont, Louis}, year = {2026}, howpublished = {\url{https://github.com/screenpipe/screenleak}}, } ``` --- *Louis Beaumont \(Screenpipe\) —`louis@screenpi\.pe`*

Similar Articles

Local models in mid-2026

Reddit r/LocalLLaMA

A technical overview of the state of local AI models in mid-2026, highlighting how open-weight models have narrowed the gap to frontier models through advances in mixture-of-experts and sparse attention, enabling efficient local inference.

Localmaxxing (3 minute read)

TLDR AI

The article analyzes the viability of running AI inference locally on a MacBook Pro, comparing a local Qwen 35B model against the cloud-based Claude Opus 4.5. It concludes that local models are 2x faster for routine tasks, making them a practical choice for half of daily workloads despite a slight capability gap.

Best local model for vision - 2nd benchmark update - 21 Jun 2026

Reddit r/LocalLLaMA

This post presents the second update of a benchmark for local vision language models, comparing 23 models across 30 images with revised settings, and provides performance recommendations for different VRAM tiers. Key findings include that thinking mode hurts vision performance and that MoE models underperform dense models for perception tasks.