{"data":{"status":"fail","lengths":{"utf16":20,"codePoints":17,"utf8Bytes":33,"graphemes":13},"properties":{"illFormed":false,"bom":false,"lf":0,"crlf":0,"cr":0,"nfc":true,"nfd":false,"ascii":false},"ranges":[{"index":0,"unit":"grapheme","start":6,"end":7,"valid":true,"span":{"utf16":{"start":6,"end":14},"codePoint":{"start":6,"end":11},"utf8":{"start":7,"end":25},"grapheme":{"start":6,"end":7},"graphemeAligned":true},"text":"👨‍👩‍👧"},{"index":1,"unit":"utf8","start":6,"end":8,"valid":false,"error":"utf8 offset 8 falls inside a multi-byte character"}],"unicode":{"verdict":"BLOCK","findings":[{"ruleId":"USC002","ruleName":"invisible-format","severity":"critical","codePoints":"U+200D","charInfo":"U+200D ZERO WIDTH JOINER","span":{"utf16":{"start":8,"end":9},"codePoint":{"start":7,"end":8},"utf8":{"start":11,"end":14},"grapheme":{"start":6,"end":7},"graphemeAligned":false}},{"ruleId":"USC002","ruleName":"invisible-format","severity":"critical","codePoints":"U+200D","charInfo":"U+200D ZERO WIDTH JOINER","span":{"utf16":{"start":11,"end":12},"codePoint":{"start":9,"end":10},"utf8":{"start":18,"end":21},"grapheme":{"start":6,"end":7},"graphemeAligned":false}},{"ruleId":"USC001","ruleName":"bidi-control","severity":"critical","codePoints":"U+202E","charInfo":"U+202E RIGHT-TO-LEFT OVERRIDE","span":{"utf16":{"start":15,"end":16},"codePoint":{"start":12,"end":13},"utf8":{"start":26,"end":29},"grapheme":{"start":8,"end":9},"graphemeAligned":true}},{"ruleId":"USC015","ruleName":"bidi-pairing","severity":"critical","codePoints":"U+202E","charInfo":"embed imbalance: 1","span":{"utf16":{"start":0,"end":1},"codePoint":{"start":0,"end":1},"utf8":{"start":0,"end":1},"grapheme":{"start":0,"end":1},"graphemeAligned":true}}]},"witnesses":[{"ruleId":"invalid-range","detail":"utf8 offset 8 falls inside a multi-byte character","index":1,"path":"ranges[1]","actual":["utf8",6,8]},{"ruleId":"USC002","detail":"invisible-format","offset":8,"actual":"U+200D"},{"ruleId":"USC002","detail":"invisible-format","offset":11,"actual":"U+200D"},{"ruleId":"USC001","detail":"bidi-control","offset":15,"actual":"U+202E"},{"ruleId":"USC015","detail":"bidi-pairing","offset":0,"actual":"U+202E"}],"versions":{"engine":"text-offsets/1","segmenter":"Intl.Segmenter grapheme (ICU of the running JS engine)","unicodeRules":"unicode-safety-check USC001-USC019 via micro/strings.ts"},"limits":["Grapheme clusters depend on the ICU/Unicode version of the runtime; a different runtime may split new emoji differently.","Findings are capped at 10 per call by the unicode rules.","Ranges in a non-boundary position are reported invalid, never rounded."],"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:42ca2b5d-6520-42ad-92b5-9ef53757af92","claim_generator_info":[{"name":"WritersLogic x402 Agent Hub","version":"2.0.0"}],"title":"Convert text offsets between UTF-16, code points, UTF-8 bytes and graphemes, and locate hidden Unicode","assertions":[{"label":"c2pa.actions.v2","data":{"actions":[{"action":"c2pa.created","when":"2026-11-06T01:30:24.288Z","softwareAgent":{"name":"writerslogic-agent-hub/text-offsets","version":"2.0.0"},"digitalSourceType":"http://cv.iptc.org/newscodes/digitalsourcetype/algorithmicMedia","parameters":{"endpoint":"POST /api/v1/text-offsets","inputDigest":{"alg":"sha256","hash":"403a1c36358a14ea5aec28b8717068e8c90a19b197c376af506b90b64f0723f8","canonicalization":"JCS"}}}]}},{"label":"c2pa.hash.data","data":{"alg":"sha256","hash":"4a8bd3d15109b68ed92c4b4efe7b63d83fc1bb043658c7778522a82639496ff9","name":"jcs-canonical-json(data)"}}]},"credential":{"@context":["https://www.w3.org/ns/credentials/v2"],"id":"urn:uuid:8cf958b4-319e-4352-84d4-8efa3e834513","type":["VerifiableCredential","AgentOutputCredential"],"issuer":"did:web:agents.writerslogic.com","validFrom":"2026-11-06T01:30:24.288Z","credentialSubject":{"id":"urn:sha256:4a8bd3d15109b68ed92c4b4efe7b63d83fc1bb043658c7778522a82639496ff9","agent":"text-offsets","endpoint":"POST /api/v1/text-offsets","outputDigest":{"alg":"sha256","value":"4a8bd3d15109b68ed92c4b4efe7b63d83fc1bb043658c7778522a82639496ff9","canonicalization":"JCS"},"inputDigest":{"alg":"sha256","value":"403a1c36358a14ea5aec28b8717068e8c90a19b197c376af506b90b64f0723f8","canonicalization":"JCS"},"manifestDigest":{"alg":"sha256","value":"bcbf5132a1ee487caf3b330245de6467ee9b54bad4529778efc543b325697eca","canonicalization":"JCS"},"ingredients":[],"payment":{"scheme":"api-key","network":"eip155:8453","payer":"sample"}},"proof":{"type":"DataIntegrityProof","cryptosuite":"eddsa-jcs-2022","created":"2026-11-06T01:30:24.288Z","verificationMethod":"did:web:agents.writerslogic.com#key-1","proofPurpose":"assertionMethod","proofValue":"zU35wavS5uBSCPBza1rwuNhznCEJbmxYs5fGv5w2UbigFwUWn6UcnxCsxsBw3csAR7CQcx2scqGxf3Zv59NCDJbz"}},"ethSignature":{"type":"EIP-191","signer":"did:pkh:eip155:8453:0x3DBd42560cA7a7E448A2c7DfC9E785526189411f","address":"0x3DBd42560cA7a7E448A2c7DfC9E785526189411f","message":"writerslogic-provenance:4c2feb66d7ea2296b42c0e7170b4fe3107ba63a687aea1fc863d6c0fa30357a6","signature":"0x4a507fdc27f70bfa91db41699cb543aaadd33acfb0e9f7ea16fe92df5ab603a8519eaf5001df489b9633a227d0ae9f7851d91f0bda49d74d9b552e90d674da631b"}}}