@stratum-hq/lib 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/crypto.d.ts CHANGED
@@ -1,13 +1,16 @@
1
1
  /** Encrypts a value. Returns versioned format: v1:iv:authTag:ciphertext (all hex) */
2
2
  export declare function encrypt(plaintext: string): string;
3
3
  /** Decrypts a versioned encrypted value. Supports v1 format and legacy (no version prefix).
4
- * Falls back to STRATUM_ENCRYPTION_KEY_PREVIOUS if primary key decryption fails,
5
- * enabling dual-key reads during rolling deployments. */
4
+ * If the current key and salt fail, it tries the previous pair: STRATUM_ENCRYPTION_KEY_PREVIOUS
5
+ * and STRATUM_HKDF_SALT_PREVIOUS. A previous variable that is unset uses the current value.
6
+ * This keeps values readable during a rolling deployment and until a rotation finishes. */
6
7
  export declare function decrypt(encrypted: string): string;
7
- /** Encrypts a value with the key derived from `keyMaterial`.
8
+ /** Encrypts a value with the key derived from `keyMaterial` and `saltHex`.
9
+ * If `saltHex` is not given, the configured salt applies.
8
10
  * Key rotation uses it because it must not read or change process.env. */
9
- export declare function encryptWithKeyMaterial(plaintext: string, keyMaterial: string): string;
10
- /** Returns the plaintext, or null when the value does not decrypt with the key derived from `keyMaterial`.
11
+ export declare function encryptWithKeyMaterial(plaintext: string, keyMaterial: string, saltHex?: string): string;
12
+ /** Returns the plaintext, or null when the value does not decrypt with the key derived from `keyMaterial` and `saltHex`.
13
+ * If `saltHex` is not given, the configured salt applies.
11
14
  * Key rotation uses the null result to try the next key instead of failing. */
12
- export declare function decryptWithKeyMaterial(encrypted: string, keyMaterial: string): string | null;
15
+ export declare function decryptWithKeyMaterial(encrypted: string, keyMaterial: string, saltHex?: string): string | null;
13
16
  //# sourceMappingURL=crypto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAoFA,qFAAqF;AACrF,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;yDAEyD;AACzD,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAcjD;AAED;0EAC0E;AAC1E,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAErF;AAED;+EAC+E;AAC/E,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM5F"}
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAyFA,qFAAqF;AACrF,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;2FAG2F;AAC3F,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAejD;AAED;;0EAE0E;AAC1E,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAEvG;AAED;;+EAE+E;AAC/E,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM9G"}
package/dist/crypto.js CHANGED
@@ -35,23 +35,27 @@ const HKDF_SALT = (() => {
35
35
  }
36
36
  return Buffer.from(NON_PRODUCTION_DEFAULT_SALT, "utf8");
37
37
  })();
38
- function hkdfDeriveKey(keyMaterial, info = "stratum-aes-key") {
39
- return Buffer.from(node_crypto_1.default.hkdfSync("sha256", Buffer.from(keyMaterial, "utf8"), HKDF_SALT, info, 32));
38
+ function hkdfDeriveKey(keyMaterial, salt = HKDF_SALT, info = "stratum-aes-key") {
39
+ return Buffer.from(node_crypto_1.default.hkdfSync("sha256", Buffer.from(keyMaterial, "utf8"), salt, info, 32));
40
40
  }
41
- function getEncryptionKey() {
41
+ function getEncryptionKeyMaterial() {
42
42
  const envKey = process.env.STRATUM_ENCRYPTION_KEY ?? process.env.WEBHOOK_ENCRYPTION_KEY;
43
43
  if (envKey) {
44
- return hkdfDeriveKey(envKey);
44
+ return envKey;
45
45
  }
46
46
  const strictEnv = nodeEnvRequiringKeyMaterial();
47
47
  if (strictEnv) {
48
48
  throw new Error(`STRATUM_ENCRYPTION_KEY must be set in ${strictEnv}`);
49
49
  }
50
50
  // Development and test only fallback
51
- return hkdfDeriveKey("stratum-dev-key");
51
+ return "stratum-dev-key";
52
+ }
53
+ function getEncryptionKey() {
54
+ return hkdfDeriveKey(getEncryptionKeyMaterial());
52
55
  }
53
- function deriveKey(keyMaterial) {
54
- return hkdfDeriveKey(keyMaterial, "stratum-aes-key");
56
+ // A hex salt argument follows the STRATUM_HKDF_SALT format. No argument means the configured salt.
57
+ function deriveKey(keyMaterial, saltHex) {
58
+ return hkdfDeriveKey(keyMaterial, saltHex ? Buffer.from(saltHex, "hex") : HKDF_SALT);
55
59
  }
56
60
  function encryptWithKey(plaintext, key) {
57
61
  const iv = node_crypto_1.default.randomBytes(IV_LENGTH);
@@ -86,35 +90,39 @@ function encrypt(plaintext) {
86
90
  return encryptWithKey(plaintext, getEncryptionKey());
87
91
  }
88
92
  /** Decrypts a versioned encrypted value. Supports v1 format and legacy (no version prefix).
89
- * Falls back to STRATUM_ENCRYPTION_KEY_PREVIOUS if primary key decryption fails,
90
- * enabling dual-key reads during rolling deployments. */
93
+ * If the current key and salt fail, it tries the previous pair: STRATUM_ENCRYPTION_KEY_PREVIOUS
94
+ * and STRATUM_HKDF_SALT_PREVIOUS. A previous variable that is unset uses the current value.
95
+ * This keeps values readable during a rolling deployment and until a rotation finishes. */
91
96
  function decrypt(encrypted) {
92
97
  try {
93
98
  return decryptWithKey(encrypted, getEncryptionKey());
94
99
  }
95
100
  catch (err) {
96
101
  const previousKey = process.env.STRATUM_ENCRYPTION_KEY_PREVIOUS;
97
- if (previousKey) {
102
+ const previousSalt = process.env.STRATUM_HKDF_SALT_PREVIOUS;
103
+ if (previousKey || previousSalt) {
98
104
  try {
99
- return decryptWithKey(encrypted, hkdfDeriveKey(previousKey));
105
+ return decryptWithKey(encrypted, deriveKey(previousKey || getEncryptionKeyMaterial(), previousSalt));
100
106
  }
101
107
  catch {
102
- // Both keys failed — throw the original error
108
+ // Both pairs failed — throw the original error
103
109
  }
104
110
  }
105
111
  throw err;
106
112
  }
107
113
  }
108
- /** Encrypts a value with the key derived from `keyMaterial`.
114
+ /** Encrypts a value with the key derived from `keyMaterial` and `saltHex`.
115
+ * If `saltHex` is not given, the configured salt applies.
109
116
  * Key rotation uses it because it must not read or change process.env. */
110
- function encryptWithKeyMaterial(plaintext, keyMaterial) {
111
- return encryptWithKey(plaintext, deriveKey(keyMaterial));
117
+ function encryptWithKeyMaterial(plaintext, keyMaterial, saltHex) {
118
+ return encryptWithKey(plaintext, deriveKey(keyMaterial, saltHex));
112
119
  }
113
- /** Returns the plaintext, or null when the value does not decrypt with the key derived from `keyMaterial`.
120
+ /** Returns the plaintext, or null when the value does not decrypt with the key derived from `keyMaterial` and `saltHex`.
121
+ * If `saltHex` is not given, the configured salt applies.
114
122
  * Key rotation uses the null result to try the next key instead of failing. */
115
- function decryptWithKeyMaterial(encrypted, keyMaterial) {
123
+ function decryptWithKeyMaterial(encrypted, keyMaterial, saltHex) {
116
124
  try {
117
- return decryptWithKey(encrypted, deriveKey(keyMaterial));
125
+ return decryptWithKey(encrypted, deriveKey(keyMaterial, saltHex));
118
126
  }
119
127
  catch {
120
128
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -12,7 +12,7 @@ export { RateLimiter, MemoryRateLimitStore } from "./services/rate-limit-service
12
12
  export type { RateLimit, RateLimitResult, RateLimitState, RateLimitStore, RateLimitResolver, RateLimiterOptions, } from "./services/rate-limit-service.js";
13
13
  export type { ApiKeyRecord, CreatedApiKey, ValidatedApiKey, CreateApiKeyOptions } from "./services/api-key-service.js";
14
14
  export type { BatchCreateResult } from "./services/tenant-service.js";
15
- export type { KeyRotationResult, KeyRotationUnreadableRow } from "./services/key-rotation-service.js";
15
+ export type { KeyRotationResult, KeyRotationSalts, KeyRotationUnreadableRow } from "./services/key-rotation-service.js";
16
16
  export type { DeliveryStats } from "./services/event-service.js";
17
17
  export type { Role, CreateRoleInput, UpdateRoleInput } from "./services/role-service.js";
18
18
  export type { AuditContext, AuditEntry, AuditLogQuery, RecordAuditEventInput } from "@stratum-hq/core";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EACL,iBAAiB,EACjB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EACL,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,mBAAmB,GACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,iCAAiC,EACjC,KAAK,oBAAoB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAKrE,OAAO,EACL,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,iCAAiC,EACjC,qBAAqB,EACrB,uBAAuB,EACvB,+BAA+B,EAC/B,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EACV,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,eAAe,EACf,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACrF,YAAY,EACV,SAAS,EACT,eAAe,EACf,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,kCAAkC,CAAC;AAE1C,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACvH,YAAY,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,YAAY,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AACtG,YAAY,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAGzF,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGvG,YAAY,EACV,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACxD,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EACL,iBAAiB,EACjB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EACL,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,mBAAmB,GACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,iCAAiC,EACjC,KAAK,oBAAoB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAKrE,OAAO,EACL,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,iCAAiC,EACjC,qBAAqB,EACrB,uBAAuB,EACvB,+BAA+B,EAC/B,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EACV,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,eAAe,EACf,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACrF,YAAY,EACV,SAAS,EACT,eAAe,EACf,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,kCAAkC,CAAC;AAE1C,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACvH,YAAY,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AACxH,YAAY,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAGzF,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGvG,YAAY,EACV,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACxD,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
@@ -12,9 +12,17 @@ export interface KeyRotationResult {
12
12
  /** Rows that decrypt with neither key. */
13
13
  unreadable: KeyRotationUnreadableRow[];
14
14
  }
15
+ /** HKDF salts for a rotation, in the hex format of STRATUM_HKDF_SALT.
16
+ * A salt that is not given is the configured STRATUM_HKDF_SALT. */
17
+ export interface KeyRotationSalts {
18
+ /** The salt that the existing values were encrypted under. */
19
+ oldSalt?: string;
20
+ /** The salt that the rotation encrypts under. */
21
+ newSalt?: string;
22
+ }
15
23
  /**
16
24
  * Re-encrypts all sensitive data (config entries and webhook secrets)
17
- * from oldKey to newKey in batches, walking the primary key with a keyset
25
+ * from (oldKey, oldSalt) to (newKey, newSalt) in batches, walking the primary key with a keyset
18
26
  * cursor (id > lastId, ordered by id) so every row is visited exactly once.
19
27
  * Each batch is its own transaction so locks are held briefly.
20
28
  *
@@ -22,12 +30,18 @@ export interface KeyRotationResult {
22
30
  * with the new key stays as it is and counts in `already_rotated`. A value that
23
31
  * decrypts with neither key stays as it is and appears in `unreadable`.
24
32
  *
33
+ * Throws a ValidationError before it reads a row when `salts.oldSalt` or
34
+ * `salts.newSalt` is not a non-empty, even-length hex string.
35
+ *
25
36
  * Throws a ValidationError when encrypted values exist and none of them
26
37
  * decrypts with either key. That result almost always means `oldKeyMaterial`
27
- * is wrong, and the run has changed no row.
38
+ * or `salts.oldSalt` is wrong, and the run has changed no row.
39
+ *
40
+ * To move the data to a new HKDF salt, give `salts.oldSalt` and `salts.newSalt`.
41
+ * The old key and the new key can then be the same.
28
42
  *
29
43
  * After rotation, update the STRATUM_ENCRYPTION_KEY environment variable to
30
- * the new key.
44
+ * the new key, and STRATUM_HKDF_SALT to the new salt.
31
45
  */
32
- export declare function rotateEncryptionKey(pool: pg.Pool, oldKeyMaterial: string, newKeyMaterial: string, batchSize?: number): Promise<KeyRotationResult>;
46
+ export declare function rotateEncryptionKey(pool: pg.Pool, oldKeyMaterial: string, newKeyMaterial: string, batchSize?: number, salts?: KeyRotationSalts): Promise<KeyRotationResult>;
33
47
  //# sourceMappingURL=key-rotation-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"key-rotation-service.d.ts","sourceRoot":"","sources":["../../src/services/key-rotation-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAKpB,kGAAkG;AAClG,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,gBAAgB,GAAG,UAAU,CAAC;IACrC,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,iBAAiB;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,wFAAwF;IACxF,eAAe,EAAE,MAAM,CAAC;IACxB,0CAA0C;IAC1C,UAAU,EAAE,wBAAwB,EAAE,CAAC;CACxC;AAmBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,EACtB,SAAS,GAAE,MAAY,GACtB,OAAO,CAAC,iBAAiB,CAAC,CAmF5B"}
1
+ {"version":3,"file":"key-rotation-service.d.ts","sourceRoot":"","sources":["../../src/services/key-rotation-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAKpB,kGAAkG;AAClG,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,gBAAgB,GAAG,UAAU,CAAC;IACrC,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,iBAAiB;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,wFAAwF;IACxF,eAAe,EAAE,MAAM,CAAC;IACxB,0CAA0C;IAC1C,UAAU,EAAE,wBAAwB,EAAE,CAAC;CACxC;AAED;mEACmE;AACnE,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAuCD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,EACtB,SAAS,GAAE,MAAY,EACvB,KAAK,GAAE,gBAAqB,GAC3B,OAAO,CAAC,iBAAiB,CAAC,CAqF5B"}
@@ -6,21 +6,34 @@ const core_1 = require("@stratum-hq/core");
6
6
  const crypto_js_1 = require("../crypto.js");
7
7
  // Lowest possible UUID; a keyset cursor starting here precedes every real row.
8
8
  const ZERO_UUID = "00000000-0000-0000-0000-000000000000";
9
+ // Buffer.from(salt, "hex") stops at the first bad character and drops an odd last digit.
10
+ // A salt that it shortens would encrypt the data under a salt the operator never configured.
11
+ const HEX_SALT = /^(?:[0-9a-fA-F]{2})+$/;
12
+ function assertHexSalts(salts) {
13
+ for (const name of ["oldSalt", "newSalt"]) {
14
+ const salt = salts[name];
15
+ if (salt !== undefined && (typeof salt !== "string" || !HEX_SALT.test(salt))) {
16
+ throw new core_1.ValidationError(`Key rotation ${name} must be a non-empty, even-length hex string. No row was changed.`, {
17
+ field: name,
18
+ });
19
+ }
20
+ }
21
+ }
9
22
  // A run that fails partway leaves earlier batches committed under the new key.
10
23
  // Accepting those values, instead of failing on them, is what lets a re-run
11
24
  // with the same keys finish the rotation.
12
- function rotateValue(encrypted, oldKeyMaterial, newKeyMaterial) {
13
- const plaintext = (0, crypto_js_1.decryptWithKeyMaterial)(encrypted, oldKeyMaterial);
25
+ function rotateValue(encrypted, oldKeyMaterial, newKeyMaterial, salts) {
26
+ const plaintext = (0, crypto_js_1.decryptWithKeyMaterial)(encrypted, oldKeyMaterial, salts.oldSalt);
14
27
  if (plaintext !== null) {
15
- return { kind: "rotated", value: (0, crypto_js_1.encryptWithKeyMaterial)(plaintext, newKeyMaterial) };
28
+ return { kind: "rotated", value: (0, crypto_js_1.encryptWithKeyMaterial)(plaintext, newKeyMaterial, salts.newSalt) };
16
29
  }
17
- if ((0, crypto_js_1.decryptWithKeyMaterial)(encrypted, newKeyMaterial) !== null)
30
+ if ((0, crypto_js_1.decryptWithKeyMaterial)(encrypted, newKeyMaterial, salts.newSalt) !== null)
18
31
  return { kind: "already_rotated" };
19
32
  return { kind: "unreadable" };
20
33
  }
21
34
  /**
22
35
  * Re-encrypts all sensitive data (config entries and webhook secrets)
23
- * from oldKey to newKey in batches, walking the primary key with a keyset
36
+ * from (oldKey, oldSalt) to (newKey, newSalt) in batches, walking the primary key with a keyset
24
37
  * cursor (id > lastId, ordered by id) so every row is visited exactly once.
25
38
  * Each batch is its own transaction so locks are held briefly.
26
39
  *
@@ -28,14 +41,21 @@ function rotateValue(encrypted, oldKeyMaterial, newKeyMaterial) {
28
41
  * with the new key stays as it is and counts in `already_rotated`. A value that
29
42
  * decrypts with neither key stays as it is and appears in `unreadable`.
30
43
  *
44
+ * Throws a ValidationError before it reads a row when `salts.oldSalt` or
45
+ * `salts.newSalt` is not a non-empty, even-length hex string.
46
+ *
31
47
  * Throws a ValidationError when encrypted values exist and none of them
32
48
  * decrypts with either key. That result almost always means `oldKeyMaterial`
33
- * is wrong, and the run has changed no row.
49
+ * or `salts.oldSalt` is wrong, and the run has changed no row.
50
+ *
51
+ * To move the data to a new HKDF salt, give `salts.oldSalt` and `salts.newSalt`.
52
+ * The old key and the new key can then be the same.
34
53
  *
35
54
  * After rotation, update the STRATUM_ENCRYPTION_KEY environment variable to
36
- * the new key.
55
+ * the new key, and STRATUM_HKDF_SALT to the new salt.
37
56
  */
38
- async function rotateEncryptionKey(pool, oldKeyMaterial, newKeyMaterial, batchSize = 100) {
57
+ async function rotateEncryptionKey(pool, oldKeyMaterial, newKeyMaterial, batchSize = 100, salts = {}) {
58
+ assertHexSalts(salts);
39
59
  let configCount = 0;
40
60
  let webhookCount = 0;
41
61
  let alreadyRotated = 0;
@@ -50,7 +70,7 @@ async function rotateEncryptionKey(pool, oldKeyMaterial, newKeyMaterial, batchSi
50
70
  if (batch.rows.length === 0)
51
71
  return 0;
52
72
  for (const row of batch.rows) {
53
- const outcome = rotateValue(row.value, oldKeyMaterial, newKeyMaterial);
73
+ const outcome = rotateValue(row.value, oldKeyMaterial, newKeyMaterial, salts);
54
74
  if (outcome.kind === "already_rotated") {
55
75
  alreadyRotated++;
56
76
  }
@@ -78,7 +98,7 @@ async function rotateEncryptionKey(pool, oldKeyMaterial, newKeyMaterial, batchSi
78
98
  if (batch.rows.length === 0)
79
99
  return 0;
80
100
  for (const row of batch.rows) {
81
- const outcome = rotateValue(row.secret_hash, oldKeyMaterial, newKeyMaterial);
101
+ const outcome = rotateValue(row.secret_hash, oldKeyMaterial, newKeyMaterial, salts);
82
102
  if (outcome.kind === "already_rotated") {
83
103
  alreadyRotated++;
84
104
  }
@@ -1 +1 @@
1
- {"version":3,"file":"key-rotation-service.js","sourceRoot":"","sources":["../../src/services/key-rotation-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"key-rotation-service.js","sourceRoot":"","sources":["../../src/services/key-rotation-service.ts"],"names":[],"mappings":"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"}
package/dist/stratum.d.ts CHANGED
@@ -222,7 +222,7 @@ export declare class Stratum {
222
222
  aggregateUsage(query: UsageAggregateQuery): Promise<UsageAggregate[]>;
223
223
  batchCreateTenants(inputs: CreateTenantInput[], audit?: AuditContext): Promise<tenantService.BatchCreateResult>;
224
224
  batchSetConfig(tenantId: string, entries: BatchSetConfigEntry[], audit?: AuditContext): Promise<BatchSetConfigResult>;
225
- rotateEncryptionKey(oldKeyMaterial: string, newKeyMaterial: string, audit?: AuditContext): Promise<keyRotationService.KeyRotationResult>;
225
+ rotateEncryptionKey(oldKeyMaterial: string, newKeyMaterial: string, audit?: AuditContext, salts?: keyRotationService.KeyRotationSalts): Promise<keyRotationService.KeyRotationResult>;
226
226
  /**
227
227
  * Returns the current tenant ID from the AsyncLocalStorage context, or
228
228
  * undefined if called outside an active tenant context.
@@ -1 +1 @@
1
- {"version":3,"file":"stratum.d.ts","sourceRoot":"","sources":["../src/stratum.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stratum.d.ts","sourceRoot":"","sources":["../src/stratum.ts"],"names":[],"mappings":"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"}
package/dist/stratum.js CHANGED
@@ -900,8 +900,8 @@ class Stratum {
900
900
  });
901
901
  }
902
902
  // Encryption key rotation
903
- async rotateEncryptionKey(oldKeyMaterial, newKeyMaterial, audit) {
904
- const result = await keyRotationService.rotateEncryptionKey(this.pool, oldKeyMaterial, newKeyMaterial);
903
+ async rotateEncryptionKey(oldKeyMaterial, newKeyMaterial, audit, salts) {
904
+ const result = await keyRotationService.rotateEncryptionKey(this.pool, oldKeyMaterial, newKeyMaterial, undefined, salts);
905
905
  const summary = {
906
906
  config_entries_rotated: result.config_entries_rotated,
907
907
  webhooks_rotated: result.webhooks_rotated,
@@ -1 +1 @@
1
- {"version":3,"file":"stratum.js","sourceRoot":"","sources":["../src/stratum.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stratum.js","sourceRoot":"","sources":["../src/stratum.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stratum-hq/lib",
3
- "version": "1.5.0",
3
+ "version": "1.6.0",
4
4
  "description": "Stratum tenant management library - framework-agnostic business logic",
5
5
  "keywords": [
6
6
  "multi-tenancy",
@@ -47,7 +47,7 @@
47
47
  "dependencies": {
48
48
  "@opentelemetry/api": "^1.9.0",
49
49
  "@stratum-hq/core": "^1.5.0",
50
- "@stratum-hq/db-adapters": "^1.2.0",
50
+ "@stratum-hq/db-adapters": "^1.3.0",
51
51
  "@stratum-hq/sdk": "^1.3.0",
52
52
  "pg": "^8.11.0"
53
53
  },