field-redactor 1.6.1 → 1.6.3
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/.github/workflows/publish.yml +55 -0
- package/CHANGELOG.md +32 -0
- package/CONTRIBUTING.md +26 -3
- package/README.md +3 -2
- package/dist/api/fieldRedactor.d.ts +4 -4
- package/dist/api/fieldRedactor.js +8 -8
- package/dist/api/fieldRedactor.js.map +1 -1
- package/dist/api/fieldRedactorConfigBuilder.d.ts +3 -3
- package/dist/api/fieldRedactorConfigBuilder.d.ts.map +1 -1
- package/dist/api/fieldRedactorConfigBuilder.js +7 -9
- package/dist/api/fieldRedactorConfigBuilder.js.map +1 -1
- package/dist/api/fieldRedactorDeps.d.ts +2 -2
- package/dist/api/fieldRedactorDeps.d.ts.map +1 -1
- package/dist/api/fieldRedactorDeps.js +6 -6
- package/dist/api/fieldRedactorDeps.js.map +1 -1
- package/dist/config/configValidator.d.ts.map +1 -1
- package/dist/config/configValidator.js +16 -0
- package/dist/config/configValidator.js.map +1 -1
- package/dist/config/presets.d.ts +2 -2
- package/dist/config/presets.js +1 -1
- package/dist/config/redactionRules.d.ts +10 -5
- package/dist/config/redactionRules.d.ts.map +1 -1
- package/dist/config/redactionRules.js +16 -11
- package/dist/config/redactionRules.js.map +1 -1
- package/dist/engine/objectRedactorHelpers.js +2 -2
- package/dist/engine/objectRedactorHelpers.js.map +1 -1
- package/dist/engine/objectRedactorTraversal.d.ts +1 -0
- package/dist/engine/objectRedactorTraversal.d.ts.map +1 -1
- package/dist/engine/objectRedactorTraversal.js +1 -0
- package/dist/engine/objectRedactorTraversal.js.map +1 -1
- package/dist/rules/ruleResolver.js +2 -2
- package/dist/rules/ruleResolver.js.map +1 -1
- package/dist/rules/secretManager.d.ts +5 -5
- package/dist/rules/secretManager.d.ts.map +1 -1
- package/dist/rules/secretManager.js +13 -8
- package/dist/rules/secretManager.js.map +1 -1
- package/dist/types.d.ts +39 -21
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -4
- package/dist/types.js.map +1 -1
- package/docs/guides/anti-patterns.md +1 -1
- package/docs/guides/metadata-redaction.md +2 -2
- package/docs/guides/migration-1.5-to-1.6.md +6 -4
- package/docs/guides/secret-key-modes.md +9 -14
- package/docs/reference/config.md +2 -2
- package/docs/release-notes/README.md +5 -1
- package/docs/release-notes/v1.6.2.md +26 -0
- package/docs/release-notes/v1.6.3.md +25 -0
- package/examples/README.md +14 -0
- package/examples/dry-run.ts +21 -0
- package/examples/logging-metadata.ts +18 -0
- package/examples/path-rules.ts +23 -0
- package/examples/value-patterns.ts +16 -0
- package/package.json +1 -1
- package/dist/arrayRedaction.d.ts +0 -12
- package/dist/arrayRedaction.d.ts.map +0 -1
- package/dist/arrayRedaction.js +0 -70
- package/dist/arrayRedaction.js.map +0 -1
- package/dist/configValidator.d.ts +0 -9
- package/dist/configValidator.d.ts.map +0 -1
- package/dist/configValidator.js +0 -77
- package/dist/configValidator.js.map +0 -1
- package/dist/copyOnWriteHelpers.d.ts +0 -20
- package/dist/copyOnWriteHelpers.d.ts.map +0 -1
- package/dist/copyOnWriteHelpers.js +0 -58
- package/dist/copyOnWriteHelpers.js.map +0 -1
- package/dist/customObjectFieldHandler.d.ts +0 -21
- package/dist/customObjectFieldHandler.d.ts.map +0 -1
- package/dist/customObjectFieldHandler.js +0 -159
- package/dist/customObjectFieldHandler.js.map +0 -1
- package/dist/customObjectManager.d.ts +0 -28
- package/dist/customObjectManager.d.ts.map +0 -1
- package/dist/customObjectManager.js +0 -60
- package/dist/customObjectManager.js.map +0 -1
- package/dist/customObjectSchemas.d.ts +0 -7
- package/dist/customObjectSchemas.d.ts.map +0 -1
- package/dist/customObjectSchemas.js +0 -35
- package/dist/customObjectSchemas.js.map +0 -1
- package/dist/dryRun.d.ts +0 -9
- package/dist/dryRun.d.ts.map +0 -1
- package/dist/dryRun.js +0 -75
- package/dist/dryRun.js.map +0 -1
- package/dist/dryRunAttribution.d.ts +0 -10
- package/dist/dryRunAttribution.d.ts.map +0 -1
- package/dist/dryRunAttribution.js +0 -14
- package/dist/dryRunAttribution.js.map +0 -1
- package/dist/dryrun/dryRunAttribution.d.ts +0 -10
- package/dist/dryrun/dryRunAttribution.d.ts.map +0 -1
- package/dist/dryrun/dryRunAttribution.js +0 -14
- package/dist/dryrun/dryRunAttribution.js.map +0 -1
- package/dist/engine/objectRedactor.d.ts +0 -18
- package/dist/engine/objectRedactor.d.ts.map +0 -1
- package/dist/engine/objectRedactor.js +0 -38
- package/dist/engine/objectRedactor.js.map +0 -1
- package/dist/engine/objectRedactorSync.d.ts +0 -2
- package/dist/engine/objectRedactorSync.d.ts.map +0 -1
- package/dist/engine/objectRedactorSync.js +0 -7
- package/dist/engine/objectRedactorSync.js.map +0 -1
- package/dist/fieldDisposition.d.ts +0 -3
- package/dist/fieldDisposition.d.ts.map +0 -1
- package/dist/fieldDisposition.js +0 -6
- package/dist/fieldDisposition.js.map +0 -1
- package/dist/fieldRedactor.d.ts +0 -51
- package/dist/fieldRedactor.d.ts.map +0 -1
- package/dist/fieldRedactor.js +0 -165
- package/dist/fieldRedactor.js.map +0 -1
- package/dist/fieldRedactorConfigBuilder.d.ts +0 -55
- package/dist/fieldRedactorConfigBuilder.d.ts.map +0 -1
- package/dist/fieldRedactorConfigBuilder.js +0 -111
- package/dist/fieldRedactorConfigBuilder.js.map +0 -1
- package/dist/fieldRedactorDeps.d.ts +0 -19
- package/dist/fieldRedactorDeps.d.ts.map +0 -1
- package/dist/fieldRedactorDeps.js +0 -43
- package/dist/fieldRedactorDeps.js.map +0 -1
- package/dist/jsonWalk.d.ts +0 -11
- package/dist/jsonWalk.d.ts.map +0 -1
- package/dist/jsonWalk.js +0 -55
- package/dist/jsonWalk.js.map +0 -1
- package/dist/maybeAsync.d.ts +0 -7
- package/dist/maybeAsync.d.ts.map +0 -1
- package/dist/maybeAsync.js +0 -56
- package/dist/maybeAsync.js.map +0 -1
- package/dist/objectRedactor.d.ts +0 -18
- package/dist/objectRedactor.d.ts.map +0 -1
- package/dist/objectRedactor.js +0 -38
- package/dist/objectRedactor.js.map +0 -1
- package/dist/objectRedactorCow.d.ts +0 -35
- package/dist/objectRedactorCow.d.ts.map +0 -1
- package/dist/objectRedactorCow.js +0 -300
- package/dist/objectRedactorCow.js.map +0 -1
- package/dist/objectRedactorCustomObject.d.ts +0 -28
- package/dist/objectRedactorCustomObject.d.ts.map +0 -1
- package/dist/objectRedactorCustomObject.js +0 -57
- package/dist/objectRedactorCustomObject.js.map +0 -1
- package/dist/objectRedactorHelpers.d.ts +0 -9
- package/dist/objectRedactorHelpers.d.ts.map +0 -1
- package/dist/objectRedactorHelpers.js +0 -61
- package/dist/objectRedactorHelpers.js.map +0 -1
- package/dist/objectRedactorMutation.d.ts +0 -10
- package/dist/objectRedactorMutation.d.ts.map +0 -1
- package/dist/objectRedactorMutation.js +0 -89
- package/dist/objectRedactorMutation.js.map +0 -1
- package/dist/objectRedactorSync.d.ts +0 -2
- package/dist/objectRedactorSync.d.ts.map +0 -1
- package/dist/objectRedactorSync.js +0 -7
- package/dist/objectRedactorSync.js.map +0 -1
- package/dist/objectRedactorTraversal.d.ts +0 -41
- package/dist/objectRedactorTraversal.d.ts.map +0 -1
- package/dist/objectRedactorTraversal.js +0 -201
- package/dist/objectRedactorTraversal.js.map +0 -1
- package/dist/pathParsing.d.ts +0 -11
- package/dist/pathParsing.d.ts.map +0 -1
- package/dist/pathParsing.js +0 -53
- package/dist/pathParsing.js.map +0 -1
- package/dist/pathRuleMatcher.d.ts +0 -19
- package/dist/pathRuleMatcher.d.ts.map +0 -1
- package/dist/pathRuleMatcher.js +0 -42
- package/dist/pathRuleMatcher.js.map +0 -1
- package/dist/presets.d.ts +0 -22
- package/dist/presets.d.ts.map +0 -1
- package/dist/presets.js +0 -50
- package/dist/presets.js.map +0 -1
- package/dist/primitiveRedactor.d.ts +0 -33
- package/dist/primitiveRedactor.d.ts.map +0 -1
- package/dist/primitiveRedactor.js +0 -75
- package/dist/primitiveRedactor.js.map +0 -1
- package/dist/redactionRules.d.ts +0 -22
- package/dist/redactionRules.d.ts.map +0 -1
- package/dist/redactionRules.js +0 -74
- package/dist/redactionRules.js.map +0 -1
- package/dist/regexUtils.d.ts +0 -3
- package/dist/regexUtils.d.ts.map +0 -1
- package/dist/regexUtils.js +0 -8
- package/dist/regexUtils.js.map +0 -1
- package/dist/ruleResolver.d.ts +0 -65
- package/dist/ruleResolver.d.ts.map +0 -1
- package/dist/ruleResolver.js +0 -193
- package/dist/ruleResolver.js.map +0 -1
- package/dist/rules/fieldDisposition.d.ts +0 -3
- package/dist/rules/fieldDisposition.d.ts.map +0 -1
- package/dist/rules/fieldDisposition.js +0 -6
- package/dist/rules/fieldDisposition.js.map +0 -1
- package/dist/secretManager.d.ts +0 -32
- package/dist/secretManager.d.ts.map +0 -1
- package/dist/secretManager.js +0 -85
- package/dist/secretManager.js.map +0 -1
- package/dist/traversalServices.d.ts +0 -21
- package/dist/traversalServices.d.ts.map +0 -1
- package/dist/traversalServices.js +0 -3
- package/dist/traversalServices.js.map +0 -1
- package/dist/valuePatternMatcher.d.ts +0 -15
- package/dist/valuePatternMatcher.d.ts.map +0 -1
- package/dist/valuePatternMatcher.js +0 -30
- package/dist/valuePatternMatcher.js.map +0 -1
|
@@ -12,8 +12,10 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
14
|
exports.mergePartialConfig = exports.finalizeRegisteredSchemas = exports.appendRegExpArray = exports.resolveSecretKeys = exports.normalizeFieldRedactorConfig = exports.hasExplicitRedactionRules = exports.RULE_LIST_FIELDS = exports.REGEX_ARRAY_CONFIG_FIELDS = exports.PASS_KEY_FIELDS = exports.VALUE_PATTERN_FIELDS = exports.SECRET_REGEX_ALIAS_FIELDS = exports.SECRET_REGEX_FIELDS = void 0;
|
|
15
|
-
|
|
16
|
-
exports.
|
|
15
|
+
/** Canonical key-rule regex fields (preferred Opaque/Remove names). */
|
|
16
|
+
exports.SECRET_REGEX_FIELDS = ['secretKeys', 'deepSecretKeys', 'opaqueSecretKeys', 'removeSecretKeys'];
|
|
17
|
+
/** Legacy aliases accepted on input and merged into {@link SECRET_REGEX_FIELDS}. */
|
|
18
|
+
exports.SECRET_REGEX_ALIAS_FIELDS = ['fullSecretKeys', 'deleteSecretKeys'];
|
|
17
19
|
exports.VALUE_PATTERN_FIELDS = ['valuePatterns'];
|
|
18
20
|
exports.PASS_KEY_FIELDS = ['passKeys'];
|
|
19
21
|
exports.REGEX_ARRAY_CONFIG_FIELDS = [
|
|
@@ -27,19 +29,22 @@ const hasNonEmptyArray = (value) => value !== undefined && value.length > 0;
|
|
|
27
29
|
const hasExplicitRedactionRules = (config) => exports.RULE_LIST_FIELDS.some((field) => hasNonEmptyArray(config === null || config === void 0 ? void 0 : config[field])) ||
|
|
28
30
|
hasNonEmptyArray(config === null || config === void 0 ? void 0 : config.pathRules);
|
|
29
31
|
exports.hasExplicitRedactionRules = hasExplicitRedactionRules;
|
|
30
|
-
/**
|
|
32
|
+
/**
|
|
33
|
+
* Merge legacy `fullSecretKeys` / `deleteSecretKeys` into canonical
|
|
34
|
+
* `opaqueSecretKeys` / `removeSecretKeys` and drop the legacy keys.
|
|
35
|
+
*/
|
|
31
36
|
const normalizeFieldRedactorConfig = (config) => {
|
|
32
37
|
var _a, _b;
|
|
33
38
|
if (!config) {
|
|
34
39
|
return config;
|
|
35
40
|
}
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
if (!(
|
|
41
|
+
const fullSecretKeys = config.fullSecretKeys;
|
|
42
|
+
const deleteSecretKeys = config.deleteSecretKeys;
|
|
43
|
+
if (!(fullSecretKeys === null || fullSecretKeys === void 0 ? void 0 : fullSecretKeys.length) && !(deleteSecretKeys === null || deleteSecretKeys === void 0 ? void 0 : deleteSecretKeys.length)) {
|
|
39
44
|
return config;
|
|
40
45
|
}
|
|
41
|
-
const {
|
|
42
|
-
return Object.assign(Object.assign({}, rest), {
|
|
46
|
+
const { fullSecretKeys: _full, deleteSecretKeys: _delete } = config, rest = __rest(config, ["fullSecretKeys", "deleteSecretKeys"]);
|
|
47
|
+
return Object.assign(Object.assign({}, rest), { opaqueSecretKeys: [...((_a = config.opaqueSecretKeys) !== null && _a !== void 0 ? _a : []), ...(fullSecretKeys !== null && fullSecretKeys !== void 0 ? fullSecretKeys : [])], removeSecretKeys: [...((_b = config.removeSecretKeys) !== null && _b !== void 0 ? _b : []), ...(deleteSecretKeys !== null && deleteSecretKeys !== void 0 ? deleteSecretKeys : [])] });
|
|
43
48
|
};
|
|
44
49
|
exports.normalizeFieldRedactorConfig = normalizeFieldRedactorConfig;
|
|
45
50
|
/**
|
|
@@ -48,14 +53,14 @@ exports.normalizeFieldRedactorConfig = normalizeFieldRedactorConfig;
|
|
|
48
53
|
* Expects an already-normalized config (aliases merged).
|
|
49
54
|
*/
|
|
50
55
|
const resolveSecretKeys = (config = {}) => {
|
|
51
|
-
const { secretKeys, deepSecretKeys,
|
|
56
|
+
const { secretKeys, deepSecretKeys, opaqueSecretKeys, removeSecretKeys, customObjects, valuePatterns, pathRules } = config;
|
|
52
57
|
if (secretKeys !== undefined) {
|
|
53
58
|
return secretKeys;
|
|
54
59
|
}
|
|
55
60
|
if (((valuePatterns === null || valuePatterns === void 0 ? void 0 : valuePatterns.length) || (pathRules === null || pathRules === void 0 ? void 0 : pathRules.length)) &&
|
|
56
61
|
!(deepSecretKeys === null || deepSecretKeys === void 0 ? void 0 : deepSecretKeys.length) &&
|
|
57
|
-
!(
|
|
58
|
-
!(
|
|
62
|
+
!(opaqueSecretKeys === null || opaqueSecretKeys === void 0 ? void 0 : opaqueSecretKeys.length) &&
|
|
63
|
+
!(removeSecretKeys === null || removeSecretKeys === void 0 ? void 0 : removeSecretKeys.length) &&
|
|
59
64
|
!(customObjects === null || customObjects === void 0 ? void 0 : customObjects.length)) {
|
|
60
65
|
return [];
|
|
61
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redactionRules.js","sourceRoot":"","sources":["../../src/config/redactionRules.ts"],"names":[],"mappings":";;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"redactionRules.js","sourceRoot":"","sources":["../../src/config/redactionRules.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ var schemaSiblingKey_1 = require("../rules/schemaSiblingKey");
|
|
|
10
10
|
Object.defineProperty(exports, "getStringSpecifiedCustomObjectSecretKeyValueIfExists", { enumerable: true, get: function () { return schemaSiblingKey_1.getStringSpecifiedCustomObjectSecretKeyValueIfExists; } });
|
|
11
11
|
function redactPrimitiveValueIfSecret(secretManager, valuePatternMatcher, redact, key, value, forceDeepRedaction) {
|
|
12
12
|
if (value instanceof Date || typeof value === 'function') {
|
|
13
|
-
if (secretManager.
|
|
13
|
+
if (secretManager.isOpaqueSecretKey(key) ||
|
|
14
14
|
forceDeepRedaction ||
|
|
15
15
|
secretManager.isSecretKey(key) ||
|
|
16
16
|
secretManager.isDeepSecretKey(key)) {
|
|
@@ -18,7 +18,7 @@ function redactPrimitiveValueIfSecret(secretManager, valuePatternMatcher, redact
|
|
|
18
18
|
}
|
|
19
19
|
return value;
|
|
20
20
|
}
|
|
21
|
-
if (secretManager.
|
|
21
|
+
if (secretManager.isOpaqueSecretKey(key)) {
|
|
22
22
|
return redact((0, primitiveCoercion_1.getStringValue)(value));
|
|
23
23
|
}
|
|
24
24
|
if (forceDeepRedaction || secretManager.isSecretKey(key) || secretManager.isDeepSecretKey(key)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objectRedactorHelpers.js","sourceRoot":"","sources":["../../src/engine/objectRedactorHelpers.ts"],"names":[],"mappings":";;;AAUA,oEAsCC;AA7CD,iEAAkF;AAIlF,+DAAkF;AAAzE,mHAAA,cAAc,OAAA;AAAE,0HAAA,qBAAqB,OAAA;AAC9C,8DAAiG;AAAxF,wJAAA,oDAAoD,OAAA;AAE7D,SAAgB,4BAA4B,CAC1C,aAA4B,EAC5B,mBAAwC,EACxC,MAA4B,EAC5B,GAAyB,EACzB,KAAgC,EAChC,kBAA2B;IAE3B,IAAI,KAAK,YAAY,IAAI,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QACzD,IACE,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"objectRedactorHelpers.js","sourceRoot":"","sources":["../../src/engine/objectRedactorHelpers.ts"],"names":[],"mappings":";;;AAUA,oEAsCC;AA7CD,iEAAkF;AAIlF,+DAAkF;AAAzE,mHAAA,cAAc,OAAA;AAAE,0HAAA,qBAAqB,OAAA;AAC9C,8DAAiG;AAAxF,wJAAA,oDAAoD,OAAA;AAE7D,SAAgB,4BAA4B,CAC1C,aAA4B,EAC5B,mBAAwC,EACxC,MAA4B,EAC5B,GAAyB,EACzB,KAAgC,EAChC,kBAA2B;IAE3B,IAAI,KAAK,YAAY,IAAI,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QACzD,IACE,aAAa,CAAC,iBAAiB,CAAC,GAAG,CAAC;YACpC,kBAAkB;YAClB,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC;YAC9B,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,EAClC,CAAC;YACD,OAAO,MAAM,CAAC,IAAA,kCAAc,EAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,aAAa,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,OAAO,MAAM,CAAC,IAAA,kCAAc,EAAC,KAAK,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,kBAAkB,IAAI,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/F,IAAI,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,MAAM,CAAC,KAA4B,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,mBAAmB,CAAC,YAAY,CAAC,IAAA,yCAAqB,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACnE,OAAO,MAAM,CAAC,KAA4B,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -7,6 +7,7 @@ import { PathRuleMatcher } from '../rules/pathRuleMatcher';
|
|
|
7
7
|
/**
|
|
8
8
|
* Unified JSON traversal for in-place and copy-on-write redaction.
|
|
9
9
|
* Sync and async paths share one implementation; async mode propagates Promises only when configured.
|
|
10
|
+
* CustomObjects take highest precedence, followed by opaque (`opaqueSecretKeys`), then deep, then shallow.
|
|
10
11
|
*/
|
|
11
12
|
export declare class ObjectRedactorTraversal {
|
|
12
13
|
private readonly primitiveRedactor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objectRedactorTraversal.d.ts","sourceRoot":"","sources":["../../src/engine/objectRedactorTraversal.ts"],"names":[],"mappings":"AAAA,OAAO,EAUL,eAAe,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAY3D
|
|
1
|
+
{"version":3,"file":"objectRedactorTraversal.d.ts","sourceRoot":"","sources":["../../src/engine/objectRedactorTraversal.ts"],"names":[],"mappings":"AAAA,OAAO,EAUL,eAAe,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAY3D;;;;GAIG;AACH,qBAAa,uBAAuB;IAOhC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IATtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA2B;IAC/D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;gBAG1B,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EAAE,aAAa,EAC7C,gBAAgB,EAAE,mBAAmB,EACpB,mBAAmB,EAAE,mBAAmB,EACzD,eAAe,EAAE,eAAe;IAiClC,iBAAiB,IAAI,OAAO;IAI5B,aAAa,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;IASrD,iBAAiB,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;IASzD,kBAAkB,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAInE,OAAO,KAAK,SAAS,GAEpB;IAED,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,qBAAqB;IAkC7B,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,kBAAkB;IAyC1B,OAAO,CAAC,uBAAuB;IA2B/B,OAAO,CAAC,kBAAkB;IA4B1B,OAAO,CAAC,yBAAyB;CAwBlC"}
|
|
@@ -11,6 +11,7 @@ const customObjectFieldHandler_1 = require("./customObjectFieldHandler");
|
|
|
11
11
|
/**
|
|
12
12
|
* Unified JSON traversal for in-place and copy-on-write redaction.
|
|
13
13
|
* Sync and async paths share one implementation; async mode propagates Promises only when configured.
|
|
14
|
+
* CustomObjects take highest precedence, followed by opaque (`opaqueSecretKeys`), then deep, then shallow.
|
|
14
15
|
*/
|
|
15
16
|
class ObjectRedactorTraversal {
|
|
16
17
|
constructor(primitiveRedactor, secretManager, customObjManager, valuePatternMatcher, pathRuleMatcher) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objectRedactorTraversal.js","sourceRoot":"","sources":["../../src/engine/objectRedactorTraversal.ts"],"names":[],"mappings":";;;AAAA,oCAWkB;AAIlB,qEAAsF;AAGtF,mEAIiC;AACjC,wDAAuE;AACvE,mDAAmF;AACnF,qDAAiD;AACjD,yEAAsE;AAGtE
|
|
1
|
+
{"version":3,"file":"objectRedactorTraversal.js","sourceRoot":"","sources":["../../src/engine/objectRedactorTraversal.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,10 +47,10 @@ class RuleResolver {
|
|
|
47
47
|
return (match === null || match === void 0 ? void 0 : match.mode) === 'pass' ? undefined : match;
|
|
48
48
|
}
|
|
49
49
|
shouldRemoveByKey(key) {
|
|
50
|
-
return this.secretManager.
|
|
50
|
+
return this.secretManager.isRemoveSecretKey(key);
|
|
51
51
|
}
|
|
52
52
|
shouldOpaqueByKey(key) {
|
|
53
|
-
return this.secretManager.
|
|
53
|
+
return this.secretManager.isOpaqueSecretKey(key);
|
|
54
54
|
}
|
|
55
55
|
shouldTraverseContainerByKey(key, forceDeepRedaction) {
|
|
56
56
|
return (this.secretManager.isSecretKey(key) ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ruleResolver.js","sourceRoot":"","sources":["../../src/rules/ruleResolver.ts"],"names":[],"mappings":";;;AACA,yDAA0F;AAC1F,+CAAwE;AACxE,qDAAoD;AACpD,iEAAkE;AAIlE,oCAUkB;AAoBlB,MAAM,wBAAwB,GAA2C;IACvE,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IACxB,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;IAC5B,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;IAC5B,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IACxB,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;CAC/B,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,QAAgC,EAAY,EAAE,CACxE,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAqB,EAAE,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC;AAE/E,MAAM,UAAU,GAAG,CACjB,IAAY,EACZ,MAAgC,EAChC,IAAwB,EACxB,SAAkF,EAAE,EACpE,EAAE,CAAC,iBAAG,IAAI,EAAE,MAAM,EAAE,IAAI,IAAK,MAAM,EAAG,CAAC;AAEzD,MAAM,aAAa,GAAG,CAAC,aAA4B,EAAE,GAAyB,EAAE,IAAa,EAAsB,EAAE,CACnH,aAAa,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAE7C,qEAAqE;AAC9D,MAAM,sBAAsB,GAAG,CACpC,aAA4B,EAC5B,eAAgC,EAChC,GAAW,EACX,YAAoC,EACpC,kBAA2B,EACT,EAAE;IACpB,MAAM,QAAQ,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC;IACzE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,kBAAkB,IAAI,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IACxC,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC/B,CAAC,CAAC;AAjBW,QAAA,sBAAsB,0BAiBjC;AAEF;;;GAGG;AACH,MAAa,YAAY;IACvB,YACmB,aAA4B,EAC5B,eAAgC,EAChC,mBAAwC,EACxC,mBAAwC;QAHxC,kBAAa,GAAb,aAAa,CAAe;QAC5B,oBAAe,GAAf,eAAe,CAAiB;QAChC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,wBAAmB,GAAnB,mBAAmB,CAAqB;IACxD,CAAC;IAEJ,sBAAsB,CACpB,YAAoC,EACpC,GAAW,EACX,kBAA2B;QAE3B,OAAO,IAAA,8BAAsB,EAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC;IACjH,CAAC;IAED,mBAAmB,CAAC,QAAgC;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC7D,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IACpD,CAAC;IAED,iBAAiB,CAAC,GAAyB;QACzC,OAAO,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC;IAED,iBAAiB,CAAC,GAAyB;QACzC,OAAO,IAAI,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"ruleResolver.js","sourceRoot":"","sources":["../../src/rules/ruleResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,13 +2,13 @@ import { SecretManagerConfig, SecretSpecifierValue } from '../types';
|
|
|
2
2
|
export type KeyRule = 'remove' | 'opaque' | 'deep' | 'shallow';
|
|
3
3
|
/**
|
|
4
4
|
* Utility class for managing secrets and determining if a given value is a secret of any type. If no secrets of
|
|
5
|
-
* any type are provided in the configuration then all values are considered secrets (but not deep or
|
|
5
|
+
* any type are provided in the configuration then all values are considered secrets (but not deep or opaque secrets).
|
|
6
6
|
*/
|
|
7
7
|
export declare class SecretManager {
|
|
8
8
|
private secretKeys?;
|
|
9
9
|
private deepSecretKeys?;
|
|
10
|
-
private
|
|
11
|
-
private
|
|
10
|
+
private opaqueSecretKeys?;
|
|
11
|
+
private removeSecretKeys?;
|
|
12
12
|
private passKeys?;
|
|
13
13
|
constructor(config: SecretManagerConfig);
|
|
14
14
|
/**
|
|
@@ -17,8 +17,8 @@ export declare class SecretManager {
|
|
|
17
17
|
*/
|
|
18
18
|
isSecretKey(key: SecretSpecifierValue): boolean;
|
|
19
19
|
isDeepSecretKey(key: SecretSpecifierValue): boolean;
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
isOpaqueSecretKey(key: SecretSpecifierValue): boolean;
|
|
21
|
+
isRemoveSecretKey(key: SecretSpecifierValue): boolean;
|
|
22
22
|
/** Determines if a key is allowlisted and should not be redacted under deep parents. */
|
|
23
23
|
isPassKey(key: SecretSpecifierValue): boolean;
|
|
24
24
|
getKeyRulePattern(key: SecretSpecifierValue, rule: KeyRule): string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secretManager.d.ts","sourceRoot":"","sources":["../../src/rules/secretManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAErE,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"secretManager.d.ts","sourceRoot":"","sources":["../../src/rules/secretManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAErE,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAS/D;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,UAAU,CAAC,CAAW;IAC9B,OAAO,CAAC,cAAc,CAAC,CAAW;IAClC,OAAO,CAAC,gBAAgB,CAAC,CAAW;IACpC,OAAO,CAAC,gBAAgB,CAAC,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,CAAW;gBAEhB,MAAM,EAAE,mBAAmB;IAcvC;;;OAGG;IACI,WAAW,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO;IAQ/C,eAAe,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO;IAInD,iBAAiB,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO;IAIrD,iBAAiB,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO;IAI5D,wFAAwF;IACjF,SAAS,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO;IAI7C,iBAAiB,CAAC,GAAG,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IAK/E,eAAe,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI;IAc7E,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAIhC,OAAO,CAAC,MAAM,CAAC,eAAe;CAG/B"}
|
|
@@ -3,17 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.SecretManager = void 0;
|
|
4
4
|
const regexUtils_1 = require("../util/regexUtils");
|
|
5
5
|
const KEY_RULE_PRECEDENCE = ['remove', 'opaque', 'deep', 'shallow'];
|
|
6
|
+
const mergeRegexLists = (...lists) => {
|
|
7
|
+
const merged = lists.flatMap((list) => list !== null && list !== void 0 ? list : []);
|
|
8
|
+
return merged.length ? merged : undefined;
|
|
9
|
+
};
|
|
6
10
|
/**
|
|
7
11
|
* Utility class for managing secrets and determining if a given value is a secret of any type. If no secrets of
|
|
8
|
-
* any type are provided in the configuration then all values are considered secrets (but not deep or
|
|
12
|
+
* any type are provided in the configuration then all values are considered secrets (but not deep or opaque secrets).
|
|
9
13
|
*/
|
|
10
14
|
class SecretManager {
|
|
11
15
|
constructor(config) {
|
|
12
16
|
this.deepSecretKeys = config.deepSecretKeys;
|
|
13
|
-
this.
|
|
14
|
-
this.
|
|
17
|
+
this.opaqueSecretKeys = mergeRegexLists(config.opaqueSecretKeys, config.fullSecretKeys);
|
|
18
|
+
this.removeSecretKeys = mergeRegexLists(config.removeSecretKeys, config.deleteSecretKeys);
|
|
15
19
|
this.passKeys = config.passKeys;
|
|
16
|
-
|
|
20
|
+
const hasScopedKeyRules = !!(this.deepSecretKeys || this.opaqueSecretKeys || this.removeSecretKeys);
|
|
21
|
+
if (!config.secretKeys && hasScopedKeyRules) {
|
|
17
22
|
this.secretKeys = [];
|
|
18
23
|
}
|
|
19
24
|
else {
|
|
@@ -33,10 +38,10 @@ class SecretManager {
|
|
|
33
38
|
isDeepSecretKey(key) {
|
|
34
39
|
return this.matchesRule(key, 'deep');
|
|
35
40
|
}
|
|
36
|
-
|
|
41
|
+
isOpaqueSecretKey(key) {
|
|
37
42
|
return this.matchesRule(key, 'opaque');
|
|
38
43
|
}
|
|
39
|
-
|
|
44
|
+
isRemoveSecretKey(key) {
|
|
40
45
|
return this.matchesRule(key, 'remove');
|
|
41
46
|
}
|
|
42
47
|
/** Determines if a key is allowlisted and should not be redacted under deep parents. */
|
|
@@ -65,9 +70,9 @@ class SecretManager {
|
|
|
65
70
|
regexListFor(rule) {
|
|
66
71
|
switch (rule) {
|
|
67
72
|
case 'remove':
|
|
68
|
-
return this.
|
|
73
|
+
return this.removeSecretKeys;
|
|
69
74
|
case 'opaque':
|
|
70
|
-
return this.
|
|
75
|
+
return this.opaqueSecretKeys;
|
|
71
76
|
case 'deep':
|
|
72
77
|
return this.deepSecretKeys;
|
|
73
78
|
case 'shallow':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secretManager.js","sourceRoot":"","sources":["../../src/rules/secretManager.ts"],"names":[],"mappings":";;;AAAA,mDAAkD;AAKlD,MAAM,mBAAmB,GAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAE/E;;;GAGG;AACH,MAAa,aAAa;IAOxB,YAAY,MAA2B;QACrC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"secretManager.js","sourceRoot":"","sources":["../../src/rules/secretManager.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,16 +1,22 @@
|
|
|
1
|
-
/** JSON-compatible primitive. */
|
|
1
|
+
/** JSON-compatible primitive. Useful when typing redactor inputs and report values. */
|
|
2
2
|
export type JsonPrimitive = string | number | boolean | null;
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
* Function values encountered during traversal are left unchanged.
|
|
5
|
+
* @internal Primarily for engine typing; consumers rarely need this directly.
|
|
6
|
+
*/
|
|
4
7
|
export type JsonFunction = (...args: never[]) => unknown;
|
|
5
|
-
/**
|
|
8
|
+
/**
|
|
9
|
+
* Scalar values that may appear in JSON-like structures during redaction.
|
|
10
|
+
* @internal Prefer {@link JsonPrimitive} or {@link JsonValue} in application code.
|
|
11
|
+
*/
|
|
6
12
|
export type JsonLeafValue = JsonPrimitive | Date | JsonFunction;
|
|
7
|
-
/** JSON-compatible object. */
|
|
13
|
+
/** JSON-compatible object. Useful when typing nested payloads. */
|
|
8
14
|
export type JsonObject = {
|
|
9
15
|
[key: string]: JsonValue | undefined;
|
|
10
16
|
};
|
|
11
17
|
/** JSON-compatible array. */
|
|
12
18
|
export type JsonArray = Array<JsonValue | undefined>;
|
|
13
|
-
/** JSON-compatible value. */
|
|
19
|
+
/** JSON-compatible value. Useful when typing redactor inputs. */
|
|
14
20
|
export type JsonValue = JsonLeafValue | JsonObject | JsonArray;
|
|
15
21
|
/**
|
|
16
22
|
* Values accepted by {@link FieldRedactor.redact} and {@link FieldRedactor.redactInPlace}.
|
|
@@ -19,13 +25,20 @@ export type JsonValue = JsonLeafValue | JsonObject | JsonArray;
|
|
|
19
25
|
export type RedactableInput = JsonValue | undefined;
|
|
20
26
|
/** Primitive values that may be passed to a custom {@link Redactor} function. */
|
|
21
27
|
export type RedactorInput = JsonPrimitive | undefined;
|
|
22
|
-
/**
|
|
28
|
+
/**
|
|
29
|
+
* Primitive values processed by {@link PrimitiveRedactor}.
|
|
30
|
+
* @internal Alias of {@link RedactorInput}; prefer RedactorInput in application code.
|
|
31
|
+
*/
|
|
23
32
|
export type RedactablePrimitive = RedactorInput;
|
|
24
|
-
/**
|
|
33
|
+
/**
|
|
34
|
+
* Result of redacting a primitive value.
|
|
35
|
+
* @internal Engine typing detail; prefer `string` for custom redactor return types.
|
|
36
|
+
*/
|
|
25
37
|
export type RedactedPrimitive = string | boolean | null | undefined | 0;
|
|
26
38
|
/**
|
|
27
39
|
* Sibling field value used to resolve secret specifiers in custom object schemas
|
|
28
40
|
* (for example, the string `"email"` in a `{ name, value }` metadata entry).
|
|
41
|
+
* @internal Prefer string | number | boolean in application schemas.
|
|
29
42
|
*/
|
|
30
43
|
export type SecretSpecifierValue = string | number | boolean;
|
|
31
44
|
export type Redactor = (value: RedactorInput) => Promise<string>;
|
|
@@ -37,14 +50,14 @@ export type SyncRedactor = (value: RedactorInput) => string;
|
|
|
37
50
|
* over the legacy Full / Delete names (same numeric values).
|
|
38
51
|
*/
|
|
39
52
|
export declare enum CustomObjectMatchType {
|
|
40
|
-
/** @deprecated Prefer {@link CustomObjectMatchType.Remove}. */
|
|
41
|
-
Delete = 0,
|
|
42
53
|
/** Remove — delete the field from output. */
|
|
43
54
|
Remove = 0,
|
|
44
|
-
/** @deprecated Prefer {@link CustomObjectMatchType.
|
|
45
|
-
|
|
55
|
+
/** @deprecated Prefer {@link CustomObjectMatchType.Remove}. */
|
|
56
|
+
Delete = 0,
|
|
46
57
|
/** Opaque — stringify the entire value, then redact. */
|
|
47
58
|
Opaque = 1,
|
|
59
|
+
/** @deprecated Prefer {@link CustomObjectMatchType.Opaque}. */
|
|
60
|
+
Full = 1,
|
|
48
61
|
Deep = 2,
|
|
49
62
|
Shallow = 3,
|
|
50
63
|
Pass = 4,
|
|
@@ -68,20 +81,20 @@ export type SecretManagerConfig = {
|
|
|
68
81
|
secretKeys?: RegExp[];
|
|
69
82
|
/** Deep — redact matching keys and all descendant primitives (`deepSecretKeys`). */
|
|
70
83
|
deepSecretKeys?: RegExp[];
|
|
84
|
+
/** Opaque — stringify entire value at matching keys, then redact. */
|
|
85
|
+
opaqueSecretKeys?: RegExp[];
|
|
71
86
|
/**
|
|
72
|
-
*
|
|
73
|
-
*
|
|
87
|
+
* @deprecated Prefer {@link SecretManagerConfig.opaqueSecretKeys}.
|
|
88
|
+
* Still accepted and merged into opaqueSecretKeys during construction / normalize.
|
|
74
89
|
*/
|
|
75
90
|
fullSecretKeys?: RegExp[];
|
|
76
|
-
/**
|
|
77
|
-
|
|
91
|
+
/** Remove — delete matching keys from output. */
|
|
92
|
+
removeSecretKeys?: RegExp[];
|
|
78
93
|
/**
|
|
79
|
-
*
|
|
80
|
-
*
|
|
94
|
+
* @deprecated Prefer {@link SecretManagerConfig.removeSecretKeys}.
|
|
95
|
+
* Still accepted and merged into removeSecretKeys during construction / normalize.
|
|
81
96
|
*/
|
|
82
97
|
deleteSecretKeys?: RegExp[];
|
|
83
|
-
/** Remove — preferred name for {@link SecretManagerConfig.deleteSecretKeys}. */
|
|
84
|
-
removeSecretKeys?: RegExp[];
|
|
85
98
|
/**
|
|
86
99
|
* Allowlist — matching key names are never redacted, even under deep or opaque parents (`passKeys`).
|
|
87
100
|
*/
|
|
@@ -157,9 +170,14 @@ export type DryRunResult<T> = {
|
|
|
157
170
|
result: T;
|
|
158
171
|
report: DryRunReport;
|
|
159
172
|
};
|
|
160
|
-
/** JSON object or array traversed during in-place redaction.
|
|
173
|
+
/** JSON object or array traversed during in-place redaction.
|
|
174
|
+
* @internal Engine typing; prefer {@link JsonObject} / {@link JsonArray} / {@link RedactableInput}.
|
|
175
|
+
*/
|
|
161
176
|
export type TraversableJson = JsonObject | JsonArray;
|
|
162
|
-
/**
|
|
177
|
+
/**
|
|
178
|
+
* Mutable key/value map used while traversing JSON object or array keys in place.
|
|
179
|
+
* @internal Not part of the supported public API.
|
|
180
|
+
*/
|
|
163
181
|
export type JsonRecord = Record<string, JsonValue | undefined>;
|
|
164
182
|
export declare const isJsonObject: (value: JsonValue | undefined) => value is JsonObject;
|
|
165
183
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -8,14 +8,14 @@ exports.isJsonObject = exports.CustomObjectMatchType = void 0;
|
|
|
8
8
|
*/
|
|
9
9
|
var CustomObjectMatchType;
|
|
10
10
|
(function (CustomObjectMatchType) {
|
|
11
|
-
/** @deprecated Prefer {@link CustomObjectMatchType.Remove}. */
|
|
12
|
-
CustomObjectMatchType[CustomObjectMatchType["Delete"] = 0] = "Delete";
|
|
13
11
|
/** Remove — delete the field from output. */
|
|
14
12
|
CustomObjectMatchType[CustomObjectMatchType["Remove"] = 0] = "Remove";
|
|
15
|
-
/** @deprecated Prefer {@link CustomObjectMatchType.
|
|
16
|
-
CustomObjectMatchType[CustomObjectMatchType["
|
|
13
|
+
/** @deprecated Prefer {@link CustomObjectMatchType.Remove}. */
|
|
14
|
+
CustomObjectMatchType[CustomObjectMatchType["Delete"] = 0] = "Delete";
|
|
17
15
|
/** Opaque — stringify the entire value, then redact. */
|
|
18
16
|
CustomObjectMatchType[CustomObjectMatchType["Opaque"] = 1] = "Opaque";
|
|
17
|
+
/** @deprecated Prefer {@link CustomObjectMatchType.Opaque}. */
|
|
18
|
+
CustomObjectMatchType[CustomObjectMatchType["Full"] = 1] = "Full";
|
|
19
19
|
CustomObjectMatchType[CustomObjectMatchType["Deep"] = 2] = "Deep";
|
|
20
20
|
CustomObjectMatchType[CustomObjectMatchType["Shallow"] = 3] = "Shallow";
|
|
21
21
|
CustomObjectMatchType[CustomObjectMatchType["Pass"] = 4] = "Pass";
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAyDA;;;;GAIG;AACH,IAAY,qBAaX;AAbD,WAAY,qBAAqB;IAC/B,6CAA6C;IAC7C,qEAAU,CAAA;IACV,+DAA+D;IAC/D,qEAAU,CAAA;IACV,wDAAwD;IACxD,qEAAU,CAAA;IACV,+DAA+D;IAC/D,iEAAQ,CAAA;IACR,iEAAQ,CAAA;IACR,uEAAW,CAAA;IACX,iEAAQ,CAAA;IACR,qEAAU,CAAA;AACZ,CAAC,EAbW,qBAAqB,qCAArB,qBAAqB,QAahC;AAyIM,MAAM,YAAY,GAAG,CAAC,KAA4B,EAAuB,EAAE,CAChF,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAD/E,QAAA,YAAY,gBACmE"}
|
|
@@ -4,7 +4,7 @@ Common mistakes when configuring Field Redactor — and what to do instead. Many
|
|
|
4
4
|
|
|
5
5
|
## Using `new FieldRedactor()` without rules
|
|
6
6
|
|
|
7
|
-
**Problem:** With no `secretKeys`, `deepSecretKeys`, `
|
|
7
|
+
**Problem:** With no `secretKeys`, `deepSecretKeys`, `opaqueSecretKeys`, `removeSecretKeys`, or `customObjects`, every value is redacted. Easy to ship a config that wipes entire payloads.
|
|
8
8
|
|
|
9
9
|
**Instead:** Use `FieldRedactor.createSafe()`, `FieldRedactorConfigBuilder.buildSafeRedactor()`, or the builder with at least one explicit rule.
|
|
10
10
|
|
|
@@ -33,7 +33,7 @@ const metadataSchema: CustomObject = {
|
|
|
33
33
|
|
|
34
34
|
## Sibling key rules
|
|
35
35
|
|
|
36
|
-
When a schema field is a **string** (e.g. `value: 'name'`), that string names a sibling key. The sibling's **value** is tested against `secretKeys`, `deepSecretKeys`, `
|
|
36
|
+
When a schema field is a **string** (e.g. `value: 'name'`), that string names a sibling key. The sibling's **value** is tested against `secretKeys`, `deepSecretKeys`, `opaqueSecretKeys`, and `removeSecretKeys`.
|
|
37
37
|
|
|
38
38
|
Falsy sibling values (`""`, `0`, `false`) are evaluated when the sibling key is present.
|
|
39
39
|
|
|
@@ -104,7 +104,7 @@ const redactor = FieldRedactor.createSafe({
|
|
|
104
104
|
});
|
|
105
105
|
```
|
|
106
106
|
|
|
107
|
-
`presets.loggingMetadata()` includes `{ name, type, value }` schema and `
|
|
107
|
+
`presets.loggingMetadata()` includes `{ name, type, value }` schema and `removeSecretKeys: [/authKey/i]`.
|
|
108
108
|
|
|
109
109
|
## Related
|
|
110
110
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# Migration: npm 1.5.x → 1.6.x
|
|
2
2
|
|
|
3
|
-
**1.6.0** is a minor release: new features and aliases with no required config changes for typical upgrades from **1.5.0**. **1.6.1**
|
|
3
|
+
**1.6.0** is a minor release: new features and aliases with no required config changes for typical upgrades from **1.5.0**. **1.6.1**–**1.6.3** are patches (install only; see [v1.6.1](../release-notes/v1.6.1.md), [v1.6.2](../release-notes/v1.6.2.md), [v1.6.3](../release-notes/v1.6.3.md)).
|
|
4
4
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
npm install field-redactor@1.6.
|
|
8
|
+
npm install field-redactor@1.6.3
|
|
9
9
|
# or
|
|
10
|
-
yarn add field-redactor@1.6.
|
|
10
|
+
yarn add field-redactor@1.6.3
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
## What you can adopt (optional)
|
|
@@ -32,7 +32,7 @@ See [Path rules & allowlists](path-rules.md).
|
|
|
32
32
|
| `CustomObjectMatchType.Opaque` | `CustomObjectMatchType.Full` |
|
|
33
33
|
| `CustomObjectMatchType.Remove` | `CustomObjectMatchType.Delete` |
|
|
34
34
|
|
|
35
|
-
Builder methods `.opaque()` / `.remove()`
|
|
35
|
+
Builder methods `.opaque()` / `.remove()` write `opaqueSecretKeys` / `removeSecretKeys`. Legacy `fullSecretKeys` / `deleteSecretKeys` remain accepted on config objects and are normalized internally.
|
|
36
36
|
|
|
37
37
|
## Behavior-sensitive notes
|
|
38
38
|
|
|
@@ -52,6 +52,8 @@ Source files were reorganized under `api/`, `engine/`, `rules/`, etc. That affec
|
|
|
52
52
|
|
|
53
53
|
## Links
|
|
54
54
|
|
|
55
|
+
- [Release notes v1.6.3](../release-notes/v1.6.3.md)
|
|
56
|
+
- [Release notes v1.6.2](../release-notes/v1.6.2.md)
|
|
55
57
|
- [Release notes v1.6.1](../release-notes/v1.6.1.md)
|
|
56
58
|
- [Release notes v1.6.0](../release-notes/v1.6.0.md)
|
|
57
59
|
- [CHANGELOG](../../CHANGELOG.md)
|