/** * Built-in PII sanitizer for span attributes. Customers can pass their * own via `AttestryExporterConfig.sanitizer`; this is the safe default. * * Design constraints: * - **Defensive, not exhaustive.** A regex stripper can never catch * every PII shape. The customer's compliance team needs to review * what hits the wire. We err on the side of redacting too much, not * too little. * - **No backreferences, no catastrophic backtracking.** Each regex is * O(n) on the input string. Tested against malformed inputs of 10K+ * chars to ensure no ReDoS vector. * - **Pure function.** Returns a new object; never mutates the input. * The walker recurses into plain objects and arrays only — primitive * boxed types (Date, RegExp, Map, Set) are passed through unchanged * because OTel attribute values are spec'd as primitives + arrays. * - **Cycle-safe.** A WeakSet of visited objects prevents stack * overflow on circular attribute graphs. */ declare function redactString(value: string): string; export declare function sanitizePII(attrs: Record): Record; export declare const __test__: { PII_PATTERNS: { name: string; pattern: RegExp; }[]; redactString: typeof redactString; REDACTED: string; MAX_DEPTH: number; }; export {}; //# sourceMappingURL=sanitizer.d.ts.map