@nodii/telemetry 0.17.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/redaction.d.ts +19 -3
- package/dist/redaction.d.ts.map +1 -1
- package/dist/redaction.js +62 -19
- package/dist/redaction.js.map +1 -1
- package/package.json +1 -1
package/dist/redaction.d.ts
CHANGED
|
@@ -44,9 +44,25 @@ export interface RedactionConfig {
|
|
|
44
44
|
*/
|
|
45
45
|
export declare function isLuhnValid(digits: string): boolean;
|
|
46
46
|
/**
|
|
47
|
-
* Mask Luhn-valid PAN-shaped digit runs in a string. A run
|
|
48
|
-
*
|
|
49
|
-
*
|
|
47
|
+
* Mask Luhn-valid PAN-shaped digit runs in a string. A digit run (its
|
|
48
|
+
* bare digits, ignoring single space/dash grouping separators) is masked
|
|
49
|
+
* to `[REDACTED]` ONLY when the WHOLE run is 12–19 digits AND passes
|
|
50
|
+
* `isLuhnValid`. Two deliberate properties:
|
|
51
|
+
*
|
|
52
|
+
* - LEAK-SAFE (boundary-free): detection does NOT depend on `\b` word
|
|
53
|
+
* boundaries, so a PAN abutting letters (`a4111111111111111b`), inside
|
|
54
|
+
* an array element, or mid-token is masked just the same. This closes
|
|
55
|
+
* the word-boundary under-redaction leak the old loose `credit_card`
|
|
56
|
+
* regex had.
|
|
57
|
+
* - NOT OVER-REDACTING: we Luhn-check the run AS A WHOLE rather than
|
|
58
|
+
* sliding a window over sub-sequences. A 16-digit order id that fails
|
|
59
|
+
* Luhn (`1234567890123456`) is NOT masked even though it coincidentally
|
|
60
|
+
* contains a Luhn-valid 12-digit sub-sequence — sub-window sliding
|
|
61
|
+
* would have wrongly masked it. A run longer than 19 digits is not a
|
|
62
|
+
* standard PAN representation and is left intact.
|
|
63
|
+
*
|
|
64
|
+
* Grouping separators (single space/dash between digits) inside the run
|
|
65
|
+
* are spanned by the mask; surrounding non-digit text is preserved.
|
|
50
66
|
*/
|
|
51
67
|
export declare function scrubPanString(s: string): string;
|
|
52
68
|
/**
|
package/dist/redaction.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redaction.d.ts","sourceRoot":"","sources":["../src/redaction.ts"],"names":[],"mappings":"AAaA;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAyCnC,CAAC;
|
|
1
|
+
{"version":3,"file":"redaction.d.ts","sourceRoot":"","sources":["../src/redaction.ts"],"names":[],"mappings":"AAaA;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAyCnC,CAAC;AAkDX;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAuBD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAgBnD;AAkBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAUhD;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,CAAC,EAAE,eAAe,GACpB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGzB;AA2BD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,eAAe,GAAG,MAAM,CAErE;AAiBD;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IACzB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,CAAC,CAAA;CAAE,GACzB;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAElC,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,CAAC,EAAE,eAAe,GACpB,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAS1C;AAED,wBAAgB,mBAAmB,CACjC,CAAC,EAAE,MAAM,EACT,GAAG,CAAC,EAAE,eAAe,GACpB,eAAe,CAAC,MAAM,CAAC,CASzB"}
|
package/dist/redaction.js
CHANGED
|
@@ -67,6 +67,21 @@ const PII_FIELD_SET = new Set(PII_FIELD_NAMES.map((s) => s.toLowerCase()));
|
|
|
67
67
|
*
|
|
68
68
|
* Each regex is anchored loosely; matches are replaced with [REDACTED].
|
|
69
69
|
* Order matters: more-specific patterns first.
|
|
70
|
+
*
|
|
71
|
+
* NOTE: card-number (PAN) masking is NOT in this list. It is handled by
|
|
72
|
+
* the dedicated Luhn-validated {@link scrubPanString} pass which runs
|
|
73
|
+
* BEFORE these regexes (see {@link redactStringResolved}). The previous
|
|
74
|
+
* loose `credit_card` regex (`\b(?:\d[ -]?){13,19}\b`) was removed for
|
|
75
|
+
* two reasons:
|
|
76
|
+
* 1. OVER-REDACTION — it masked ANY 13–19-digit run regardless of the
|
|
77
|
+
* Luhn checksum, so a non-card numeric token (an order id, a 16-digit
|
|
78
|
+
* reference number) was wrongly masked. The Luhn scrubber only masks
|
|
79
|
+
* runs that actually pass the card checksum.
|
|
80
|
+
* 2. UNDER-REDACTION (PII LEAK) — `\b` requires a word boundary, so a
|
|
81
|
+
* PAN abutting a letter (`a4111111111111111b`) had no boundary and
|
|
82
|
+
* was NOT masked, leaking the card number. The Luhn scrubber detects
|
|
83
|
+
* digit runs by their own bounds (non-digit OR string edge), so it
|
|
84
|
+
* masks a PAN ANYWHERE in the string, adjacent characters and all.
|
|
70
85
|
*/
|
|
71
86
|
const REGEX_PATTERNS = [
|
|
72
87
|
// Bearer tokens / JWT-shaped: 3 base64-ish segments separated by dots.
|
|
@@ -74,11 +89,6 @@ const REGEX_PATTERNS = [
|
|
|
74
89
|
name: "jwt",
|
|
75
90
|
re: /\beyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\b/g,
|
|
76
91
|
},
|
|
77
|
-
// Credit-card-like: 13–19 digits, possibly grouped by spaces or dashes.
|
|
78
|
-
{
|
|
79
|
-
name: "credit_card",
|
|
80
|
-
re: /\b(?:\d[ -]?){13,19}\b/g,
|
|
81
|
-
},
|
|
82
92
|
// Email addresses.
|
|
83
93
|
{
|
|
84
94
|
name: "email",
|
|
@@ -138,19 +148,52 @@ export function isLuhnValid(digits) {
|
|
|
138
148
|
}
|
|
139
149
|
return sum % 10 === 0;
|
|
140
150
|
}
|
|
141
|
-
// PAN candidate:
|
|
142
|
-
// dashes (the common `4111 1111 1111 1111`
|
|
143
|
-
//
|
|
144
|
-
|
|
151
|
+
// PAN candidate token: a maximal run of digits that may be internally
|
|
152
|
+
// grouped by single spaces or dashes (the common `4111 1111 1111 1111`
|
|
153
|
+
// and `4111-1111-1111-1111` shapes), plus the contiguous bare-digit form
|
|
154
|
+
// (`4111111111111111`).
|
|
155
|
+
//
|
|
156
|
+
// Crucially this is NOT `\b`-anchored. A PAN abutting letters
|
|
157
|
+
// (`a4111111111111111b`) has no word boundary on either side, so a
|
|
158
|
+
// `\b`-anchored pattern would skip it and LEAK the card number. We instead
|
|
159
|
+
// match the digit/separator token wherever it occurs and let the Luhn +
|
|
160
|
+
// window logic below decide what (if anything) inside it is a real PAN.
|
|
161
|
+
const PAN_TOKEN_RE = /\d(?:[ -]?\d)*/g;
|
|
162
|
+
// A real card PAN is 12–19 bare digits.
|
|
163
|
+
const PAN_MIN = 12;
|
|
164
|
+
const PAN_MAX = 19;
|
|
145
165
|
/**
|
|
146
|
-
* Mask Luhn-valid PAN-shaped digit runs in a string. A run
|
|
147
|
-
*
|
|
148
|
-
*
|
|
166
|
+
* Mask Luhn-valid PAN-shaped digit runs in a string. A digit run (its
|
|
167
|
+
* bare digits, ignoring single space/dash grouping separators) is masked
|
|
168
|
+
* to `[REDACTED]` ONLY when the WHOLE run is 12–19 digits AND passes
|
|
169
|
+
* `isLuhnValid`. Two deliberate properties:
|
|
170
|
+
*
|
|
171
|
+
* - LEAK-SAFE (boundary-free): detection does NOT depend on `\b` word
|
|
172
|
+
* boundaries, so a PAN abutting letters (`a4111111111111111b`), inside
|
|
173
|
+
* an array element, or mid-token is masked just the same. This closes
|
|
174
|
+
* the word-boundary under-redaction leak the old loose `credit_card`
|
|
175
|
+
* regex had.
|
|
176
|
+
* - NOT OVER-REDACTING: we Luhn-check the run AS A WHOLE rather than
|
|
177
|
+
* sliding a window over sub-sequences. A 16-digit order id that fails
|
|
178
|
+
* Luhn (`1234567890123456`) is NOT masked even though it coincidentally
|
|
179
|
+
* contains a Luhn-valid 12-digit sub-sequence — sub-window sliding
|
|
180
|
+
* would have wrongly masked it. A run longer than 19 digits is not a
|
|
181
|
+
* standard PAN representation and is left intact.
|
|
182
|
+
*
|
|
183
|
+
* Grouping separators (single space/dash between digits) inside the run
|
|
184
|
+
* are spanned by the mask; surrounding non-digit text is preserved.
|
|
149
185
|
*/
|
|
150
186
|
export function scrubPanString(s) {
|
|
151
|
-
return s.replace(
|
|
152
|
-
|
|
153
|
-
|
|
187
|
+
return s.replace(PAN_TOKEN_RE, (token) => {
|
|
188
|
+
let bare = "";
|
|
189
|
+
for (let i = 0; i < token.length; i++) {
|
|
190
|
+
const ch = token.charCodeAt(i);
|
|
191
|
+
if (ch >= 48 && ch <= 57)
|
|
192
|
+
bare += token[i];
|
|
193
|
+
}
|
|
194
|
+
if (bare.length < PAN_MIN || bare.length > PAN_MAX)
|
|
195
|
+
return token;
|
|
196
|
+
return isLuhnValid(bare) ? REDACTED : token;
|
|
154
197
|
});
|
|
155
198
|
}
|
|
156
199
|
/**
|
|
@@ -200,10 +243,10 @@ export function redactString(s, cfg) {
|
|
|
200
243
|
}
|
|
201
244
|
function redactStringResolved(s, resolved) {
|
|
202
245
|
let out = s;
|
|
203
|
-
// PAN-Luhn scrub runs FIRST
|
|
204
|
-
// regex
|
|
205
|
-
//
|
|
206
|
-
//
|
|
246
|
+
// PAN-Luhn scrub runs FIRST (the sole card-number masker — the loose
|
|
247
|
+
// `credit_card` regex was removed). It masks only Luhn-valid card
|
|
248
|
+
// windows, ANYWHERE in the string, so the remaining regex pass below
|
|
249
|
+
// only handles non-card PII shapes (JWT / email / SSN / intl phone).
|
|
207
250
|
if (resolved.scrubPan) {
|
|
208
251
|
out = scrubPanString(out);
|
|
209
252
|
}
|
package/dist/redaction.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redaction.js","sourceRoot":"","sources":["../src/redaction.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,uDAAuD;AACvD,yCAAyC;AACzC,EAAE;AACF,2DAA2D;AAC3D,yEAAyE;AACzE,wEAAwE;AACxE,sEAAsE;AACtE,kEAAkE;AAClE,8BAA8B;AAE9B,MAAM,QAAQ,GAAG,YAAY,CAAC;AAE9B;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAsB;IAChD,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,cAAc;IACd,eAAe;IACf,UAAU;IACV,SAAS;IACT,QAAQ;IACR,aAAa;IACb,eAAe;IACf,YAAY;IACZ,QAAQ;IACR,eAAe;IACf,KAAK;IACL,QAAQ;IACR,KAAK;IACL,SAAS;IACT,aAAa;IACb,aAAa;IACb,KAAK;IACL,MAAM;IACN,gBAAgB;IAChB,gBAAgB;IAChB,OAAO;IACP,cAAc;IACd,QAAQ;IACR,OAAO;IACP,eAAe;IACf,SAAS;IACT,QAAQ;IACR,aAAa;IACb,KAAK;IACL,KAAK;IACL,eAAe;IACf,YAAY;IACZ,WAAW;IACX,WAAW;IACX,UAAU;IACV,iBAAiB;CACT,CAAC;AAEX,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAE3E
|
|
1
|
+
{"version":3,"file":"redaction.js","sourceRoot":"","sources":["../src/redaction.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nodii/telemetry",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.18.0",
|
|
4
4
|
"description": "Substrate observability library for the Nodii microservice stack — OTel wrapper, log envelope, intent lifecycle, audit signal, agent registry, context propagation. Spec: planning hub docKey=telemetry.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|