{"data":{"redactedText":"Patient: [REDACTED:PERSON], DOB [REDACTED:DOB], SSN [REDACTED:SSN]. Reach her at [REDACTED:EMAIL] or [REDACTED:PHONE]. [REDACTED:PERSON] was seen at [REDACTED:ORG]","status":"complete","summary":{"total":7,"byCategory":{"person_name":2,"date_of_birth":1,"ssn":1,"email":1,"phone":1,"organization":1},"charactersRemoved":106},"redactions":[{"category":"person_name","start":9,"end":23,"length":14,"replacement":"[REDACTED:PERSON]","confidence":"context","rule":"name-after-patient"},{"category":"date_of_birth","start":29,"end":39,"length":10,"replacement":"[REDACTED:DOB]","confidence":"context","rule":"dob-label"},{"category":"ssn","start":45,"end":56,"length":11,"replacement":"[REDACTED:SSN]","confidence":"validated","rule":"ssn-formatted"},{"category":"email","start":71,"end":97,"length":26,"replacement":"[REDACTED:EMAIL]","confidence":"validated","rule":"email"},{"category":"phone","start":101,"end":115,"length":14,"replacement":"[REDACTED:PHONE]","confidence":"pattern","rule":"phone-nanp"},{"category":"person_name","start":117,"end":131,"length":14,"replacement":"[REDACTED:PERSON]","confidence":"heuristic","rule":"given-name-pair"},{"category":"organization","start":144,"end":161,"length":17,"replacement":"[REDACTED:ORG]","confidence":"heuristic","rule":"org-suffix"}],"verification":{"passed":true,"residualDetections":0,"leakedValues":0,"distinctValues":6,"outputSha256":"12cba160d18d9128c795727caa3751a2729b254e992349f815e8fc238f5abe34"},"config":{"level":4,"categories":["address","date_of_birth","drivers_license","ein","email","itin","nino","organization","passport","person_name","phone","sin","ssn"],"minDigitRun":null,"terms":0,"keep":0,"style":"label","useModel":false},"coverage":[{"category":"address","count":0,"method":"pattern","limits":"US street, PO box, city-state-ZIP and UK postcode layouts. Other countries' addresses are not covered; use useModel for those."},{"category":"date_of_birth","count":1,"method":"label-keyed","limits":"Dates within a few characters after DOB, date of birth, born. An unlabeled birth date is only caught with the date category."},{"category":"drivers_license","count":0,"method":"label-keyed","limits":"Only values that follow a driver's-license label. State formats overlap other numbers, so unlabeled licence numbers are not found."},{"category":"ein","count":0,"method":"pattern with IRS prefix list","limits":"NN-NNNNNNN with a valid prefix or an EIN/TIN label."},{"category":"email","count":1,"method":"pattern","limits":"Standard addresses."},{"category":"itin","count":0,"method":"pattern with structure rules","limits":"Formatted 9NN-NN-NNNN with an ITIN group; nine bare digits only next to a label."},{"category":"nino","count":0,"method":"pattern with prefix rules","limits":"UK National Insurance numbers in the standard layout."},{"category":"organization","count":1,"method":"heuristic","limits":"Names ending in a legal suffix (Inc, LLC, Ltd, GmbH...). Names without a suffix need terms or useModel."},{"category":"passport","count":0,"method":"label-keyed","limits":"Only values that follow the word passport."},{"category":"person_name","count":2,"method":"heuristic","limits":"Names after labels (Name:, Dear, Mr., Patient:) and First Last pairs whose first name is a common given name, plus later mentions of a redacted name. Names outside these patterns are missed; useModel improves recall."},{"category":"phone","count":1,"method":"pattern with NANP rules","limits":"North American numbers and +country-code numbers. Ten bare digits count only next to a phone label."},{"category":"sin","count":0,"method":"pattern with Luhn check","limits":"Canadian SIN as NNN-NNN-NNN; bare nine digits are not matched."},{"category":"ssn","count":1,"method":"pattern with structure rules","limits":"Formatted NNN-NN-NNNN always; nine bare digits only next to an SSN label."}],"limits":["Detection finds what its rules and your terms describe; it cannot prove a document contains no other personal data. Review the output before publishing.","Plain text only. For PDF, DOCX or images, extract the text, redact it, and rebuild the file; a visual overlay does not remove text from the file.","No model was used and the text left this service nowhere."],"deterministic":true},"_provenance":{"version":"writerslogic-provenance/1","issuer":"did:web:agents.writerslogic.com","verify":{"endpoint":"POST /api/v1/verify-provenance","did":"did:web:agents.writerslogic.com"},"manifest":{"format":"application/json","instance_id":"xmp:iid:6d49338e-ae53-4d3e-a88d-ca0b15bd9ad7","claim_generator_info":[{"name":"WritersLogic x402 Agent Hub","version":"2.0.0"}],"title":"Selective PII redaction with a self-check","assertions":[{"label":"c2pa.actions.v2","data":{"actions":[{"action":"c2pa.created","when":"2026-11-06T01:30:19.059Z","softwareAgent":{"name":"writerslogic-agent-hub/redact-text","version":"2.0.0"},"digitalSourceType":"http://cv.iptc.org/newscodes/digitalsourcetype/algorithmicMedia","parameters":{"endpoint":"POST /api/v1/redact-text"}}]}},{"label":"c2pa.hash.data","data":{"alg":"sha256","hash":"7581017ccdbe623929ede242a7835ca05dcb1f86664e7a705cab10704263cd88","name":"jcs-canonical-json(data)"}}]},"credential":{"@context":["https://www.w3.org/ns/credentials/v2"],"id":"urn:uuid:3ab7871d-4d60-471c-9916-0e47392f4cc5","type":["VerifiableCredential","AgentOutputCredential"],"issuer":"did:web:agents.writerslogic.com","validFrom":"2026-11-06T01:30:19.059Z","credentialSubject":{"id":"urn:sha256:7581017ccdbe623929ede242a7835ca05dcb1f86664e7a705cab10704263cd88","agent":"redact-text","endpoint":"POST /api/v1/redact-text","outputDigest":{"alg":"sha256","value":"7581017ccdbe623929ede242a7835ca05dcb1f86664e7a705cab10704263cd88","canonicalization":"JCS"},"manifestDigest":{"alg":"sha256","value":"a1c6c1166a851f51c90a29a269a49ea74c7d30082c2e4d0a21d66395aa6ad5b8","canonicalization":"JCS"},"ingredients":[],"payment":{"scheme":"api-key","network":"eip155:8453","payer":"sample"}},"proof":{"type":"DataIntegrityProof","cryptosuite":"eddsa-jcs-2022","created":"2026-11-06T01:30:19.059Z","verificationMethod":"did:web:agents.writerslogic.com#key-1","proofPurpose":"assertionMethod","proofValue":"z448Q1T8kxCue6V4cp9yCAkfh7uC9ZFTDuM8QSqsrtvdZeKqFd5AZ2d3kTcTEkZRbvfVcUEuVjctU4gkBPVJqaznE"}},"ethSignature":{"type":"EIP-191","signer":"did:pkh:eip155:8453:0x3DBd42560cA7a7E448A2c7DfC9E785526189411f","address":"0x3DBd42560cA7a7E448A2c7DfC9E785526189411f","message":"writerslogic-provenance:b36b8db8fc8d6413133e9172920c7db83d23af54ffa5d9cec26ff10294dcde60","signature":"0xd2b826c8e6624e1bbd1aa58cafa423ae059132eb3a183680f80c609042c8620b601022263e9169f618f948edad97a42bac74122f2d305623884a93a331bc94b11b"}}}