@memberjunction/encryption 5.8.0 → 5.10.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.
@@ -6,10 +6,17 @@
6
6
  *
7
7
  * - AES-256-GCM/CBC encryption with authenticated encryption support
8
8
  * - Pluggable key sources via the ClassFactory pattern
9
- * - Multi-level caching for performance (inherited from EncryptionEngineBase)
9
+ * - Multi-level caching for performance (delegated to EncryptionEngineBase)
10
10
  * - Self-describing encrypted value format
11
11
  * - Key rotation support with explicit lookup overrides
12
12
  *
13
+ * ## Architecture
14
+ *
15
+ * This class uses composition (containment) rather than inheritance to avoid
16
+ * duplicate entity registration with EncryptionEngineBase. It delegates all
17
+ * metadata operations to EncryptionEngineBase.Instance while adding server-only
18
+ * encryption/decryption capabilities.
19
+ *
13
20
  * ## Usage
14
21
  *
15
22
  * ```typescript
@@ -44,15 +51,17 @@
44
51
  *
45
52
  * @module @memberjunction/encryption
46
53
  */
54
+ import { BaseSingleton } from '@memberjunction/global';
47
55
  import { IMetadataProvider, UserInfo } from '@memberjunction/core';
48
- import { EncryptionEngineBase } from '@memberjunction/core-entities';
56
+ import { EncryptionEngineBase, EncryptionKeyConfiguration } from '@memberjunction/core-entities';
57
+ import { MJEncryptionKeyEntity, MJEncryptionAlgorithmEntity, MJEncryptionKeySourceEntity } from '@memberjunction/core-entities';
49
58
  import { EncryptedValueParts } from './interfaces.js';
50
59
  /**
51
60
  * Core encryption engine for field-level encryption operations.
52
61
  *
53
- * This class extends EncryptionEngineBase to inherit metadata caching for
54
- * encryption keys, algorithms, and key sources. It adds the actual
55
- * encryption/decryption operations using Node.js crypto.
62
+ * This class uses composition to delegate metadata operations to EncryptionEngineBase
63
+ * while adding encryption/decryption capabilities. This avoids duplicate entity
64
+ * registration that occurred when using inheritance.
56
65
  *
57
66
  * Use `EncryptionEngine.Instance` to access the singleton.
58
67
  *
@@ -72,7 +81,7 @@ import { EncryptedValueParts } from './interfaces.js';
72
81
  *
73
82
  * Callers should catch and handle errors appropriately.
74
83
  */
75
- export declare class EncryptionEngine extends EncryptionEngineBase {
84
+ export declare class EncryptionEngine extends BaseSingleton<EncryptionEngine> {
76
85
  /**
77
86
  * Cache for decrypted key material.
78
87
  * Maps 'keyId:version' to Buffer.
@@ -96,6 +105,10 @@ export declare class EncryptionEngine extends EncryptionEngineBase {
96
105
  * @private
97
106
  */
98
107
  private readonly _keyMaterialCacheTtlMs;
108
+ /**
109
+ * Access the contained EncryptionEngineBase instance for metadata operations.
110
+ */
111
+ protected get Base(): EncryptionEngineBase;
99
112
  /**
100
113
  * Gets the singleton instance of the encryption engine.
101
114
  *
@@ -109,10 +122,47 @@ export declare class EncryptionEngine extends EncryptionEngineBase {
109
122
  * ```
110
123
  */
111
124
  static get Instance(): EncryptionEngine;
125
+ /** Whether the base engine has been loaded/configured. */
126
+ get Loaded(): boolean;
127
+ /** Gets all cached encryption keys. */
128
+ get EncryptionKeys(): MJEncryptionKeyEntity[];
129
+ /** Gets only active encryption keys. */
130
+ get ActiveEncryptionKeys(): MJEncryptionKeyEntity[];
131
+ /** Gets all cached encryption algorithms. */
132
+ get EncryptionAlgorithms(): MJEncryptionAlgorithmEntity[];
133
+ /** Gets only active encryption algorithms. */
134
+ get ActiveEncryptionAlgorithms(): MJEncryptionAlgorithmEntity[];
135
+ /** Gets all cached encryption key sources. */
136
+ get EncryptionKeySources(): MJEncryptionKeySourceEntity[];
137
+ /** Gets only active encryption key sources. */
138
+ get ActiveEncryptionKeySources(): MJEncryptionKeySourceEntity[];
139
+ /** Gets an encryption key by its ID. */
140
+ GetKeyByID(keyId: string): MJEncryptionKeyEntity | undefined;
141
+ /** Gets an encryption key by its name (case-insensitive). */
142
+ GetKeyByName(name: string): MJEncryptionKeyEntity | undefined;
143
+ /** Gets an encryption algorithm by its ID. */
144
+ GetAlgorithmByID(algorithmId: string): MJEncryptionAlgorithmEntity | undefined;
145
+ /** Gets an encryption algorithm by its name. */
146
+ GetAlgorithmByName(name: string): MJEncryptionAlgorithmEntity | undefined;
147
+ /** Gets an encryption key source by its ID. */
148
+ GetKeySourceByID(sourceId: string): MJEncryptionKeySourceEntity | undefined;
149
+ /** Gets an encryption key source by its driver class name. */
150
+ GetKeySourceByDriverClass(driverClass: string): MJEncryptionKeySourceEntity | undefined;
151
+ /** Gets the full configuration for an encryption key, including its algorithm and source. */
152
+ GetKeyConfiguration(keyId: string): EncryptionKeyConfiguration | undefined;
153
+ /** Validates that a key is usable for encryption operations. */
154
+ ValidateKey(keyId: string): {
155
+ isValid: boolean;
156
+ error?: string;
157
+ };
158
+ /** Gets the marker prefix for a specific encryption key. */
159
+ GetKeyMarker(keyId: string): string;
160
+ /** Refreshes all cached items in the base engine. */
161
+ RefreshAllItems(): Promise<void>;
112
162
  /**
113
163
  * Configures the engine by loading encryption metadata from the database.
114
164
  *
115
- * This overrides the base Config to ensure proper initialization.
165
+ * Delegates to EncryptionEngineBase to load metadata.
116
166
  * Must be called before performing encryption/decryption operations.
117
167
  *
118
168
  * @param forceRefresh - If true, reloads data even if already loaded
@@ -195,19 +245,6 @@ export declare class EncryptionEngine extends EncryptionEngineBase {
195
245
  * @param value - The value to check
196
246
  * @param encryptionMarker - Optional custom marker to check for (defaults to '$ENC$')
197
247
  * @returns `true` if the value appears to be encrypted or is the sentinel value
198
- *
199
- * @example
200
- * ```typescript
201
- * if (engine.IsEncrypted(fieldValue)) {
202
- * const decrypted = await engine.Decrypt(fieldValue, user);
203
- * }
204
- *
205
- * // With custom marker from key
206
- * const key = engine.GetKeyByID(keyId);
207
- * if (engine.IsEncrypted(fieldValue, key?.Marker)) {
208
- * const decrypted = await engine.Decrypt(fieldValue, user);
209
- * }
210
- * ```
211
248
  */
212
249
  IsEncrypted(value: unknown, encryptionMarker?: string): boolean;
213
250
  /**
@@ -219,37 +256,18 @@ export declare class EncryptionEngine extends EncryptionEngineBase {
219
256
  * @returns Parsed components (marker, keyId, algorithm, iv, ciphertext, authTag)
220
257
  *
221
258
  * @throws Error if the format is invalid
222
- *
223
- * @example
224
- * ```typescript
225
- * const parts = engine.ParseEncryptedValue(encryptedValue);
226
- * console.log(`Encrypted with key: ${parts.keyId}`);
227
- * console.log(`Algorithm: ${parts.algorithm}`);
228
- * ```
229
259
  */
230
260
  ParseEncryptedValue(value: string): EncryptedValueParts;
231
261
  /**
232
262
  * Validates that key material is accessible at a given lookup value.
233
263
  *
234
264
  * Used before key rotation to verify the new key exists and is valid.
235
- * This prevents starting a rotation that would fail mid-way.
236
265
  *
237
266
  * @param lookupValue - The key source lookup value to validate
238
267
  * @param encryptionKeyId - The key ID (to get source configuration)
239
268
  * @param contextUser - User context for database access
240
269
  *
241
270
  * @throws Error if the key material cannot be accessed or is invalid
242
- *
243
- * @example
244
- * ```typescript
245
- * // Before rotation, validate the new key is ready
246
- * await engine.ValidateKeyMaterial(
247
- * 'MJ_ENCRYPTION_KEY_PII_NEW',
248
- * existingKeyId,
249
- * contextUser
250
- * );
251
- * // If no error, safe to proceed with rotation
252
- * ```
253
271
  */
254
272
  ValidateKeyMaterial(lookupValue: string, encryptionKeyId: string, contextUser?: UserInfo): Promise<void>;
255
273
  /**
@@ -264,17 +282,6 @@ export declare class EncryptionEngine extends EncryptionEngineBase {
264
282
  * @param keyLookupValue - Alternate lookup value for key material
265
283
  * @param contextUser - User context for database access
266
284
  * @returns The encrypted value string
267
- *
268
- * @example
269
- * ```typescript
270
- * // During rotation, encrypt with new key before metadata update
271
- * const newEncrypted = await engine.EncryptWithLookup(
272
- * decryptedData,
273
- * keyId,
274
- * 'MJ_ENCRYPTION_KEY_PII_NEW',
275
- * contextUser
276
- * );
277
- * ```
278
285
  */
279
286
  EncryptWithLookup(plaintext: string | Buffer, encryptionKeyId: string, keyLookupValue: string, contextUser?: UserInfo): Promise<string>;
280
287
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"EncryptionEngine.d.ts","sourceRoot":"","sources":["../src/EncryptionEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAIH,OAAO,EAAE,iBAAiB,EAAY,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,EACH,mBAAmB,EAEtB,MAAM,cAAc,CAAC;AAkBtB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,gBAAiB,SAAQ,oBAAoB;IACtD;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB,CAA8C;IAEvE;;;;;OAKG;IACH,OAAO,CAAC,eAAe,CAAmD;IAE1E;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA6C;IAEpF;;;;;;;;;;;OAWG;IACH,WAA2B,QAAQ,IAAI,gBAAgB,CAEtD;IAED;;;;;;;;;OASG;IACmB,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACG,OAAO,CACT,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,eAAe,EAAE,MAAM,EACvB,WAAW,CAAC,EAAE,QAAQ,GACvB,OAAO,CAAC,MAAM,CAAC;IA2BlB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACG,OAAO,CACT,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,QAAQ,GACvB,OAAO,CAAC,MAAM,CAAC;IAsBlB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO;IAI/D;;;;;;;;;;;;;;;;OAgBG;IACH,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB;IA2CvD;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,mBAAmB,CACrB,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,EACvB,WAAW,CAAC,EAAE,QAAQ,GACvB,OAAO,CAAC,IAAI,CAAC;IA+BhB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,iBAAiB,CACnB,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,QAAQ,GACvB,OAAO,CAAC,MAAM,CAAC;IAsBlB;;;;;;OAMG;IACH,WAAW,IAAI,IAAI;IAKnB;;;;;OAKG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IASrC;;;;OAIG;YACW,gBAAgB;IAM9B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IA0D7B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAiDzB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAuEzB;;;;OAIG;YACW,cAAc;IA8B5B;;;;OAIG;YACW,wBAAwB;IActC;;;;OAIG;YACW,oBAAoB;IAmDlC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAazB;;;;OAIG;IACH,OAAO,CAAC,WAAW;CAStB"}
1
+ {"version":3,"file":"EncryptionEngine.d.ts","sourceRoot":"","sources":["../src/EncryptionEngine.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,17 @@
6
6
  *
7
7
  * - AES-256-GCM/CBC encryption with authenticated encryption support
8
8
  * - Pluggable key sources via the ClassFactory pattern
9
- * - Multi-level caching for performance (inherited from EncryptionEngineBase)
9
+ * - Multi-level caching for performance (delegated to EncryptionEngineBase)
10
10
  * - Self-describing encrypted value format
11
11
  * - Key rotation support with explicit lookup overrides
12
12
  *
13
+ * ## Architecture
14
+ *
15
+ * This class uses composition (containment) rather than inheritance to avoid
16
+ * duplicate entity registration with EncryptionEngineBase. It delegates all
17
+ * metadata operations to EncryptionEngineBase.Instance while adding server-only
18
+ * encryption/decryption capabilities.
19
+ *
13
20
  * ## Usage
14
21
  *
15
22
  * ```typescript
@@ -46,6 +53,7 @@
46
53
  */
47
54
  import * as crypto from 'crypto';
48
55
  import { MJGlobal, ENCRYPTION_MARKER, IsValueEncrypted } from '@memberjunction/global';
56
+ import { BaseSingleton } from '@memberjunction/global';
49
57
  import { LogError } from '@memberjunction/core';
50
58
  import { EncryptionEngineBase } from '@memberjunction/core-entities';
51
59
  import { EncryptionKeySourceBase } from './EncryptionKeySourceBase.js';
@@ -57,9 +65,9 @@ const DEFAULT_KEY_MATERIAL_CACHE_TTL_MS = 5 * 60 * 1000;
57
65
  /**
58
66
  * Core encryption engine for field-level encryption operations.
59
67
  *
60
- * This class extends EncryptionEngineBase to inherit metadata caching for
61
- * encryption keys, algorithms, and key sources. It adds the actual
62
- * encryption/decryption operations using Node.js crypto.
68
+ * This class uses composition to delegate metadata operations to EncryptionEngineBase
69
+ * while adding encryption/decryption capabilities. This avoids duplicate entity
70
+ * registration that occurred when using inheritance.
63
71
  *
64
72
  * Use `EncryptionEngine.Instance` to access the singleton.
65
73
  *
@@ -79,7 +87,7 @@ const DEFAULT_KEY_MATERIAL_CACHE_TTL_MS = 5 * 60 * 1000;
79
87
  *
80
88
  * Callers should catch and handle errors appropriately.
81
89
  */
82
- export class EncryptionEngine extends EncryptionEngineBase {
90
+ export class EncryptionEngine extends BaseSingleton {
83
91
  constructor() {
84
92
  super(...arguments);
85
93
  /**
@@ -106,6 +114,12 @@ export class EncryptionEngine extends EncryptionEngineBase {
106
114
  */
107
115
  this._keyMaterialCacheTtlMs = DEFAULT_KEY_MATERIAL_CACHE_TTL_MS;
108
116
  }
117
+ /**
118
+ * Access the contained EncryptionEngineBase instance for metadata operations.
119
+ */
120
+ get Base() {
121
+ return EncryptionEngineBase.Instance;
122
+ }
109
123
  /**
110
124
  * Gets the singleton instance of the encryption engine.
111
125
  *
@@ -121,10 +135,84 @@ export class EncryptionEngine extends EncryptionEngineBase {
121
135
  static get Instance() {
122
136
  return super.getInstance();
123
137
  }
138
+ // ========================================================================
139
+ // DELEGATED METADATA PROPERTIES AND METHODS
140
+ // ========================================================================
141
+ /** Whether the base engine has been loaded/configured. */
142
+ get Loaded() {
143
+ return this.Base.Loaded;
144
+ }
145
+ /** Gets all cached encryption keys. */
146
+ get EncryptionKeys() {
147
+ return this.Base.EncryptionKeys;
148
+ }
149
+ /** Gets only active encryption keys. */
150
+ get ActiveEncryptionKeys() {
151
+ return this.Base.ActiveEncryptionKeys;
152
+ }
153
+ /** Gets all cached encryption algorithms. */
154
+ get EncryptionAlgorithms() {
155
+ return this.Base.EncryptionAlgorithms;
156
+ }
157
+ /** Gets only active encryption algorithms. */
158
+ get ActiveEncryptionAlgorithms() {
159
+ return this.Base.ActiveEncryptionAlgorithms;
160
+ }
161
+ /** Gets all cached encryption key sources. */
162
+ get EncryptionKeySources() {
163
+ return this.Base.EncryptionKeySources;
164
+ }
165
+ /** Gets only active encryption key sources. */
166
+ get ActiveEncryptionKeySources() {
167
+ return this.Base.ActiveEncryptionKeySources;
168
+ }
169
+ /** Gets an encryption key by its ID. */
170
+ GetKeyByID(keyId) {
171
+ return this.Base.GetKeyByID(keyId);
172
+ }
173
+ /** Gets an encryption key by its name (case-insensitive). */
174
+ GetKeyByName(name) {
175
+ return this.Base.GetKeyByName(name);
176
+ }
177
+ /** Gets an encryption algorithm by its ID. */
178
+ GetAlgorithmByID(algorithmId) {
179
+ return this.Base.GetAlgorithmByID(algorithmId);
180
+ }
181
+ /** Gets an encryption algorithm by its name. */
182
+ GetAlgorithmByName(name) {
183
+ return this.Base.GetAlgorithmByName(name);
184
+ }
185
+ /** Gets an encryption key source by its ID. */
186
+ GetKeySourceByID(sourceId) {
187
+ return this.Base.GetKeySourceByID(sourceId);
188
+ }
189
+ /** Gets an encryption key source by its driver class name. */
190
+ GetKeySourceByDriverClass(driverClass) {
191
+ return this.Base.GetKeySourceByDriverClass(driverClass);
192
+ }
193
+ /** Gets the full configuration for an encryption key, including its algorithm and source. */
194
+ GetKeyConfiguration(keyId) {
195
+ return this.Base.GetKeyConfiguration(keyId);
196
+ }
197
+ /** Validates that a key is usable for encryption operations. */
198
+ ValidateKey(keyId) {
199
+ return this.Base.ValidateKey(keyId);
200
+ }
201
+ /** Gets the marker prefix for a specific encryption key. */
202
+ GetKeyMarker(keyId) {
203
+ return this.Base.GetKeyMarker(keyId);
204
+ }
205
+ /** Refreshes all cached items in the base engine. */
206
+ async RefreshAllItems() {
207
+ return this.Base.RefreshAllItems();
208
+ }
209
+ // ========================================================================
210
+ // CONFIG
211
+ // ========================================================================
124
212
  /**
125
213
  * Configures the engine by loading encryption metadata from the database.
126
214
  *
127
- * This overrides the base Config to ensure proper initialization.
215
+ * Delegates to EncryptionEngineBase to load metadata.
128
216
  * Must be called before performing encryption/decryption operations.
129
217
  *
130
218
  * @param forceRefresh - If true, reloads data even if already loaded
@@ -132,8 +220,11 @@ export class EncryptionEngine extends EncryptionEngineBase {
132
220
  * @param provider - Optional metadata provider override
133
221
  */
134
222
  async Config(forceRefresh, contextUser, provider) {
135
- await super.Config(forceRefresh, contextUser, provider);
223
+ await this.Base.Config(forceRefresh, contextUser, provider);
136
224
  }
225
+ // ========================================================================
226
+ // ENCRYPTION / DECRYPTION OPERATIONS
227
+ // ========================================================================
137
228
  /**
138
229
  * Encrypts a value using the specified encryption key.
139
230
  *
@@ -242,19 +333,6 @@ export class EncryptionEngine extends EncryptionEngineBase {
242
333
  * @param value - The value to check
243
334
  * @param encryptionMarker - Optional custom marker to check for (defaults to '$ENC$')
244
335
  * @returns `true` if the value appears to be encrypted or is the sentinel value
245
- *
246
- * @example
247
- * ```typescript
248
- * if (engine.IsEncrypted(fieldValue)) {
249
- * const decrypted = await engine.Decrypt(fieldValue, user);
250
- * }
251
- *
252
- * // With custom marker from key
253
- * const key = engine.GetKeyByID(keyId);
254
- * if (engine.IsEncrypted(fieldValue, key?.Marker)) {
255
- * const decrypted = await engine.Decrypt(fieldValue, user);
256
- * }
257
- * ```
258
336
  */
259
337
  IsEncrypted(value, encryptionMarker) {
260
338
  return IsValueEncrypted(value, encryptionMarker);
@@ -268,13 +346,6 @@ export class EncryptionEngine extends EncryptionEngineBase {
268
346
  * @returns Parsed components (marker, keyId, algorithm, iv, ciphertext, authTag)
269
347
  *
270
348
  * @throws Error if the format is invalid
271
- *
272
- * @example
273
- * ```typescript
274
- * const parts = engine.ParseEncryptedValue(encryptedValue);
275
- * console.log(`Encrypted with key: ${parts.keyId}`);
276
- * console.log(`Algorithm: ${parts.algorithm}`);
277
- * ```
278
349
  */
279
350
  ParseEncryptedValue(value) {
280
351
  if (!value || typeof value !== 'string') {
@@ -311,24 +382,12 @@ export class EncryptionEngine extends EncryptionEngineBase {
311
382
  * Validates that key material is accessible at a given lookup value.
312
383
  *
313
384
  * Used before key rotation to verify the new key exists and is valid.
314
- * This prevents starting a rotation that would fail mid-way.
315
385
  *
316
386
  * @param lookupValue - The key source lookup value to validate
317
387
  * @param encryptionKeyId - The key ID (to get source configuration)
318
388
  * @param contextUser - User context for database access
319
389
  *
320
390
  * @throws Error if the key material cannot be accessed or is invalid
321
- *
322
- * @example
323
- * ```typescript
324
- * // Before rotation, validate the new key is ready
325
- * await engine.ValidateKeyMaterial(
326
- * 'MJ_ENCRYPTION_KEY_PII_NEW',
327
- * existingKeyId,
328
- * contextUser
329
- * );
330
- * // If no error, safe to proceed with rotation
331
- * ```
332
391
  */
333
392
  async ValidateKeyMaterial(lookupValue, encryptionKeyId, contextUser) {
334
393
  if (!lookupValue || typeof lookupValue !== 'string') {
@@ -363,17 +422,6 @@ export class EncryptionEngine extends EncryptionEngineBase {
363
422
  * @param keyLookupValue - Alternate lookup value for key material
364
423
  * @param contextUser - User context for database access
365
424
  * @returns The encrypted value string
366
- *
367
- * @example
368
- * ```typescript
369
- * // During rotation, encrypt with new key before metadata update
370
- * const newEncrypted = await engine.EncryptWithLookup(
371
- * decryptedData,
372
- * keyId,
373
- * 'MJ_ENCRYPTION_KEY_PII_NEW',
374
- * contextUser
375
- * );
376
- * ```
377
425
  */
378
426
  async EncryptWithLookup(plaintext, encryptionKeyId, keyLookupValue, contextUser) {
379
427
  // Handle null/undefined
@@ -1 +1 @@
1
- {"version":3,"file":"EncryptionEngine.js","sourceRoot":"","sources":["../src/EncryptionEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EncryptionEngine.js","sourceRoot":"","sources":["../src/EncryptionEngine.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@memberjunction/encryption",
3
3
  "type": "module",
4
- "version": "5.8.0",
4
+ "version": "5.10.0",
5
5
  "description": "MemberJunction: Field-level encryption engine with pluggable key sources. Server-side only - provides AES-256-GCM/CBC encryption with environment variable, config file, AWS KMS, and Azure Key Vault key sources.",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -22,11 +22,11 @@
22
22
  "vitest": "^4.0.18"
23
23
  },
24
24
  "dependencies": {
25
- "@memberjunction/global": "5.8.0",
26
- "@memberjunction/core": "5.8.0",
27
- "@memberjunction/core-entities": "5.8.0",
28
- "@memberjunction/credentials": "5.8.0",
29
- "@memberjunction/actions-base": "5.8.0",
25
+ "@memberjunction/global": "5.10.0",
26
+ "@memberjunction/core": "5.10.0",
27
+ "@memberjunction/core-entities": "5.10.0",
28
+ "@memberjunction/credentials": "5.10.0",
29
+ "@memberjunction/actions-base": "5.10.0",
30
30
  "cosmiconfig": "^9.0.0"
31
31
  },
32
32
  "optionalDependencies": {