@centient/secrets 0.10.0 → 0.11.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.
Files changed (99) hide show
  1. package/README.md +355 -7
  2. package/dist/audit/hmac-chain.d.ts +117 -0
  3. package/dist/audit/hmac-chain.d.ts.map +1 -0
  4. package/dist/audit/hmac-chain.js +811 -0
  5. package/dist/audit/hmac-chain.js.map +1 -0
  6. package/dist/audit/ocsf.d.ts +108 -0
  7. package/dist/audit/ocsf.d.ts.map +1 -0
  8. package/dist/audit/ocsf.js +204 -0
  9. package/dist/audit/ocsf.js.map +1 -0
  10. package/dist/cli/hidden-prompt.d.ts.map +1 -1
  11. package/dist/cli/hidden-prompt.js +55 -10
  12. package/dist/cli/hidden-prompt.js.map +1 -1
  13. package/dist/cli/messages.d.ts +40 -8
  14. package/dist/cli/messages.d.ts.map +1 -1
  15. package/dist/cli/messages.js +34 -8
  16. package/dist/cli/messages.js.map +1 -1
  17. package/dist/client.d.ts +26 -0
  18. package/dist/client.d.ts.map +1 -0
  19. package/dist/client.js +129 -0
  20. package/dist/client.js.map +1 -0
  21. package/dist/compatibility.d.ts +199 -0
  22. package/dist/compatibility.d.ts.map +1 -0
  23. package/dist/compatibility.js +419 -0
  24. package/dist/compatibility.js.map +1 -0
  25. package/dist/index.d.ts +19 -5
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +16 -2
  28. package/dist/index.js.map +1 -1
  29. package/dist/policies/audit-trail.d.ts +25 -0
  30. package/dist/policies/audit-trail.d.ts.map +1 -0
  31. package/dist/policies/audit-trail.js +31 -0
  32. package/dist/policies/audit-trail.js.map +1 -0
  33. package/dist/sinks/index.d.ts +9 -0
  34. package/dist/sinks/index.d.ts.map +1 -0
  35. package/dist/sinks/index.js +5 -0
  36. package/dist/sinks/index.js.map +1 -0
  37. package/dist/sinks/jsonl.d.ts +16 -0
  38. package/dist/sinks/jsonl.d.ts.map +1 -0
  39. package/dist/sinks/jsonl.js +51 -0
  40. package/dist/sinks/jsonl.js.map +1 -0
  41. package/dist/sinks/otel.d.ts +22 -0
  42. package/dist/sinks/otel.d.ts.map +1 -0
  43. package/dist/sinks/otel.js +155 -0
  44. package/dist/sinks/otel.js.map +1 -0
  45. package/dist/sinks/queue.d.ts +12 -0
  46. package/dist/sinks/queue.d.ts.map +1 -0
  47. package/dist/sinks/queue.js +89 -0
  48. package/dist/sinks/queue.js.map +1 -0
  49. package/dist/sinks/syslog.d.ts +17 -0
  50. package/dist/sinks/syslog.d.ts.map +1 -0
  51. package/dist/sinks/syslog.js +103 -0
  52. package/dist/sinks/syslog.js.map +1 -0
  53. package/dist/sinks/types.d.ts +27 -0
  54. package/dist/sinks/types.d.ts.map +1 -0
  55. package/dist/sinks/types.js +18 -0
  56. package/dist/sinks/types.js.map +1 -0
  57. package/dist/vault/policy.d.ts +64 -34
  58. package/dist/vault/policy.d.ts.map +1 -1
  59. package/dist/vault/policy.js +109 -67
  60. package/dist/vault/policy.js.map +1 -1
  61. package/dist/vault/session-vault.d.ts +43 -0
  62. package/dist/vault/session-vault.d.ts.map +1 -1
  63. package/dist/vault/session-vault.js +323 -36
  64. package/dist/vault/session-vault.js.map +1 -1
  65. package/dist/vault/sidecar.d.ts +9 -0
  66. package/dist/vault/sidecar.d.ts.map +1 -1
  67. package/dist/vault/sidecar.js +72 -3
  68. package/dist/vault/sidecar.js.map +1 -1
  69. package/dist/vault/types.d.ts +16 -9
  70. package/dist/vault/types.d.ts.map +1 -1
  71. package/dist/vault/vault-env.d.ts +41 -62
  72. package/dist/vault/vault-env.d.ts.map +1 -1
  73. package/dist/vault/vault-env.js +139 -75
  74. package/dist/vault/vault-env.js.map +1 -1
  75. package/dist/vault/vault-gpg.d.ts +1 -0
  76. package/dist/vault/vault-gpg.d.ts.map +1 -1
  77. package/dist/vault/vault-gpg.js +1 -0
  78. package/dist/vault/vault-gpg.js.map +1 -1
  79. package/dist/vault/vault-libsecret.d.ts +1 -0
  80. package/dist/vault/vault-libsecret.d.ts.map +1 -1
  81. package/dist/vault/vault-libsecret.js +7 -6
  82. package/dist/vault/vault-libsecret.js.map +1 -1
  83. package/dist/vault/vault-onepassword.d.ts +1 -0
  84. package/dist/vault/vault-onepassword.d.ts.map +1 -1
  85. package/dist/vault/vault-onepassword.js +1 -0
  86. package/dist/vault/vault-onepassword.js.map +1 -1
  87. package/dist/vault/vault-utils.d.ts +7 -6
  88. package/dist/vault/vault-utils.d.ts.map +1 -1
  89. package/dist/vault/vault-utils.js +8 -7
  90. package/dist/vault/vault-utils.js.map +1 -1
  91. package/dist/vault/vault-windows.d.ts +2 -1
  92. package/dist/vault/vault-windows.d.ts.map +1 -1
  93. package/dist/vault/vault-windows.js +12 -8
  94. package/dist/vault/vault-windows.js.map +1 -1
  95. package/dist/vault/vault.d.ts +6 -7
  96. package/dist/vault/vault.d.ts.map +1 -1
  97. package/dist/vault/vault.js +37 -193
  98. package/dist/vault/vault.js.map +1 -1
  99. package/package.json +8 -2
@@ -8,8 +8,9 @@
8
8
  * 4. GpgVault — GPG-encrypted files (Linux / WSL)
9
9
  * 5. EnvVault — Environment variable fallback (always available)
10
10
  *
11
- * The active backend is selected once at module load by calling each backend's
11
+ * The default backend is selected lazily on first use by calling each backend's
12
12
  * static `detect()` method in order and choosing the first one that returns true.
13
+ * A successful selection is then reused for the lifetime of this module.
13
14
  *
14
15
  * **Explicit selection (ADR-004) sits in front of that cascade.** `secrets.backend`
15
16
  * (or `CENTIENT_SECRETS_BACKEND`) names a backend directly and fails closed if it
@@ -34,9 +35,9 @@ import { GpgVault } from "./vault-gpg.js";
34
35
  import { EnvVault } from "./vault-env.js";
35
36
  import { OnePasswordVault } from "./vault-onepassword.js";
36
37
  import { loadConfig } from "../key-providers/resolve.js";
37
- import { runBeforeHooks, runAfterHooks, rejectedEventType } from "./policy.js";
38
- import { assertValidKey, isValidKey, isValidKeyPrefix } from "./vault-utils.js";
39
- import { InvalidCredentialKeyError } from "./session-vault-errors.js";
38
+ import { defaultPolicyRunner } from "./policy.js";
39
+ import { assertValidKey } from "./vault-utils.js";
40
+ import { createSecretsClientWithPolicyRunner } from "../client.js";
40
41
  // =============================================================================
41
42
  // Constants
42
43
  // =============================================================================
@@ -47,7 +48,6 @@ import { InvalidCredentialKeyError } from "./session-vault-errors.js";
47
48
  * how a migration silently moves nothing.
48
49
  */
49
50
  export const AUTH_KEYCHAIN_SERVICE = "centient-auth";
50
- const SESSION_TTL_MS = 4 * 60 * 60 * 1000; // 4 hours
51
51
  // =============================================================================
52
52
  // KeychainVault wrapper
53
53
  // =============================================================================
@@ -64,6 +64,7 @@ const SESSION_TTL_MS = 4 * 60 * 60 * 1000; // 4 hours
64
64
  */
65
65
  export class KeychainVault {
66
66
  deps;
67
+ name = "keychain";
67
68
  /**
68
69
  * @param deps - Injection seam for the `security` CLI and the
69
70
  * platform/environment that decide the read path. Omitted in production;
@@ -167,84 +168,29 @@ function initVaultBackend() {
167
168
  return { backend: new GpgVault(), type: "gpg" };
168
169
  return { backend: new EnvVault(), type: "env" };
169
170
  }
170
- const { backend: activeBackend, type: activeVaultType } = initVaultBackend();
171
- // =============================================================================
172
- // Session State
173
- // =============================================================================
174
- /** Last successful vault access timestamp (epoch ms). */
175
- let lastAccessAt = null;
176
- /**
177
- * Returns true if the in-process session is still within the TTL window.
178
- * This does NOT validate the token itself — use validateToken() for that.
179
- */
180
- export function isSessionValid() {
181
- if (lastAccessAt === null)
182
- return false;
183
- return Date.now() - lastAccessAt < SESSION_TTL_MS;
184
- }
185
- /** Update session timestamp on successful access. */
186
- function touchSession() {
187
- lastAccessAt = Date.now();
188
- }
189
- // =============================================================================
190
- // Key validation (#168)
191
- //
192
- // The key grammar is enforced HERE, once, for every backend — not per backend.
193
- // Before #168 it was documented on `listCredentials` and enforced nowhere on
194
- // the shared path: `KeychainVault` (cascade position 1, and therefore the
195
- // active backend on every Mac) and `EnvVault` (position 5, the always-available
196
- // fallback) accepted anything, while GPG/libsecret/Windows/1Password refused
197
- // it. A key such as `Auth_Token` consequently stored fine on darwin and was
198
- // unreadable on every other backend — the silent write/read asymmetry the
199
- // invariant exists to prevent. One rule enforced once at the boundary is the
200
- // only shape in which that stays true as backends are added (P6/P2).
201
- //
202
- // Validation runs BEFORE the policy `before` hooks. A malformed key is a
203
- // caller-contract violation, not a policy decision — there is no well-formed
204
- // operation for a policy to allow or deny, and an access-control hook should
205
- // never be handed a key the storage layer has already ruled out. The rejection
206
- // is still audited: the `after` hooks fire with the same `*_rejected` event a
207
- // policy denial produces, so a refused operation is never invisible to the
208
- // audit trail. Unlike a policy denial, every policy's `after` hook fires —
209
- // none was entered, so there is no partially-entered stack to respect.
210
- // =============================================================================
211
- /**
212
- * Audit the rejection of `op` and hand `err` back for the caller to throw.
213
- *
214
- * Split out so the four public functions reject identically. It returns the
215
- * error rather than throwing it so the call site reads `throw rejectKey(...)`
216
- * — the `throw` stays visible where control flow actually leaves.
217
- */
218
- function rejectKey(op, err, start) {
219
- runAfterHooks({
220
- type: rejectedEventType(op),
221
- timestamp: new Date().toISOString(),
222
- backend: activeVaultType,
223
- ...(op.key !== undefined ? { key: op.key } : {}),
224
- ...(op.prefix !== undefined ? { prefix: op.prefix } : {}),
225
- error: err.message,
226
- durationMs: performance.now() - start,
227
- });
228
- return err;
229
- }
230
- /** Reject a malformed key for a keyed operation, auditing the rejection. */
231
- function guardKey(key, type, start) {
232
- if (isValidKey(key))
233
- return;
234
- throw rejectKey({ type, key }, new InvalidCredentialKeyError(key, type, "key"), start);
235
- }
236
- /** Reject a malformed enumeration prefix, auditing the rejection. */
237
- function guardPrefix(prefix, start) {
238
- if (prefix === undefined || isValidKeyPrefix(prefix))
239
- return;
240
- throw rejectKey({ type: "enumerate", prefix }, new InvalidCredentialKeyError(prefix, "enumerate", "prefix"), start);
171
+ let defaultVault;
172
+ function getDefaultVault() {
173
+ if (defaultVault !== undefined)
174
+ return defaultVault;
175
+ const { backend, type } = initVaultBackend();
176
+ const initialized = {
177
+ backend,
178
+ type,
179
+ client: createSecretsClientWithPolicyRunner({
180
+ provider: backend,
181
+ providerName: type,
182
+ policyRunner: defaultPolicyRunner,
183
+ }),
184
+ };
185
+ defaultVault = initialized;
186
+ return initialized;
241
187
  }
242
188
  // =============================================================================
243
189
  // Public API
244
190
  //
245
191
  // Policy-rejected operations are audited: when a `before` hook throws,
246
- // the rejection propagates to the caller AND the `after` hooks of the
247
- // already-entered policies fire with a `*_rejected` event (see
192
+ // the rejection propagates to the caller AND the rejecting policy plus the
193
+ // already-entered policies fire `after` with a `*_rejected` event (see
248
194
  // `runBeforeHooks` in policy.ts), so a denied operation is never
249
195
  // invisible to the audit trail. ADR-002 §1.0.0.
250
196
  // =============================================================================
@@ -252,10 +198,14 @@ function guardPrefix(prefix, start) {
252
198
  * Returns the type identifier for the active vault backend.
253
199
  *
254
200
  * Useful for diagnostics and health checks to know which backend was selected
255
- * at startup (e.g. "keychain", "libsecret", "gpg", "env").
201
+ * on first use (e.g. "keychain", "libsecret", "gpg", "env").
256
202
  */
257
203
  export function getActiveVaultType() {
258
- return activeVaultType;
204
+ return getDefaultVault().type;
205
+ }
206
+ /** Legacy module-level shim over the default client. */
207
+ export function isSessionValid() {
208
+ return getDefaultVault().client.isSessionValid();
259
209
  }
260
210
  /**
261
211
  * Store a credential in the active vault backend.
@@ -268,27 +218,7 @@ export function getActiveVaultType() {
268
218
  * Nothing is written and no backend is contacted.
269
219
  */
270
220
  export async function storeCredential(key, value) {
271
- const start = performance.now();
272
- guardKey(key, "write", start);
273
- await runBeforeHooks({ type: "write", key }, (error) => ({
274
- type: "credential_write_rejected",
275
- timestamp: new Date().toISOString(),
276
- backend: activeVaultType,
277
- key,
278
- error,
279
- durationMs: performance.now() - start,
280
- }));
281
- const success = activeBackend.store(key, value);
282
- if (success)
283
- touchSession();
284
- runAfterHooks({
285
- type: success ? "credential_written" : "credential_write_failed",
286
- timestamp: new Date().toISOString(),
287
- backend: activeVaultType,
288
- key,
289
- durationMs: performance.now() - start,
290
- });
291
- return success;
221
+ return getDefaultVault().client.storeCredential(key, value);
292
222
  }
293
223
  /**
294
224
  * Retrieve a credential from the active vault backend.
@@ -301,41 +231,7 @@ export async function storeCredential(key, value) {
301
231
  * degradation this path used to have.
302
232
  */
303
233
  export async function getCredential(key) {
304
- const start = performance.now();
305
- guardKey(key, "read", start);
306
- await runBeforeHooks({ type: "read", key }, (error) => ({
307
- type: "credential_read_rejected",
308
- timestamp: new Date().toISOString(),
309
- backend: activeVaultType,
310
- key,
311
- error,
312
- durationMs: performance.now() - start,
313
- }));
314
- let value;
315
- try {
316
- value = activeBackend.retrieve(key);
317
- }
318
- catch (err) {
319
- runAfterHooks({
320
- type: "credential_read_failed",
321
- timestamp: new Date().toISOString(),
322
- backend: activeVaultType,
323
- key,
324
- error: err instanceof Error ? err.message : String(err),
325
- durationMs: performance.now() - start,
326
- });
327
- throw err;
328
- }
329
- if (value !== null)
330
- touchSession();
331
- runAfterHooks({
332
- type: value !== null ? "credential_read" : "credential_read_missing",
333
- timestamp: new Date().toISOString(),
334
- backend: activeVaultType,
335
- key,
336
- durationMs: performance.now() - start,
337
- });
338
- return value;
234
+ return getDefaultVault().client.getCredential(key);
339
235
  }
340
236
  /**
341
237
  * Delete a credential from the active vault backend.
@@ -347,25 +243,7 @@ export async function getCredential(key) {
347
243
  * "already deleted" would be a claim the vault cannot make.
348
244
  */
349
245
  export async function deleteCredential(key) {
350
- const start = performance.now();
351
- guardKey(key, "delete", start);
352
- await runBeforeHooks({ type: "delete", key }, (error) => ({
353
- type: "credential_delete_rejected",
354
- timestamp: new Date().toISOString(),
355
- backend: activeVaultType,
356
- key,
357
- error,
358
- durationMs: performance.now() - start,
359
- }));
360
- const success = activeBackend.delete(key);
361
- runAfterHooks({
362
- type: success ? "credential_deleted" : "credential_delete_failed",
363
- timestamp: new Date().toISOString(),
364
- backend: activeVaultType,
365
- key,
366
- durationMs: performance.now() - start,
367
- });
368
- return success;
246
+ return getDefaultVault().client.deleteCredential(key);
369
247
  }
370
248
  /**
371
249
  * Enumerate credential keys in the active vault backend, optionally
@@ -400,42 +278,7 @@ export async function deleteCredential(key) {
400
278
  * }
401
279
  */
402
280
  export async function listCredentials(prefix) {
403
- const start = performance.now();
404
- guardPrefix(prefix, start);
405
- await runBeforeHooks({ type: "enumerate", prefix }, (error) => ({
406
- type: "credential_enumerate_rejected",
407
- timestamp: new Date().toISOString(),
408
- backend: activeVaultType,
409
- prefix,
410
- error,
411
- durationMs: performance.now() - start,
412
- }));
413
- let keys;
414
- try {
415
- keys = await activeBackend.listKeys(prefix);
416
- }
417
- catch (err) {
418
- runAfterHooks({
419
- type: "credential_enumerate_failed",
420
- timestamp: new Date().toISOString(),
421
- backend: activeVaultType,
422
- prefix,
423
- error: err instanceof Error ? err.message : String(err),
424
- durationMs: performance.now() - start,
425
- });
426
- throw err;
427
- }
428
- if (keys.length > 0)
429
- touchSession();
430
- runAfterHooks({
431
- type: "credential_enumerated",
432
- timestamp: new Date().toISOString(),
433
- backend: activeVaultType,
434
- prefix,
435
- keyCount: keys.length,
436
- durationMs: performance.now() - start,
437
- });
438
- return keys;
281
+ return getDefaultVault().client.listCredentials(prefix);
439
282
  }
440
283
  /**
441
284
  * Probe one credential's state in a specific backend.
@@ -475,7 +318,7 @@ export async function probeVaultBackendState(backend, type, key) {
475
318
  }
476
319
  }
477
320
  try {
478
- const value = backend.retrieve(key);
321
+ const value = await backend.retrieve(key);
479
322
  return {
480
323
  layer: "value",
481
324
  backend: type,
@@ -500,6 +343,7 @@ export async function probeVaultBackendState(backend, type, key) {
500
343
  * for the vault master key.
501
344
  */
502
345
  export async function probeBackendState(key) {
503
- return probeVaultBackendState(activeBackend, activeVaultType, key);
346
+ const { backend, type } = getDefaultVault();
347
+ return probeVaultBackendState(backend, type, key);
504
348
  }
505
349
  //# sourceMappingURL=vault.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vault.js","sourceRoot":"","sources":["../../src/vault/vault.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vault.js","sourceRoot":"","sources":["../../src/vault/vault.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@centient/secrets",
3
- "version": "0.10.0",
3
+ "version": "0.11.0",
4
4
  "description": "Cross-platform secrets vault with AES-256-GCM encryption and platform-native key storage",
5
5
  "repository": {
6
6
  "type": "git",
@@ -27,6 +27,10 @@
27
27
  ".": {
28
28
  "types": "./dist/index.d.ts",
29
29
  "import": "./dist/index.js"
30
+ },
31
+ "./sinks": {
32
+ "types": "./dist/sinks/index.d.ts",
33
+ "import": "./dist/sinks/index.js"
30
34
  }
31
35
  },
32
36
  "publishConfig": {
@@ -46,7 +50,9 @@
46
50
  },
47
51
  "license": "MIT",
48
52
  "dependencies": {
49
- "dbus-next": "^0.10.2"
53
+ "@opentelemetry/api": "^1.9.1",
54
+ "dbus-next": "^0.10.2",
55
+ "@centient/cli-utils": "0.2.0"
50
56
  },
51
57
  "scripts": {
52
58
  "build": "tsc",