@brizz/sdk 0.1.1 → 0.1.2-rc.1

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.
Files changed (136) hide show
  1. package/README.md +339 -19
  2. package/dist/index.cjs +2937 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.d.cts +178 -0
  5. package/dist/index.d.ts +177 -12
  6. package/dist/index.js +2895 -26
  7. package/dist/index.js.map +1 -1
  8. package/dist/loader.mjs +72 -0
  9. package/dist/preload.cjs +2787 -0
  10. package/dist/preload.cjs.map +1 -0
  11. package/dist/preload.d.cts +2 -0
  12. package/dist/preload.d.ts +2 -0
  13. package/dist/preload.js +2777 -0
  14. package/dist/preload.js.map +1 -0
  15. package/package.json +48 -35
  16. package/dist/index.d.ts.map +0 -1
  17. package/dist/internal/config.d.ts +0 -17
  18. package/dist/internal/config.d.ts.map +0 -1
  19. package/dist/internal/config.js +0 -94
  20. package/dist/internal/config.js.map +0 -1
  21. package/dist/internal/instrumentation/auto-init.d.ts +0 -3
  22. package/dist/internal/instrumentation/auto-init.d.ts.map +0 -1
  23. package/dist/internal/instrumentation/auto-init.js +0 -87
  24. package/dist/internal/instrumentation/auto-init.js.map +0 -1
  25. package/dist/internal/instrumentation/index.d.ts +0 -2
  26. package/dist/internal/instrumentation/index.d.ts.map +0 -1
  27. package/dist/internal/instrumentation/index.js +0 -6
  28. package/dist/internal/instrumentation/index.js.map +0 -1
  29. package/dist/internal/instrumentation/registry.d.ts +0 -30
  30. package/dist/internal/instrumentation/registry.d.ts.map +0 -1
  31. package/dist/internal/instrumentation/registry.js +0 -94
  32. package/dist/internal/instrumentation/registry.js.map +0 -1
  33. package/dist/internal/instrumentation/vercel-ai/index.d.ts +0 -4
  34. package/dist/internal/instrumentation/vercel-ai/index.d.ts.map +0 -1
  35. package/dist/internal/instrumentation/vercel-ai/index.js +0 -8
  36. package/dist/internal/instrumentation/vercel-ai/index.js.map +0 -1
  37. package/dist/internal/instrumentation/vercel-ai/instrumentation.d.ts +0 -16
  38. package/dist/internal/instrumentation/vercel-ai/instrumentation.d.ts.map +0 -1
  39. package/dist/internal/instrumentation/vercel-ai/instrumentation.js +0 -119
  40. package/dist/internal/instrumentation/vercel-ai/instrumentation.js.map +0 -1
  41. package/dist/internal/instrumentation/vercel-ai/patchers/base-patcher.d.ts +0 -24
  42. package/dist/internal/instrumentation/vercel-ai/patchers/base-patcher.d.ts.map +0 -1
  43. package/dist/internal/instrumentation/vercel-ai/patchers/base-patcher.js +0 -57
  44. package/dist/internal/instrumentation/vercel-ai/patchers/base-patcher.js.map +0 -1
  45. package/dist/internal/instrumentation/vercel-ai/patchers/embeddings-patcher.d.ts +0 -16
  46. package/dist/internal/instrumentation/vercel-ai/patchers/embeddings-patcher.d.ts.map +0 -1
  47. package/dist/internal/instrumentation/vercel-ai/patchers/embeddings-patcher.js +0 -58
  48. package/dist/internal/instrumentation/vercel-ai/patchers/embeddings-patcher.js.map +0 -1
  49. package/dist/internal/instrumentation/vercel-ai/patchers/generate-text-patcher.d.ts +0 -8
  50. package/dist/internal/instrumentation/vercel-ai/patchers/generate-text-patcher.d.ts.map +0 -1
  51. package/dist/internal/instrumentation/vercel-ai/patchers/generate-text-patcher.js +0 -59
  52. package/dist/internal/instrumentation/vercel-ai/patchers/generate-text-patcher.js.map +0 -1
  53. package/dist/internal/instrumentation/vercel-ai/patchers/index.d.ts +0 -5
  54. package/dist/internal/instrumentation/vercel-ai/patchers/index.d.ts.map +0 -1
  55. package/dist/internal/instrumentation/vercel-ai/patchers/index.js +0 -12
  56. package/dist/internal/instrumentation/vercel-ai/patchers/index.js.map +0 -1
  57. package/dist/internal/instrumentation/vercel-ai/patchers/stream-text-patcher.d.ts +0 -12
  58. package/dist/internal/instrumentation/vercel-ai/patchers/stream-text-patcher.d.ts.map +0 -1
  59. package/dist/internal/instrumentation/vercel-ai/patchers/stream-text-patcher.js +0 -41
  60. package/dist/internal/instrumentation/vercel-ai/patchers/stream-text-patcher.js.map +0 -1
  61. package/dist/internal/instrumentation/vercel-ai/semconv.d.ts +0 -53
  62. package/dist/internal/instrumentation/vercel-ai/semconv.d.ts.map +0 -1
  63. package/dist/internal/instrumentation/vercel-ai/semconv.js +0 -57
  64. package/dist/internal/instrumentation/vercel-ai/semconv.js.map +0 -1
  65. package/dist/internal/instrumentation/vercel-ai/stream-handler.d.ts +0 -13
  66. package/dist/internal/instrumentation/vercel-ai/stream-handler.d.ts.map +0 -1
  67. package/dist/internal/instrumentation/vercel-ai/stream-handler.js +0 -101
  68. package/dist/internal/instrumentation/vercel-ai/stream-handler.js.map +0 -1
  69. package/dist/internal/instrumentation/vercel-ai/telemetry-recorder.d.ts +0 -13
  70. package/dist/internal/instrumentation/vercel-ai/telemetry-recorder.d.ts.map +0 -1
  71. package/dist/internal/instrumentation/vercel-ai/telemetry-recorder.js +0 -115
  72. package/dist/internal/instrumentation/vercel-ai/telemetry-recorder.js.map +0 -1
  73. package/dist/internal/instrumentation/vercel-ai/types.d.ts +0 -197
  74. package/dist/internal/instrumentation/vercel-ai/types.d.ts.map +0 -1
  75. package/dist/internal/instrumentation/vercel-ai/types.js +0 -3
  76. package/dist/internal/instrumentation/vercel-ai/types.js.map +0 -1
  77. package/dist/internal/instrumentation/vercel-ai/utils.d.ts +0 -14
  78. package/dist/internal/instrumentation/vercel-ai/utils.d.ts.map +0 -1
  79. package/dist/internal/instrumentation/vercel-ai/utils.js +0 -243
  80. package/dist/internal/instrumentation/vercel-ai/utils.js.map +0 -1
  81. package/dist/internal/log/index.d.ts +0 -2
  82. package/dist/internal/log/index.d.ts.map +0 -1
  83. package/dist/internal/log/index.js +0 -7
  84. package/dist/internal/log/index.js.map +0 -1
  85. package/dist/internal/log/logging.d.ts +0 -21
  86. package/dist/internal/log/logging.d.ts.map +0 -1
  87. package/dist/internal/log/logging.js +0 -154
  88. package/dist/internal/log/logging.js.map +0 -1
  89. package/dist/internal/logger.d.ts +0 -23
  90. package/dist/internal/logger.d.ts.map +0 -1
  91. package/dist/internal/logger.js +0 -163
  92. package/dist/internal/logger.js.map +0 -1
  93. package/dist/internal/masking/index.d.ts +0 -4
  94. package/dist/internal/masking/index.d.ts.map +0 -1
  95. package/dist/internal/masking/index.js +0 -9
  96. package/dist/internal/masking/index.js.map +0 -1
  97. package/dist/internal/masking/patterns.d.ts +0 -3
  98. package/dist/internal/masking/patterns.d.ts.map +0 -1
  99. package/dist/internal/masking/patterns.js +0 -378
  100. package/dist/internal/masking/patterns.js.map +0 -1
  101. package/dist/internal/masking/types.d.ts +0 -33
  102. package/dist/internal/masking/types.d.ts.map +0 -1
  103. package/dist/internal/masking/types.js +0 -3
  104. package/dist/internal/masking/types.js.map +0 -1
  105. package/dist/internal/masking/utils.d.ts +0 -6
  106. package/dist/internal/masking/utils.d.ts.map +0 -1
  107. package/dist/internal/masking/utils.js +0 -232
  108. package/dist/internal/masking/utils.js.map +0 -1
  109. package/dist/internal/metric/index.d.ts +0 -2
  110. package/dist/internal/metric/index.d.ts.map +0 -1
  111. package/dist/internal/metric/index.js +0 -8
  112. package/dist/internal/metric/index.js.map +0 -1
  113. package/dist/internal/metric/metrics.d.ts +0 -18
  114. package/dist/internal/metric/metrics.d.ts.map +0 -1
  115. package/dist/internal/metric/metrics.js +0 -88
  116. package/dist/internal/metric/metrics.js.map +0 -1
  117. package/dist/internal/sdk.d.ts +0 -36
  118. package/dist/internal/sdk.d.ts.map +0 -1
  119. package/dist/internal/sdk.js +0 -159
  120. package/dist/internal/sdk.js.map +0 -1
  121. package/dist/internal/trace/index.d.ts +0 -3
  122. package/dist/internal/trace/index.d.ts.map +0 -1
  123. package/dist/internal/trace/index.js +0 -11
  124. package/dist/internal/trace/index.js.map +0 -1
  125. package/dist/internal/trace/processors/log-masked.d.ts +0 -16
  126. package/dist/internal/trace/processors/log-masked.d.ts.map +0 -1
  127. package/dist/internal/trace/processors/log-masked.js +0 -81
  128. package/dist/internal/trace/processors/log-masked.js.map +0 -1
  129. package/dist/internal/trace/processors/span-masked.d.ts +0 -16
  130. package/dist/internal/trace/processors/span-masked.d.ts.map +0 -1
  131. package/dist/internal/trace/processors/span-masked.js +0 -87
  132. package/dist/internal/trace/processors/span-masked.js.map +0 -1
  133. package/dist/internal/trace/tracing.d.ts +0 -18
  134. package/dist/internal/trace/tracing.d.ts.map +0 -1
  135. package/dist/internal/trace/tracing.js +0 -103
  136. package/dist/internal/trace/tracing.js.map +0 -1
@@ -1,378 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_PII_PATTERNS = void 0;
4
- exports.DEFAULT_PII_PATTERNS = [
5
- {
6
- name: 'email_addresses',
7
- pattern: String.raw `\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b`,
8
- },
9
- {
10
- name: 'us_phone_numbers',
11
- pattern: String.raw `(?:^|[\s])(?:\+?1[-.\s]*)?(?:\([0-9]{3}\)\s?[0-9]{3}[-.\s]?[0-9]{4}|[0-9]{3}[-.\s]?[0-9]{3}[-.\s]?[0-9]{4}|[0-9]{10})(?=[\s]|$)`,
12
- },
13
- {
14
- name: 'ssn',
15
- pattern: String.raw `\b(?!000|666|9\d{2})\d{3}[-\s]?(?!00)\d{2}[-\s]?(?!0000)\d{4}\b`,
16
- },
17
- {
18
- name: 'credit_cards',
19
- pattern: String.raw `\b(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|6(?:011|5[0-9]{2})[0-9]{12}|(?:2131|1800|35\\d{3})\\d{11})\b`,
20
- },
21
- {
22
- name: 'credit_cards_with_separators',
23
- pattern: String.raw `\b(?:4\\d{3}|5[1-5]\\d{2}|3[47]\\d{2})[-\s]?\\d{4}[-\s]?\\d{4}[-\s]?\\d{4}\b`,
24
- },
25
- {
26
- name: 'ipv4_addresses',
27
- pattern: String.raw `\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(?!\.[0-9])\b`,
28
- },
29
- {
30
- name: 'generic_api_keys',
31
- pattern: String.raw `\b(?:[Aa][Pp][Ii][_-]?[Kk][Ee][Yy]|[Tt][Oo][Kk][Ee][Nn]|[Ss][Ee][Cc][Rr][Ee][Tt])[_-]?[=:]?\s*["']?(?:[a-zA-Z0-9\-_.]{20,})["']?\b`,
32
- },
33
- {
34
- name: 'openai_keys',
35
- pattern: String.raw `\bsk[-_][a-zA-Z0-9]{20,}\b`,
36
- },
37
- {
38
- name: 'base64_secrets',
39
- pattern: String.raw `\b[A-Za-z0-9+/]{64,}={0,2}\b`,
40
- },
41
- {
42
- name: 'aws_access_keys',
43
- pattern: String.raw `\b(?:AKIA|ABIA|ACCA|ASIA)[0-9A-Z]{16}\b`,
44
- },
45
- {
46
- name: 'aws_secret_keys',
47
- pattern: String.raw `\b[A-Za-z0-9/+=]*[A-Z][A-Za-z0-9/+=]*[a-z][A-Za-z0-9/+=]*[/+=][A-Za-z0-9/+=]{30,}\b`,
48
- },
49
- {
50
- name: 'github_tokens',
51
- pattern: String.raw `\bghp_[a-zA-Z0-9]{36}\b`,
52
- },
53
- {
54
- name: 'slack_tokens',
55
- pattern: String.raw `\bxox[baprs]-[0-9]{10,13}-[0-9]{10,13}-[a-zA-Z0-9]{24,34}\b`,
56
- },
57
- {
58
- name: 'stripe_keys',
59
- pattern: String.raw `\b(?:sk|pk)_(?:test|live)_[a-zA-Z0-9]{24,}\b`,
60
- },
61
- {
62
- name: 'jwt_tokens',
63
- pattern: String.raw `\beyJ[A-Za-z0-9_-]{2,}\\.[A-Za-z0-9_-]{2,}\\.[A-Za-z0-9_-]{2,}\b`,
64
- },
65
- {
66
- name: 'mac_addresses',
67
- pattern: String.raw `\b(?:[0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}\b`,
68
- },
69
- {
70
- name: 'ipv6_addresses',
71
- pattern: String.raw `\b(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}\b`,
72
- },
73
- {
74
- name: 'medical_record_numbers',
75
- pattern: String.raw `\b(?:[Mm][Rr][Nn])[-\s]?\d{6,10}\b`,
76
- },
77
- {
78
- name: 'bitcoin_addresses',
79
- pattern: String.raw `\b[13][a-km-zA-HJ-NP-Z1-9]{25,34}\b`,
80
- },
81
- {
82
- name: 'ethereum_addresses',
83
- pattern: String.raw `\b0x[a-fA-F0-9]{40}(?![a-fA-F0-9])\b`,
84
- },
85
- {
86
- name: 'uuids',
87
- pattern: String.raw `\b[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}(?![0-9a-fA-F-])\b`,
88
- },
89
- {
90
- name: 'database_connections',
91
- pattern: String.raw `\b(?:[Mm][Oo][Nn][Gg][Oo][Dd][Bb]|[Pp][Oo][Ss][Tt][Gg][Rr][Ee][Ss]|[Mm][Yy][Ss][Qq][Ll]|[Rr][Ee][Dd][Ii][Ss]|[Mm][Ss][Ss][Qq][Ll]|[Oo][Rr][Aa][Cc][Ll][Ee]):\\/\\/[^\\s]+\b`,
92
- },
93
- {
94
- name: 'rsa_private_keys',
95
- pattern: '-----BEGIN (?:RSA )?PRIVATE KEY-----',
96
- },
97
- {
98
- name: 'pgp_private_keys',
99
- pattern: '-----BEGIN PGP PRIVATE KEY BLOCK-----',
100
- },
101
- {
102
- name: 'certificates',
103
- pattern: '-----BEGIN CERTIFICATE-----',
104
- },
105
- {
106
- name: 'date_of_birth_us',
107
- pattern: String.raw `\b(?:0[1-9]|1[0-2])[-/](?:0[1-9]|[12]\\d|3[01])[-/](?:19|20)\\d{2}\b`,
108
- },
109
- {
110
- name: 'date_of_birth_iso',
111
- pattern: String.raw `\b(?:19|20)\\d{2}[-/](?:0[1-9]|1[0-2])[-/](?:0[1-9]|[12]\\d|3[01])\b`,
112
- },
113
- {
114
- name: 'us_passport_numbers',
115
- pattern: String.raw `\b[A-Z]?\\d{6,9}\b`,
116
- },
117
- {
118
- name: 'drivers_license',
119
- pattern: String.raw `\b[A-Z]{1,2}\\d{3,8}[-\s]?\\d{2,5}[-\s]?\\d{2,5}[-\s]?\\d{1,5}[-\s]?\\d?\b`,
120
- },
121
- {
122
- name: 'bank_account_numbers',
123
- pattern: String.raw `\b\\d{10,17}\b`,
124
- },
125
- {
126
- name: 'aba_routing_numbers',
127
- pattern: String.raw `\b((0[0-9])|(1[0-2])|(2[1-9])|(3[0-2])|(6[1-9])|(7[0-2])|80)([0-9]{7})\b`,
128
- },
129
- {
130
- name: 'health_insurance_numbers',
131
- pattern: String.raw `\b\\d{10}[A-Z]\b`,
132
- },
133
- {
134
- name: 'employee_ids',
135
- pattern: String.raw `\b(?:[Ee][Mm][Pp]|[Ee][Mm][Pp][Ll][Oo][Yy][Ee][Ee]|[Ee])[-\s]?\\d{5,8}\b`,
136
- },
137
- {
138
- name: 'tax_ein',
139
- pattern: String.raw `\b\\d{2}-\\d{7}\b`,
140
- },
141
- {
142
- name: 'medicare_beneficiary_id',
143
- pattern: String.raw `\b[1-9][A-Z][A-Z0-9]\\d-[A-Z][A-Z0-9]\\d-[A-Z][A-Z0-9]\\d{2}\b`,
144
- },
145
- {
146
- name: 'national_provider_id',
147
- pattern: String.raw `\b1\\d{9}\b`,
148
- },
149
- {
150
- name: 'dea_numbers',
151
- pattern: String.raw `\b[A-Z]{2}\\d{7}\b`,
152
- },
153
- {
154
- name: 'itin',
155
- pattern: String.raw `\b9\\d{2}(?:[ \\-]?)[7,8]\\d(?:[ \\-]?)\\d{4}\b`,
156
- },
157
- {
158
- name: 'vin_numbers',
159
- pattern: String.raw `\b[A-HJ-NPR-Z0-9]{17}\b`,
160
- },
161
- {
162
- name: 'coordinates',
163
- pattern: String.raw `\b[-+]?(?:[0-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?),\\s*[-+]?(?:1[0-7]\\d(?:\\.\\d+)?|180(?:\\.0+)?|[0-9]?\\d(?:\\.\\d+)?)\b`,
164
- },
165
- {
166
- name: 'us_license_plates',
167
- pattern: String.raw `\b[A-Z]{1,3}[-\s]\\d{1,4}[A-Z]?\b|\b\\d{1,2}[A-Z]{1,3}\\d{1,4}\b`,
168
- },
169
- {
170
- name: 'us_zip_codes',
171
- pattern: String.raw `\b(\\d{5}-\\d{4}|\\d{5})\b`,
172
- },
173
- {
174
- name: 'us_street_addresses',
175
- pattern: String.raw `\b\\d{1,8}\b[\\s\\S]{10,100}?\b(AK|AL|AR|AZ|CA|CO|CT|DC|DE|FL|GA|HI|IA|ID|IL|IN|KS|KY|LA|MA|MD|ME|MI|MN|MO|MS|MT|NC|ND|NE|NH|NJ|NM|NV|NY|OH|OK|OR|PA|RI|SC|SD|TN|TX|UT|VA|VT|WA|WI|WV|WY)\b\\s\\d{5}\b`,
176
- },
177
- {
178
- name: 'iban',
179
- pattern: String.raw `\b[A-Z]{2}\d{2}[A-Z0-9]{4}\d{7}([A-Z0-9]?){0,16}\b`,
180
- },
181
- {
182
- name: 'swift_bic',
183
- pattern: String.raw `\b[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?\b`,
184
- },
185
- {
186
- name: 'google_oauth',
187
- pattern: String.raw `\bya29\\.[a-zA-Z0-9_-]{60,}\b`,
188
- },
189
- {
190
- name: 'firebase_tokens',
191
- pattern: String.raw `\bAAAA[A-Za-z0-9_-]{100,}\b`,
192
- },
193
- {
194
- name: 'google_app_ids',
195
- pattern: String.raw `\b[0-9]+-\w+\.apps\.googleusercontent\.com\b`,
196
- },
197
- {
198
- name: 'facebook_secrets',
199
- pattern: String.raw `\b(facebook_secret|FACEBOOK_SECRET|facebook_app_secret|FACEBOOK_APP_SECRET)[a-z_ =\\s"'\\:]{0,5}[^a-zA-Z0-9][a-f0-9]{32}[^a-zA-Z0-9]`,
200
- },
201
- {
202
- name: 'github_keys',
203
- pattern: String.raw `\b(GITHUB_SECRET|GITHUB_KEY|github_secret|github_key|github_token|GITHUB_TOKEN|github_api_key|GITHUB_API_KEY)[a-z_ =\\s\"'\\:]{0,10}[^a-zA-Z0-9][a-zA-Z0-9]{40}[^a-zA-Z0-9]`,
204
- },
205
- {
206
- name: 'heroku_keys',
207
- pattern: String.raw `\b(heroku_api_key|HEROKU_API_KEY|heroku_secret|HEROKU_SECRET)[a-z_ =\\s\"'\\:]{0,10}[^a-zA-Z0-9-]\\w{8}(?:-\\w{4}){3}-\\w{12}[^a-zA-Z0-9\\-]`,
208
- },
209
- {
210
- name: 'slack_api_keys',
211
- pattern: String.raw `\b(slack_api_key|SLACK_API_KEY|slack_key|SLACK_KEY)[a-z_ =\\s\"'\\:]{0,10}[^a-f0-9][a-f0-9]{32}[^a-f0-9]`,
212
- },
213
- {
214
- name: 'slack_api_tokens',
215
- pattern: String.raw `\b(xox[pb](?:-[a-zA-Z0-9]+){4,})\b`,
216
- },
217
- {
218
- name: 'dsa_private_keys',
219
- pattern: String.raw `-----BEGIN DSA PRIVATE KEY-----(?:[a-zA-Z0-9\+\=\/"']|\s)+?-----END DSA PRIVATE KEY-----`,
220
- },
221
- {
222
- name: 'ec_private_keys',
223
- pattern: String.raw `-----BEGIN (?:EC|ECDSA) PRIVATE KEY-----(?:[a-zA-Z0-9\+\=\/"']|\s)+?-----END (?:EC|ECDSA) PRIVATE KEY-----`,
224
- },
225
- {
226
- name: 'encrypted_private_keys',
227
- pattern: String.raw `-----BEGIN ENCRYPTED PRIVATE KEY-----(?:.|\s)+?-----END ENCRYPTED PRIVATE KEY-----`,
228
- },
229
- {
230
- name: 'ssl_certificates',
231
- pattern: String.raw `-----BEGIN CERTIFICATE-----(?:.|\n)+?\s-----END CERTIFICATE-----`,
232
- },
233
- {
234
- name: 'ssh_dss_public',
235
- pattern: String.raw `\bssh-dss [0-9A-Za-z+/]+[=]{2}\b`,
236
- },
237
- {
238
- name: 'ssh_rsa_public',
239
- pattern: String.raw `\bssh-rsa AAAA[0-9A-Za-z+/]+[=]{0,3} [^@]+@[^@]+\b`,
240
- },
241
- {
242
- name: 'putty_ssh_keys',
243
- pattern: String.raw `PuTTY-User-Key-File-2: ssh-(?:rsa|dss)\s*Encryption: none(?:.|\s?)*?Private-MAC:`,
244
- },
245
- {
246
- name: 'france_phone_numbers',
247
- pattern: String.raw `\b([0O]?[1lI][1lI])?[3E][3E][0O]?[\\dOIlZEASB]{9}\b`,
248
- },
249
- {
250
- name: 'german_phone_numbers',
251
- pattern: String.raw `\b[\d\w]\d{2}[\d\w]{6}\d[\d\w]\b`,
252
- },
253
- {
254
- name: 'uk_phone_numbers',
255
- pattern: String.raw `\b([0O]?[1lI][1lI])?[4A][4A][\\dOIlZEASB]{10,11}\b`,
256
- },
257
- {
258
- name: 'uk_drivers_license',
259
- pattern: String.raw `\b[A-Z]{5}\d{6}[A-Z]{2}\d{1}[A-Z]{2}\b`,
260
- },
261
- {
262
- name: 'uk_passport',
263
- pattern: String.raw `\b\\d{10}GB[RP]\\d{7}[UMF]{1}\\d{9}\b`,
264
- },
265
- {
266
- name: 'argentina_dni',
267
- pattern: String.raw `\b\\d{2}\\.\\d{3}\\.\\d{3}\b`,
268
- },
269
- {
270
- name: 'australia_tfn',
271
- pattern: String.raw `\b[Tt][Ff][Nn](:|:\\s|\\s|)(\\d{8,9})\b`,
272
- },
273
- {
274
- name: 'canada_passport',
275
- pattern: String.raw `\b[\\w]{2}[\\d]{6}\b`,
276
- },
277
- {
278
- name: 'croatia_vat',
279
- pattern: String.raw `\bHR\\d{11}\b`,
280
- },
281
- {
282
- name: 'czech_vat',
283
- pattern: String.raw `\bCZ\\d{8,10}\b`,
284
- },
285
- {
286
- name: 'denmark_personal_id',
287
- pattern: String.raw `\b(?:\\d{10}|\\d{6}[-\\s]\\d{4})\b`,
288
- },
289
- {
290
- name: 'france_national_id',
291
- pattern: String.raw `\b\\d{12}\b`,
292
- },
293
- {
294
- name: 'france_ssn',
295
- pattern: String.raw `\b(?:\\d{13}|\\d{13}\\s\\d{2})\b`,
296
- },
297
- {
298
- name: 'france_passport',
299
- pattern: String.raw `\b\\d{2}11\\d{5}\b`,
300
- },
301
- {
302
- name: 'california_drivers_license',
303
- pattern: String.raw `\b[A-Z]{1}\\d{7}\b`,
304
- },
305
- {
306
- name: 'hipaa_ndc',
307
- pattern: String.raw `\b\\d{4,5}-\\d{3,4}-\\d{1,2}\b`,
308
- },
309
- {
310
- name: 'cve_numbers',
311
- pattern: String.raw `\b[Cc][Vv][Ee]-\\d{4}-\\d{4,7}\b`,
312
- },
313
- {
314
- name: 'microsoft_oauth',
315
- pattern: String.raw `https://login\.microsoftonline\.com/common/oauth2/v2\.0/token|https://login\.windows\.net/common/oauth2/token`,
316
- },
317
- {
318
- name: 'postgres_connections',
319
- pattern: String.raw `\b(?:[Pp][Oo][Ss][Tt][Gg][Rr][Ee][Ss]|[Pp][Gg][Ss][Qq][Ll])\\:\\/\\/`,
320
- },
321
- {
322
- name: 'box_links',
323
- pattern: String.raw `https://app\.box\.com/[s|l]/\S+`,
324
- },
325
- {
326
- name: 'dropbox_links',
327
- pattern: String.raw `https://www\.dropbox\.com/(?:s|l)/\S+`,
328
- },
329
- {
330
- name: 'amex_cards',
331
- pattern: String.raw `\b3[47][0-9]{13}\b`,
332
- },
333
- {
334
- name: 'visa_cards',
335
- pattern: String.raw `\b4[0-9]{12}(?:[0-9]{3})?\b`,
336
- },
337
- {
338
- name: 'discover_cards',
339
- pattern: String.raw `\b65[4-9][0-9]{13}|64[4-9][0-9]{13}|6011[0-9]{12}\b`,
340
- },
341
- {
342
- name: 'enhanced_credit_cards',
343
- pattern: String.raw `\b((4\\d{3}|5[1-5]\\d{2}|2\\d{3}|3[47]\\d{1,2})[\\s\\-]?\\d{4,6}[\\s\\-]?\\d{4,6}?([\\s\\-]\\d{3,4})?(\\d{3})?)\b`,
344
- },
345
- {
346
- name: 'bbva_routing_ca',
347
- pattern: String.raw `\\b321170538\\b`,
348
- },
349
- {
350
- name: 'boa_routing_ca',
351
- pattern: String.raw `\\b(?:121|026)00(?:0|9)(?:358|593)\\b`,
352
- },
353
- {
354
- name: 'chase_routing_ca',
355
- pattern: String.raw `\\b322271627\\b`,
356
- },
357
- {
358
- name: 'citibank_routing_ca',
359
- pattern: String.raw `\\b32(?:11|22)71(?:18|72)4\\b`,
360
- },
361
- {
362
- name: 'usbank_routing_ca',
363
- pattern: String.raw `\\b12(?:1122676|2235821)\\b`,
364
- },
365
- {
366
- name: 'united_bank_routing_ca',
367
- pattern: String.raw `\\b122243350\\b`,
368
- },
369
- {
370
- name: 'wells_fargo_routing_ca',
371
- pattern: String.raw `\\b121042882\\b`,
372
- },
373
- {
374
- name: 'generic_non_usual',
375
- pattern: String.raw `(?:^|\s)(?=[A-Za-z0-9_\)\*\=@]*[A-Za-z])(?=[A-Za-z0-9_\)\*\=@]*[0-9])([A-Za-z0-9_\)\*\=@]{5,})(?=\s|$)`,
376
- },
377
- ];
378
- //# sourceMappingURL=patterns.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../../src/internal/masking/patterns.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- export type MaskingMode = 'partial' | 'full';
2
- export interface IPatternBasedMaskingRule {
3
- readonly patterns: readonly (IPatternEntry | string)[];
4
- readonly mode?: MaskingMode;
5
- }
6
- export interface IPatternEntry {
7
- readonly name?: string | undefined;
8
- readonly pattern: string;
9
- }
10
- export interface IAttributesMaskingRule extends IPatternBasedMaskingRule {
11
- readonly patterns: readonly (IPatternEntry | string)[];
12
- readonly attributePattern?: string;
13
- readonly mode?: MaskingMode;
14
- }
15
- export interface IEventMaskingRule extends IAttributesMaskingRule {
16
- readonly eventNamePattern?: string;
17
- }
18
- export interface ISpanMaskingConfig {
19
- readonly disableDefaultRules?: boolean;
20
- readonly rules?: readonly IAttributesMaskingRule[];
21
- }
22
- export interface ILogMaskingConfig {
23
- readonly disableDefaultRules?: boolean;
24
- readonly maskBody?: boolean;
25
- readonly rules?: readonly IAttributesMaskingRule[];
26
- }
27
- export type IEventMaskingConfig = ILogMaskingConfig;
28
- export interface IMaskingConfig {
29
- readonly spanMasking?: ISpanMaskingConfig;
30
- readonly eventMasking?: IEventMaskingConfig;
31
- }
32
- export type MaskableValue = string | number | boolean | null | undefined | Record<string, unknown> | unknown[];
33
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/internal/masking/types.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC;AAM7C,MAAM,WAAW,wBAAwB;IAEvC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC;IAEvD,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;CAC7B;AAMD,MAAM,WAAW,aAAa;IAE5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAMD,MAAM,WAAW,sBAAuB,SAAQ,wBAAwB;IAEtE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC;IAEvD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEnC,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;CAC7B;AAKD,MAAM,WAAW,iBAAkB,SAAQ,sBAAsB;IAE/D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAMD,MAAM,WAAW,kBAAkB;IAEjC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAEvC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAC;CACpD;AAMD,MAAM,WAAW,iBAAiB;IAEhC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAEvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAE5B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAC;CACpD;AAMD,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAMpD,MAAM,WAAW,cAAc;IAE7B,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IAE1C,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC;CAC7C;AAMD,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,GACT,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,OAAO,EAAE,CAAC"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/internal/masking/types.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- import type { IAttributesMaskingRule, IPatternBasedMaskingRule } from './types';
2
- export declare function maskStringByPattern(value: string, pattern: RegExp, mode?: 'partial' | 'full'): string;
3
- export declare function maskStringByPatternBasedRule(value: string, rule: IPatternBasedMaskingRule): string;
4
- export declare function maskValue(value: unknown, rule: IPatternBasedMaskingRule): unknown;
5
- export declare function maskAttributes(attributes: Record<string, unknown>, rules: readonly IAttributesMaskingRule[], outputOriginalValue?: boolean): Record<string, unknown>;
6
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/internal/masking/utils.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,sBAAsB,EAEtB,wBAAwB,EAEzB,MAAM,SAAS,CAAC;AAiMjB,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,SAAS,GAAG,MAAe,GAChC,MAAM,CAsDR;AAKD,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,wBAAwB,GAC7B,MAAM,CAmBR;AAKD,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAiBjF;AAKD,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,KAAK,EAAE,SAAS,sBAAsB,EAAE,EACxC,mBAAmB,UAAQ,GAC1B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA6BzB"}
@@ -1,232 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.maskStringByPattern = maskStringByPattern;
4
- exports.maskStringByPatternBasedRule = maskStringByPatternBasedRule;
5
- exports.maskValue = maskValue;
6
- exports.maskAttributes = maskAttributes;
7
- const logger_1 = require("../logger");
8
- function isValidPatternName(name) {
9
- return /^[a-zA-Z0-9_]+$/.test(name);
10
- }
11
- function isLikelyReDoSPattern(pattern) {
12
- const dangerousPatterns = [
13
- /\([^)]*[+*]\)[+*]/,
14
- /\([^)]*\|[^)]*\)[+*]/,
15
- /\([^)]*[+*][^)]*[+*][^)]*\)[+*]/,
16
- ];
17
- return dangerousPatterns.some((dangerous) => dangerous.test(pattern));
18
- }
19
- function getGroupedPattern(patternEntry) {
20
- let name = patternEntry.name;
21
- if (!name || name === '') {
22
- name = `pattern_${Math.random().toString(16).slice(2)}`;
23
- }
24
- if (!isValidPatternName(name)) {
25
- throw new Error(`Pattern name '${name}' must only contain alphanumeric characters and underscores`);
26
- }
27
- if (isLikelyReDoSPattern(patternEntry.pattern)) {
28
- throw new Error(`Potentially dangerous ReDoS pattern detected: '${patternEntry.pattern}'`);
29
- }
30
- try {
31
- new RegExp(patternEntry.pattern);
32
- }
33
- catch (error) {
34
- throw new Error(`Invalid regex pattern '${patternEntry.pattern}': ${String(error)}`);
35
- }
36
- return `(?<${name}>${patternEntry.pattern})`;
37
- }
38
- function isIPatternEntry(obj) {
39
- return (typeof obj === 'object' &&
40
- obj !== null &&
41
- typeof obj.pattern === 'string' &&
42
- (obj.name === undefined || typeof obj.name === 'string'));
43
- }
44
- function isIEventMaskingRule(obj) {
45
- return (typeof obj === 'object' &&
46
- obj !== null &&
47
- typeof obj.mode === 'string' &&
48
- Array.isArray(obj.patterns) &&
49
- obj.patterns.every((p) => isIPatternEntry(p) || typeof p === 'string') &&
50
- (obj.attributePattern === undefined ||
51
- typeof obj.attributePattern === 'string'));
52
- }
53
- function convertPatternsToPatternEntries(patterns) {
54
- const patternEntries = [];
55
- for (const pattern of patterns) {
56
- if (typeof pattern === 'string') {
57
- patternEntries.push({ pattern, name: '' });
58
- }
59
- else if (isIPatternEntry(pattern)) {
60
- patternEntries.push(pattern);
61
- }
62
- else {
63
- throw new Error('Patterns must be either strings or PatternEntry instances');
64
- }
65
- }
66
- return patternEntries;
67
- }
68
- function compilePatternEntries(patternEntries) {
69
- const patternGroups = [];
70
- for (const patternEntry of patternEntries) {
71
- try {
72
- patternGroups.push(getGroupedPattern(patternEntry));
73
- }
74
- catch (error) {
75
- logger_1.logger.warn(`Invalid pattern '${patternEntry.name}': ${patternEntry.pattern}`, error);
76
- continue;
77
- }
78
- }
79
- if (patternGroups.length === 0) {
80
- return null;
81
- }
82
- try {
83
- return new RegExp(patternGroups.join('|'));
84
- }
85
- catch (error) {
86
- logger_1.logger.warn('Failed to compile pattern entries into regex', error);
87
- return null;
88
- }
89
- }
90
- function getCompiledAttributeNamePattern(rule) {
91
- if (!rule.attributePattern) {
92
- logger_1.logger.debug('No attribute pattern provided, using default .*');
93
- return /.*/;
94
- }
95
- let compiledPatternString = rule.attributePattern;
96
- if (isIEventMaskingRule(rule) && rule.eventNamePattern) {
97
- compiledPatternString = `(${compiledPatternString})|(${rule.eventNamePattern})`;
98
- }
99
- return new RegExp(compiledPatternString);
100
- }
101
- function shouldContinueExecution(startTime, iterations, timeoutMs) {
102
- if (Date.now() - startTime > timeoutMs) {
103
- logger_1.logger.warn('Regex execution timed out - potential ReDoS pattern detected');
104
- return false;
105
- }
106
- const maxIterations = 1000;
107
- if (iterations > maxIterations) {
108
- logger_1.logger.warn('Regex execution exceeded maximum iterations - potential ReDoS pattern detected');
109
- return false;
110
- }
111
- return true;
112
- }
113
- function createGlobalPattern(pattern) {
114
- return new RegExp(pattern.source, pattern.flags.includes('g') ? pattern.flags : pattern.flags + 'g');
115
- }
116
- function executeRegexWithTimeout(pattern, value, timeoutMs = 100) {
117
- const matches = [];
118
- const globalPattern = createGlobalPattern(pattern);
119
- const startTime = Date.now();
120
- let match;
121
- let iterations = 0;
122
- while ((match = globalPattern.exec(value)) !== null) {
123
- if (!shouldContinueExecution(startTime, ++iterations, timeoutMs)) {
124
- break;
125
- }
126
- matches.push(match);
127
- if (match[0].length === 0) {
128
- globalPattern.lastIndex = match.index + 1;
129
- }
130
- }
131
- return matches;
132
- }
133
- function maskStringByPattern(value, pattern, mode = 'full') {
134
- const matches = [];
135
- try {
136
- const regexMatches = executeRegexWithTimeout(pattern, value);
137
- for (const match of regexMatches) {
138
- matches.push({
139
- start: match.index,
140
- end: match.index + match[0].length,
141
- text: match[0],
142
- groups: match.groups,
143
- });
144
- }
145
- }
146
- catch (error) {
147
- logger_1.logger.warn('Regex execution failed, skipping masking', error);
148
- return value;
149
- }
150
- for (const matchInfo of matches.reverse()) {
151
- let patternName = 'unknown';
152
- if (matchInfo.groups) {
153
- for (const [groupName, groupValue] of Object.entries(matchInfo.groups)) {
154
- if (groupValue !== undefined) {
155
- if (groupName.includes('_') && /\d$/.test(groupName)) {
156
- const parts = groupName.split('_');
157
- patternName = parts[0] || groupName;
158
- }
159
- else {
160
- patternName = groupName;
161
- }
162
- break;
163
- }
164
- }
165
- }
166
- logger_1.logger.info(`Masking detected: pattern '${patternName}' found match in value`);
167
- const masked = mode === 'partial' ? matchInfo.text[0] + '*****' : '*****';
168
- value = value.slice(0, matchInfo.start) + masked + value.slice(matchInfo.end);
169
- }
170
- return value;
171
- }
172
- function maskStringByPatternBasedRule(value, rule) {
173
- const patternEntries = convertPatternsToPatternEntries(rule.patterns);
174
- if (patternEntries.length === 0) {
175
- logger_1.logger.warn('No patterns provided for masking rule, returning original value');
176
- return value;
177
- }
178
- const mode = rule.mode;
179
- if (!patternEntries || patternEntries.length === 0) {
180
- return mode === 'partial' && value ? value[0] + '*****' : '*****';
181
- }
182
- const compiledPatterns = compilePatternEntries(patternEntries);
183
- if (!compiledPatterns) {
184
- return value;
185
- }
186
- return maskStringByPattern(value, compiledPatterns, mode);
187
- }
188
- function maskValue(value, rule) {
189
- if (typeof value === 'string') {
190
- return maskStringByPatternBasedRule(value, rule);
191
- }
192
- else if (typeof value === 'boolean' || typeof value === 'number') {
193
- return maskStringByPatternBasedRule(String(value), rule);
194
- }
195
- else if (Array.isArray(value)) {
196
- return value.map((v) => maskStringByPatternBasedRule(String(v), rule));
197
- }
198
- else if (value !== null && typeof value === 'object') {
199
- const result = {};
200
- for (const [k, v] of Object.entries(value)) {
201
- result[k] = maskValue(v, rule);
202
- }
203
- return result;
204
- }
205
- else {
206
- throw new Error(`Unsupported value type for masking: ${typeof value}`);
207
- }
208
- }
209
- function maskAttributes(attributes, rules, outputOriginalValue = false) {
210
- if (!attributes || Object.keys(attributes).length === 0) {
211
- return {};
212
- }
213
- const maskedAttributes = { ...attributes };
214
- for (const rule of rules) {
215
- const compiledAttributeNamePattern = getCompiledAttributeNamePattern(rule);
216
- const attributesToMask = compiledAttributeNamePattern
217
- ? Object.keys(maskedAttributes).filter((attr) => compiledAttributeNamePattern.test(attr))
218
- : Object.keys(maskedAttributes);
219
- for (const attribute of attributesToMask) {
220
- const value = maskedAttributes[attribute];
221
- if (value === null || value === undefined) {
222
- continue;
223
- }
224
- if (outputOriginalValue) {
225
- logger_1.logger.debug(`Masking attribute '${attribute}' with original value`, { value });
226
- }
227
- maskedAttributes[attribute] = maskValue(value, rule);
228
- }
229
- }
230
- return maskedAttributes;
231
- }
232
- //# sourceMappingURL=utils.js.map