Repository navigation
2.18.3 — redaction reads a URL as a URL parser does
Redaction now reads a URL the way a URL parser does (#116).
What ships
- A backslash is a slash under a scheme. Under
http:,https:,ws:,wss:,ftp:or a protocol-relative prefix (//host,///host), every backslash — literal, or encoded as%5C,\,\,\— is read as the path separator a WHATWG parser makes of it, sohttps://hooks.zapier.com\hooks\catch\1\SECRETis redacted whole, and the stage 1 cut that used to leave\catch\1\SECRETbehind is closed. A backslash after a bare host with no scheme, Windows and UNC paths andfile:URLs are kept by design. - Hostnames are normalised under UTS-46 before matching. A generated table from Unicode 18.0.0's IDNA mapping (1526 entries: fullwidth and mathematical letters,
。.。, and deletions of the zero-width space, soft hyphen, word joiner, BOM and variation selectors) maps the host before the receiver patterns run, withoutintl.hooks.zapier.comandhooks。zapier.comare redacted likehooks.zapier.com. - Userinfo and ports as a parser reads them: the last
@delimits userinfo (a@b@host; an encoded slash or backslash inside it stays userinfo), and an empty port (host:\path) is a port. - Memory: a field of millions of words with a stage 1 cut now peaks at about 3× its size instead of 18×.
Known limits
- A plain
https://host:/pathwith nothing encoded is a stage 1 miss — #121. - TAB, LF and CR inside a URL are not stripped (a parser strips them).
- Encoded lookalikes: an encoded scheme colon or encoded slashes before a receiver host (
file://host\x,file:%2f%2f%2fhost\x) are redacted — over-redaction, never a leak.
Ships #120 (implementation) and #122 (release). Spec: Digitizers/Aura docs/superpowers/specs/2026-09-17-redaction-url-reading-design.md (amendment to follow).