Feature explainer · April 2026

Privacy filter

Remove personal info from your screen data before it reaches any AI model — inside an enclave you can verify didn't store, log, or leak anything.

What it does

When the Privacy toggle in chat is on (the shield icon next to the send button), every piece of text Screenpipe pulls from your screen — OCR of what you're reading, audio transcripts, accessibility text, memory notes — is run through a privacy filter before it's shown to the AI you're chatting with.

The filter replaces personal info with placeholders:

Before:  "email louis.beaumont@gmail.com about the Stripe invoice for 555-1234"
After:   "email [EMAIL] about the Stripe invoice for [PHONE]"

Currently detected:

Why it's different from a regex

Most "PII scrubbers" are pattern matches — find anything that looks like @ + domain, replace it. That catches obvious stuff and misses everything else. Names without context, addresses without zip codes, account numbers formatted oddly — all slip through.

Our filter uses a 1.5B-parameter token-classification model (openai/privacy-filter) fine-tuned specifically to find private info in free text. It reads the whole sentence and decides, token by token, what is and isn't personal.

The confidential part

We run this filter in a confidential-compute enclave hosted by Tinfoil. A confidential enclave is a virtual machine whose memory is encrypted by the CPU (AMD SEV-SNP / Intel TDX) — even the cloud provider running the hardware can't read what's inside.

The practical guarantees:

What Screenpipe sees

Your screenpipe-server (running locally on your computer) calls the enclave directly. The text leaves your device, gets redacted inside the enclave, and comes back with names/emails/etc. replaced. Screenpipe's own cloud is not in the path — we can't see the raw text even if we wanted to.

The enclave caches recent redactions by content hash (SHA-256) for 1 hour so repeated screen content (the same email thread, the same IDE file) doesn't re-pay the round trip. Nothing else persists.

Where it's applied

Limits

Open source

All of this is auditable:

Questions or suggestions? louis@screenpi.pe.