PII detector and redactor
scan_piiPII detector and redactor: finds emails, phone numbers, payment cards (Luhn), IBANs, Aadhaar (Verhoeff), Indian PAN, US SSN, UK NI numbers, Nepal citizenship numbers, passports, dates of birth, IP and wallet addresses in text or a URL; masked findings with positions, optional redacted copy with stable placeholders. Use before logging, storing, summarising or sending text to a third-party model, or to check what personal data a document, transcript or tool result contains. Pass text or url, redact: true for a copy with each value replaced by a placeholder like [EMAIL_1] (same value, same placeholder), and types[] to limit what is reported. Returns found, count, severity, findings[] {type, category (contact, financial, government-id, personal, network), severity, confidence, masked, placeholder, line, column, detail}, byType, byCategory, summary and redacted. Names and street addresses are not detected. Nothing is stored. Price: $0.002 per call from Exepal credit; not charged if the call fails. Includes free daily calls.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "scan_pii"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Public URL to fetch and scan instead of text | |
| text | No | Text to scan: a transcript, document, form, log, CSV or tool output (up to 2,000,000 characters) | |
| types | No | Only report these types: email, phone, credit-card, iban, aadhaar, india-pan, us-ssn, uk-nino, nepal-citizenship, passport, date-of-birth, ip-address, crypto-address (default all) | |
| redact | No | Also return `redacted`: the text with every value replaced by its placeholder, e.g. [EMAIL_1], [CARD_1], [PHONE_2] (default false) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Present when a url was fetched | |
| count | No | ||
| found | No | ||
| stats | No | ||
| byType | No | Counts per type | |
| status | No | ||
| summary | No | ||
| finalUrl | No | ||
| findings | No | In document order, up to 200 | |
| redacted | No | Present when redact was true; first 200,000 characters | |
| severity | No | high, medium, low or none | |
| byCategory | No | Counts per category |