About
A redaction tool for scrubbing personal information out of logs, prompts, bug
reports and pasted text before you share them.
How it works
Detection is done entirely by the
openai/privacy-filter
token-classification model — there are no regular expressions or keyword lists.
In this tool the model runs on your device via Transformers.js and
WebGPU. It downloads once, is cached by the browser, and then works offline.
What it detects
The model labels eight categories of personal information:
- PERSON — names
- EMAIL — email addresses
- PHONE — phone numbers
- ADDRESS — postal addresses
- URL — web addresses
- DATE — personal dates
- ACCOUNT_NUMBER — account and card numbers
- SECRET — passwords, keys and other credentials
Privacy
In the browser tool, text never leaves your machine: the model is downloaded from a
CDN on first use and all inference happens locally. The API runs the same model
server-side and processes text in-memory only — nothing is stored.
API
The same model is exposed as a JSON API so you can pipe text through it from scripts or other apps. The model runs on the server for these calls:
# Quick GET
curl "https://shekkizh.com/api/sanitize?text=My%20name%20is%20Alice%20Smith"
# POST with options
curl -X POST https://shekkizh.com/api/sanitize \
-H "Content-Type: application/json" \
-d '{"text":"Email Alice at alice@example.com","numbered":true}'
# Response
{
"masked": "Email [PERSON] at [EMAIL]",
"detections": [
{ "label": "PERSON", "value": "Alice", "start": 6, "end": 11, "score": 0.99 },
{ "label": "EMAIL", "value": "alice@example.com", "start": 15, "end": 32, "score": 0.99 }
],
"counts": { "PERSON": 1, "EMAIL": 1 }
}