{"uid":"cap_SPbKK5IS0_pKm_fuIa_Me","slug":"openverbs-pii-redaction-a5ccf24c","name":"OpenVerbs PII Redaction","description":"Return the input text with every detected PII span replaced. `mode` controls the replacement: \"label\" (default) → `[EMAIL]`; \"mask\" → the value covered with a mask character; \"hash\" → `[EMAIL:1a2b3c4d]`, a stable per-value fingerprint so equal values stay linkable without exposing them. Same validated detectors as `/detect`. Fully offline.","url":"https://scan.openverbs.com/v1/redact","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"object","required":["text"],"properties":{"mask":{"type":"string","maxLength":8,"minLength":1,"description":"Mask character used when mode=\"mask\" (first character is used). Default \"•\"."},"mode":{"enum":["label","mask","hash"],"type":"string","description":"Replacement style. Default \"label\"."},"text":{"type":"string","maxLength":200000,"minLength":1,"description":"The text to redact."},"types":{"type":"array","items":{"enum":["email","phone","credit_card","iban","ipv4","ipv6","us_ssn","jwt"],"type":"string"},"minItems":1,"description":"Optional subset of PII types to look for. Omit to scan for all."}},"additionalProperties":false},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.004","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.004/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.004","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.004","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_69lHgyTAFHg9P5aKLEvuB","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.004","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Replaces detected PII spans in text with labels, masks, or stable hashed fingerprints using fully offline processing","exampleAgentPrompt":"Redact all PII from this text using hash mode so equal values stay linkable: 'Contact John at john@example.com or call 555-123-4567, card ending 4111-1111-1111-1111.'","exampleUseCases":[{"title":"Anonymize customer support transcripts","prompt":"Before we store these support chat logs, redact all PII — emails, phone numbers, credit cards — using label mode so I can see what was replaced: 'Hi, I'm Jane Doe, my email is jane@company.com and my card is 4111111111111111.'"},{"title":"Hash PII for linkable analytics","prompt":"I need to anonymize this user record for analytics but still be able to join on email across records — use hash mode to redact PII: 'User: alice@example.com, SSN: 123-45-6789, IP: 192.168.1.1.'"},{"title":"Mask sensitive data before LLM processing","prompt":"Before sending this text to the AI model, mask all phone numbers and credit card numbers with bullet characters so the raw values aren't exposed: 'Call us at 800-555-0199 or pay with card 5500005555555559.'"}],"resultDescription":"Returns the original text with every detected PII span replaced according to the chosen mode: 'label' wraps type names in brackets (e.g. [EMAIL]), 'mask' covers characters with the specified mask character (default •), and 'hash' produces a stable bracketed fingerprint (e.g. [EMAIL:1a2b3c4d]) that remains consistent across identical values for linkability.","failureModes":["Missing required 'text' field returns validation error","Text exceeding 200,000 characters is rejected","Invalid 'mode' value outside enum returns 400","Invalid PII type in 'types' array returns schema validation error","Empty mask character or mask longer than 8 characters rejected","Payment not provided or insufficient USDC balance results in 402 response"],"whenToPreferThis":"Choose this endpoint when you need fully offline, privacy-preserving PII redaction with flexible replacement styles — especially when you want stable hash fingerprints to keep linkability without exposing raw values. Prefer it over cloud-based PII APIs when data must not leave local processing, or when you need per-type filtering (e.g. only redact credit cards and SSNs). The hash mode is particularly useful for analytics pipelines where you need to join anonymized records.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T18:30:23.761Z","isFirstParty":false}