Personal data scan
scan_piiScan text for real personal and secret data that should not appear in design files, and return a masked report plus a redacted copy. Pass text (for example every text layer from a Figma frame, a spec, mockup sample data or OCR text from a screenshot) and optionally mode: design (default) or strict, which also flags capitalised full names next to labels like Customer. Detects emails (example.com/org/net and test/invalid TLDs are treated as safe), phone numbers (fictional 555-01xx and Ofcom drama ranges are safe), payment cards checked with Luhn (public test cards such as 4242 4242 4242 4242 are safe), IBANs checked with mod-97, US SSNs (invalid ranges ignored), UK National Insurance numbers, IPv4 and IPv6 addresses outside documentation ranges, AWS, Stripe, GitHub, Slack, Google, Anthropic and OpenAI keys, JWTs and private key blocks, and lower-confidence street addresses and labeled dates of birth. Each finding has type, masked preview (never the full secret), line, confidence and a safe placeholder; redacted is the input with every finding replaced. The text is processed in memory, never stored or logged. Use it as the last step before sharing a file.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"text": "<text>"
},
"name": "scan_pii"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | design (default) skips name detection and bare 7-digit phone numbers; strict adds them and accepts more false positives. | |
| text | Yes | The text to scan. Up to 100,000 characters on the free tier. |