Anonymize PII in your pipeline. MCP Server (7 tools), REST API, Python/Node SDKs. Sub-200ms response. Bearer token auth. Enterprise-grade privacy infrastructure.
Claude's Model Context Protocol has 8000+ exposed servers. Agents can enumerate internal APIs without auth. Data exfiltration in seconds.
CVSS 9.3. Attacker-controlled LLM can execute arbitrary tool calls. Database queries, file access, network requests. No PII filtering.
LLMs don't understand PII. LangChain agents paste customer data. RAG systems upload contracts to Claude context. No redaction layer.
POST /mcp/analyze | { "text", "language" }
Detect 285+ PII entity types. Response: array of `{entity_type, value, start, end, score}`.
POST /mcp/anonymize | { "text", "method" }
Redact PII. Methods: mask (████), hash (SHA-256), encrypt (RSA-4096), remove.
POST /mcp/deanonymize | { "text", "key" }
Decrypt reversible redactions. Authorized users only. Audit log per access.
POST /mcp/scan_file | { "file_content", "file_type" }
Scan PDF, DOCX, XLSX. Return redaction suggestions. Batch process 5000+ files.
POST /mcp/batch | { "texts": [...] }
Process 5000+ items in parallel. Returns all results in under 30 seconds.
GET /mcp/get_entities | ?language=en
List all 285+ entity types. Filterby language or domain.
POST /mcp/estimate | { "text_length", "entities_count" }
Estimate token cost before processing. No charges for dry-run.
curl -X POST https://anonym.legal/api/presidio/analyze \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "My SSN is 123-45-6789 and email is john@example.com",
"language": "en"
}'
# Response:
# {
# "results": [
# { "entity_type": "US_SSN", "start": 11, "end": 23, "score": 0.99 },
# { "entity_type": "EMAIL_ADDRESS", "start": 38, "end": 56, "score": 0.99 }
# ]
# }
pip install anonym-sdk
from anonym import Client
client = Client(api_key='...')
results = client.analyze(
'SSN: 123-45-6789',
language='en'
)
npm install anonym-sdk
import { Client } from 'anonym-sdk';
const client = new Client({
apiKey: '...'
});
const results = await client.analyze({
text: 'SSN: 123-45-6789'
});
curl -X POST \
https://anonym.legal/api/analyze \
-H "Authorization: Bearer KEY" \
-d '{"text":"SSN:123"}'