/** * Structural IP detector. Opt-in (`policy.detectors.ip === true`). * * IPv4 is parsed here, not via `net.isIP`: Node accepts a leading zero * (`01.2.3.4`) which we reject. Octets are 0–255 with no leading zeros * except the value `0`. * * Version / IP collision: `1.2.3.4` is a valid IPv4 address. There is no * deterministic way to tell it from a four-part version number. When the * detector is on, it is masked. Dates (`13.08.2026`) fail the leading-zero * rule; amounts (`1.250,00`) are not four dotted octets. Loopback and * private ranges are masked too — they are still addresses. SOC teams that * need them in the clear leave `ip` at the default (false). * * KIRMA: drop `n > IPV4_OCTET_MAX` → `256.1.1.1` becomes an address. */ export declare const IPV4_OCTET_MAX = 255; export declare function isStrictIpv4(s: string): boolean; /** * RFC 4291 / 5952 subset: eight hextets, a single `::` compression, and * IPv4-mapped (`::ffff:192.0.2.1`) whose dotted tail uses isStrictIpv4. */ export declare function isStrictIpv6(s: string): boolean; export declare function maskIps(text: string): { text: string; count: number; }; //# sourceMappingURL=ip_detect.d.ts.map