@the-ai-company/cbio-node-runtime 1.1.0 → 1.4.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 (42) hide show
  1. package/README.md +30 -4
  2. package/dist/clients/owner/client.d.ts +2 -2
  3. package/dist/clients/owner/client.js +7 -8
  4. package/dist/clients/owner/client.js.map +1 -1
  5. package/dist/clients/owner/contracts.d.ts +4 -5
  6. package/dist/clients/owner/index.d.ts +1 -1
  7. package/dist/runtime/bootstrap.d.ts +31 -0
  8. package/dist/runtime/bootstrap.js +31 -0
  9. package/dist/runtime/bootstrap.js.map +1 -0
  10. package/dist/runtime/index.d.ts +5 -4
  11. package/dist/runtime/index.js +3 -2
  12. package/dist/runtime/index.js.map +1 -1
  13. package/dist/vault-core/contracts.d.ts +11 -11
  14. package/dist/vault-core/core.d.ts +3 -2
  15. package/dist/vault-core/core.js +26 -8
  16. package/dist/vault-core/core.js.map +1 -1
  17. package/dist/vault-core/defaults.d.ts +9 -4
  18. package/dist/vault-core/defaults.js +18 -8
  19. package/dist/vault-core/defaults.js.map +1 -1
  20. package/dist/vault-core/index.d.ts +5 -4
  21. package/dist/vault-core/index.js +2 -2
  22. package/dist/vault-core/index.js.map +1 -1
  23. package/dist/vault-core/persistence.d.ts +53 -7
  24. package/dist/vault-core/persistence.js +139 -12
  25. package/dist/vault-core/persistence.js.map +1 -1
  26. package/dist/vault-core/ports.d.ts +9 -3
  27. package/dist/vault-ingress/defaults.d.ts +1 -7
  28. package/dist/vault-ingress/defaults.js +0 -13
  29. package/dist/vault-ingress/defaults.js.map +1 -1
  30. package/dist/vault-ingress/index.d.ts +2 -7
  31. package/dist/vault-ingress/index.js +10 -11
  32. package/dist/vault-ingress/index.js.map +1 -1
  33. package/docs/ARCHITECTURE.md +11 -2
  34. package/docs/CUSTODY_MODEL.md +173 -0
  35. package/docs/REFERENCE.md +22 -3
  36. package/docs/es/README.md +41 -2
  37. package/docs/fr/README.md +41 -2
  38. package/docs/ja/README.md +41 -2
  39. package/docs/ko/README.md +41 -2
  40. package/docs/pt/README.md +41 -2
  41. package/docs/zh/README.md +9 -2
  42. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import type { AuditEntry, AuditQuery, AgentIdentityRecord, OwnerIdentityRecord, OwnerAuditRequest, OwnerExportSecretRequest, OwnerRegisterAgentIdentityCommand, OwnerRegisterCustomHttpFlowCommand, OwnerRegisterOwnerIdentityCommand, OwnerSecretExport, CustomHttpFlowDefinition, DispatchInstruction, DispatchRequest, DispatchResult, SecretAlias, SecretId, SecretRecord, VaultPrincipal, VaultWriteSecretCommand, VaultId } from "./contracts.js";
1
+ import type { AuditEntry, AuditQuery, AgentCapability, AgentIdentityRecord, OwnerIdentityRecord, OwnerAuditRequest, OwnerExportSecretRequest, OwnerRegisterCapabilityCommand, OwnerRegisterAgentIdentityCommand, OwnerRegisterCustomHttpFlowCommand, OwnerSecretExport, CustomHttpFlowDefinition, DispatchInstruction, DispatchRequest, DispatchResult, SecretAlias, SecretId, SecretRecord, VaultPrincipal, VaultWriteSecretCommand, VaultId } from "./contracts.js";
2
2
  export interface SecretRepository {
3
3
  save(record: SecretRecord): Promise<void>;
4
4
  delete(secretId: SecretId): Promise<void>;
@@ -62,14 +62,18 @@ export interface OwnerProofVerifier {
62
62
  }>): Promise<void>;
63
63
  verifyAudit(request: OwnerAuditRequest): Promise<void>;
64
64
  verifyExport(request: OwnerExportSecretRequest): Promise<void>;
65
+ verifyRegisterCapability(command: OwnerRegisterCapabilityCommand): Promise<void>;
65
66
  verifyRegisterAgentIdentity(command: OwnerRegisterAgentIdentityCommand): Promise<void>;
66
- verifyRegisterOwnerIdentity(command: OwnerRegisterOwnerIdentityCommand): Promise<void>;
67
67
  verifyRegisterCustomFlow(command: OwnerRegisterCustomHttpFlowCommand): Promise<void>;
68
68
  }
69
69
  export interface CustomHttpFlowRegistry {
70
70
  register(flow: CustomHttpFlowDefinition): Promise<void>;
71
71
  get(vaultId: VaultId, flowId: string): Promise<CustomHttpFlowDefinition | null>;
72
72
  }
73
+ export interface CapabilityRegistry {
74
+ register(capability: AgentCapability): Promise<void>;
75
+ get(vaultId: VaultId, agentId: string, capabilityId: string): Promise<AgentCapability | null>;
76
+ }
73
77
  export interface VaultCoreDependencies {
74
78
  vaultId: VaultId;
75
79
  secrets: SecretRepository;
@@ -81,6 +85,7 @@ export interface VaultCoreDependencies {
81
85
  agentIdentities: AgentIdentityRegistry;
82
86
  ownerProofVerifier: OwnerProofVerifier;
83
87
  ownerIdentities: OwnerIdentityRegistry;
88
+ capabilities: CapabilityRegistry;
84
89
  customFlows: CustomHttpFlowRegistry;
85
90
  replayGuard: ReplayGuard;
86
91
  clock: Clock;
@@ -93,8 +98,9 @@ export interface VaultCore {
93
98
  dispatchSecret(request: DispatchRequest): Promise<DispatchResult>;
94
99
  bootstrapOwnerIdentity(identity: OwnerIdentityRecord): Promise<void>;
95
100
  registerAgentIdentity(command: OwnerRegisterAgentIdentityCommand): Promise<void>;
96
- registerOwnerIdentity(command: OwnerRegisterOwnerIdentityCommand): Promise<void>;
101
+ registerCapability(command: OwnerRegisterCapabilityCommand): Promise<void>;
97
102
  registerCustomFlow(command: OwnerRegisterCustomHttpFlowCommand): Promise<void>;
103
+ getCapability(vaultId: VaultId, agentId: string, capabilityId: string): Promise<AgentCapability | null>;
98
104
  storeCustomFlowSecret(flow: CustomHttpFlowDefinition, alias: string, plaintext: string): Promise<SecretRecord>;
99
105
  getAudit(actor: VaultPrincipal & {
100
106
  kind: "owner";
@@ -1,11 +1,5 @@
1
1
  import type { AgentDispatchTransport } from "../clients/agent/index.js";
2
- import type { AgentCapability } from "../vault-core/index.js";
3
- import type { VaultCapabilityResolver, VaultService } from "./index.js";
4
- export declare class InMemoryVaultCapabilityResolver implements VaultCapabilityResolver {
5
- private readonly _capabilities;
6
- set(capability: AgentCapability): void;
7
- resolve(vaultId: import("../vault-core/index.js").VaultId, agentId: string, capabilityId: string): Promise<AgentCapability>;
8
- }
2
+ import type { VaultService } from "./index.js";
9
3
  export declare class LocalVaultTransport implements AgentDispatchTransport {
10
4
  private readonly _vault;
11
5
  private readonly _capabilityId;
@@ -1,16 +1,3 @@
1
- export class InMemoryVaultCapabilityResolver {
2
- _capabilities = new Map();
3
- set(capability) {
4
- this._capabilities.set(`${capability.vaultId.value}:${capability.agentId}:${capability.capabilityId}`, capability);
5
- }
6
- async resolve(vaultId, agentId, capabilityId) {
7
- const capability = this._capabilities.get(`${vaultId.value}:${agentId}:${capabilityId}`);
8
- if (!capability) {
9
- throw new Error("VAULT_CAPABILITY_NOT_FOUND");
10
- }
11
- return capability;
12
- }
13
- }
14
1
  export class LocalVaultTransport {
15
2
  _vault;
16
3
  _capabilityId;
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/vault-ingress/defaults.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,+BAA+B;IACzB,aAAa,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEpE,GAAG,CAAC,UAA2B;QAC7B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,YAAY,EAAE,EAAE,UAAU,CAAC,CAAC;IACrH,CAAC;IAED,KAAK,CAAC,OAAO,CACX,OAAiD,EACjD,OAAe,EACf,YAAoB;QAEpB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,IAAI,YAAY,EAAE,CAAC,CAAC;QACzF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AAED,MAAM,OAAO,mBAAmB;IAEX;IACA;IAFnB,YACmB,MAAoB,EACpB,aAAqB;QADrB,WAAM,GAAN,MAAM,CAAc;QACpB,kBAAa,GAAb,aAAa,CAAQ;IACrC,CAAC;IAEJ,KAAK,CAAC,QAAQ,CACZ,OAAyD;QAEzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;YACrD,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK;YAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE;SAC9C,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,QAAQ,CAAC,MAAM,CAAC;IACzB,CAAC;CACF"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/vault-ingress/defaults.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,mBAAmB;IAEX;IACA;IAFnB,YACmB,MAAoB,EACpB,aAAqB;QADrB,WAAM,GAAN,MAAM,CAAc;QACpB,kBAAa,GAAb,aAAa,CAAQ;IACrC,CAAC;IAEJ,KAAK,CAAC,QAAQ,CACZ,OAAyD;QAEzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;YACrD,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK;YAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE;SAC9C,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,QAAQ,CAAC,MAAM,CAAC;IACzB,CAAC;CACF"}
@@ -1,11 +1,8 @@
1
- import { type AgentCapability, type VaultCore, type VaultCoreDependencies, type DispatchRequest, type DispatchResult, type Clock, type OwnerAuditRequest, type OwnerExportSecretRequest, type OwnerRegisterAgentIdentityCommand, type OwnerRegisterCustomHttpFlowCommand, type OwnerRegisterOwnerIdentityCommand, type CustomHttpFlowDefinition, type OwnerIdentityRecord, type OwnerSecretExport, type SecretRecord, type VaultId } from "../vault-core/index.js";
1
+ import { type VaultCore, type VaultCoreDependencies, type DispatchRequest, type DispatchResult, type Clock, type OwnerAuditRequest, type OwnerExportSecretRequest, type OwnerRegisterCapabilityCommand, type OwnerRegisterAgentIdentityCommand, type OwnerRegisterCustomHttpFlowCommand, type CustomHttpFlowDefinition, type OwnerIdentityRecord, type OwnerSecretExport, type SecretRecord, type VaultId } from "../vault-core/index.js";
2
2
  export type RedactedResponseShape = null | string | number | boolean | RedactedResponseShape[] | {
3
3
  [key: string]: RedactedResponseShape;
4
4
  };
5
5
  export type VaultAcquireSecretFlow = "oauth_token_response.access_token" | "oauth_token_response.refresh_token" | "openid_token_response.id_token";
6
- export interface VaultCapabilityResolver {
7
- resolve(vaultId: VaultId, agentId: string, capabilityId: string): Promise<AgentCapability>;
8
- }
9
6
  export interface VaultAgentDispatchRequest {
10
7
  vaultId: string;
11
8
  requestId: string;
@@ -56,8 +53,8 @@ export interface VaultCustomFlowResolver {
56
53
  export interface VaultService {
57
54
  readonly vaultId: VaultCore["vaultId"];
58
55
  bootstrapOwnerIdentity(request: OwnerIdentityRecord): Promise<void>;
56
+ registerCapability(request: OwnerRegisterCapabilityCommand): Promise<void>;
59
57
  registerAgentIdentity(request: OwnerRegisterAgentIdentityCommand): Promise<void>;
60
- registerOwnerIdentity(request: OwnerRegisterOwnerIdentityCommand): Promise<void>;
61
58
  registerCustomFlow(request: OwnerRegisterCustomHttpFlowCommand): Promise<void>;
62
59
  writeSecret(request: import("../vault-core/index.js").VaultWriteSecretCommand): Promise<SecretRecord>;
63
60
  acquireSecret(request: VaultAcquireSecretInput): Promise<VaultAcquireSecretResult>;
@@ -67,13 +64,11 @@ export interface VaultService {
67
64
  exportSecret(request: OwnerExportSecretRequest): Promise<OwnerSecretExport>;
68
65
  }
69
66
  export declare function createVaultService(deps: VaultCoreDependencies, options?: {
70
- capabilities?: VaultCapabilityResolver;
71
67
  customFlows?: VaultCustomFlowResolver;
72
68
  clock?: Clock;
73
69
  fetchImpl?: typeof fetch;
74
70
  }): VaultService;
75
71
  export declare function wrapVaultCoreAsVaultService(core: VaultCore, options?: {
76
- capabilities?: VaultCapabilityResolver;
77
72
  customFlows?: VaultCustomFlowResolver;
78
73
  clock?: Clock;
79
74
  fetchImpl?: typeof fetch;
@@ -2,13 +2,11 @@ import { createVaultCore, } from "../vault-core/index.js";
2
2
  import { createOwnerHttpFlowBoundary, createStandardAcquireBoundary, toOwnerHttpFlowBoundary, } from "./flow-factories.js";
3
3
  class LocalVaultService {
4
4
  _authority;
5
- _capabilities;
6
5
  _customFlows;
7
6
  _clock;
8
7
  _fetchImpl;
9
- constructor(_authority, _capabilities, _customFlows, _clock, _fetchImpl = fetch) {
8
+ constructor(_authority, _customFlows, _clock, _fetchImpl = fetch) {
10
9
  this._authority = _authority;
11
- this._capabilities = _capabilities;
12
10
  this._customFlows = _customFlows;
13
11
  this._clock = _clock;
14
12
  this._fetchImpl = _fetchImpl;
@@ -19,12 +17,12 @@ class LocalVaultService {
19
17
  bootstrapOwnerIdentity(request) {
20
18
  return this._authority.bootstrapOwnerIdentity(request);
21
19
  }
20
+ registerCapability(request) {
21
+ return this._authority.registerCapability(request);
22
+ }
22
23
  registerAgentIdentity(request) {
23
24
  return this._authority.registerAgentIdentity(request);
24
25
  }
25
- registerOwnerIdentity(request) {
26
- return this._authority.registerOwnerIdentity(request);
27
- }
28
26
  registerCustomFlow(request) {
29
27
  return this._authority.registerCustomFlow(request);
30
28
  }
@@ -324,10 +322,11 @@ class LocalVaultService {
324
322
  });
325
323
  }
326
324
  async resolveCapability(vaultId, agentId, capabilityId) {
327
- if (!this._capabilities) {
328
- throw new Error("VAULT_CAPABILITY_RESOLVER_NOT_CONFIGURED");
325
+ const capability = await this._authority.getCapability(vaultId, agentId, capabilityId);
326
+ if (!capability) {
327
+ throw new Error("VAULT_CAPABILITY_NOT_FOUND");
329
328
  }
330
- return this._capabilities.resolve(vaultId, agentId, capabilityId);
329
+ return capability;
331
330
  }
332
331
  parseBody(body) {
333
332
  if (!body) {
@@ -355,10 +354,10 @@ class LocalVaultService {
355
354
  }
356
355
  }
357
356
  export function createVaultService(deps, options = {}) {
358
- return new LocalVaultService(createVaultCore(deps), options.capabilities, options.customFlows ?? deps.customFlows, options.clock, options.fetchImpl);
357
+ return new LocalVaultService(createVaultCore(deps), options.customFlows ?? deps.customFlows, options.clock, options.fetchImpl);
359
358
  }
360
359
  export function wrapVaultCoreAsVaultService(core, options = {}) {
361
- return new LocalVaultService(core, options.capabilities, options.customFlows, options.clock, options.fetchImpl);
360
+ return new LocalVaultService(core, options.customFlows, options.clock, options.fetchImpl);
362
361
  }
363
362
  export { createOwnerHttpFlowBoundary, createStandardAcquireBoundary, createStandardDispatchBoundary, toOwnerHttpFlowBoundary, } from "./flow-factories.js";
364
363
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vault-ingress/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vault-ingress/index.ts"],"names":[],"mappings":"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"}
@@ -2,19 +2,28 @@
2
2
 
3
3
  Current product architecture is vault-first.
4
4
 
5
+ Related design note:
6
+
7
+ - [Custody Model](CUSTODY_MODEL.md)
8
+
9
+ Recommended persistent-vault lifecycle:
10
+
11
+ - initialize through `initializePersistentVault(...)`
12
+ - recover through `recoverPersistentVault(...)`
13
+
5
14
  ## Public Modules
6
15
 
7
16
  - `vault-core`
8
17
  Stores secret plaintext, validates writes, validates dispatch, appends audit, invokes trusted executors.
9
18
 
10
19
  - `clients/owner`
11
- Owner-facing client for secret writes and audit reads.
20
+ Owner-facing client for the single vault admin. It performs secret writes, agent/capability administration, explicit plaintext export, and audit reads.
12
21
 
13
22
  - `clients/agent`
14
23
  Agent-facing client for signed dispatch requests. It never receives secret plaintext.
15
24
 
16
25
  - `vault-ingress`
17
- Accepts request-shaped calls, resolves capability inside the vault boundary, performs trusted acquisition flows, and forwards dispatch into vault-core internals.
26
+ Accepts request-shaped calls, resolves vault-managed capability records inside the vault boundary, performs trusted acquisition flows, and forwards dispatch into vault-core internals.
18
27
 
19
28
  ## Core Rules
20
29
 
@@ -0,0 +1,173 @@
1
+ # Custody Model
2
+
3
+ This document defines the intended key and custody model for the local vault runtime.
4
+
5
+ It exists to remove ambiguity around `owner` identity, secret recovery, and the vault's working-key model.
6
+
7
+ ## Scope
8
+
9
+ This runtime is a local vault / password-safe style infrastructure layer.
10
+
11
+ It is not primarily a cloud secret manager.
12
+ It is not a browser extension.
13
+ It is not a CLI.
14
+
15
+ The runtime is responsible for:
16
+
17
+ - storing secret material safely at rest
18
+ - using stored secret material during trusted vault operations
19
+ - supporting explicit owner export / reveal operations
20
+ - providing a stable custody model for higher-level products built on top
21
+
22
+ ## Design Goal
23
+
24
+ The runtime must satisfy all of the following:
25
+
26
+ 1. Normal vault operation must not depend on repeated owner intervention.
27
+ 2. Owner must retain explicit recovery and export authority.
28
+ 3. Identity proof and secret-material control must not be collapsed into one key by default.
29
+ 4. The runtime must not treat a raw process-level string as the final product model.
30
+
31
+ ## Core Terms
32
+
33
+ ### `ownerPrivateKey`
34
+
35
+ The owner's identity-signing key.
36
+
37
+ In the current product model, this owner is the single vault admin.
38
+ Other principals should be modeled as agents with capabilities rather than additional owners.
39
+
40
+ Purpose:
41
+
42
+ - prove "this request came from the owner"
43
+ - authorize owner-scoped operations
44
+ - bind audit-visible actions to the owner identity
45
+
46
+ Non-purpose:
47
+
48
+ - not the vault's secret-material root
49
+ - not the working encryption key for stored secrets
50
+ - not the recovery key for vault custody
51
+
52
+ ### `vaultWorkingKey`
53
+
54
+ The runtime's working secret-material key.
55
+
56
+ Purpose:
57
+
58
+ - protect secret material at rest
59
+ - support runtime secret use after the vault is in an operational state
60
+ - back vault-side secret load / decrypt operations
61
+
62
+ Non-purpose:
63
+
64
+ - not an owner identity key
65
+ - not a user-facing day-to-day API credential
66
+ - not the preferred recovery artifact presented to the owner
67
+
68
+ ### `vaultRecoveryKey`
69
+
70
+ The owner-held recovery artifact.
71
+
72
+ Purpose:
73
+
74
+ - recover or re-establish access to vault secret custody
75
+ - support migration and disaster recovery
76
+ - preserve owner material sovereignty over stored secrets
77
+
78
+ Expected lifecycle:
79
+
80
+ - generated during vault initialization
81
+ - shown to the owner once
82
+ - then stored by the owner outside the normal runtime working path
83
+
84
+ Non-purpose:
85
+
86
+ - not the owner's signing identity
87
+ - not the normal runtime key used for every operation
88
+
89
+ ## Current Runtime Surface
90
+
91
+ The persistent runtime surface uses `vaultWorkingKey` as the runtime material-control key.
92
+
93
+ The older `custodyKey` term is intentionally not part of the current product model.
94
+
95
+ ## Required Separation
96
+
97
+ The runtime separates three concerns:
98
+
99
+ 1. Identity authority
100
+ `ownerPrivateKey`
101
+
102
+ 2. Runtime material control
103
+ `vaultWorkingKey`
104
+
105
+ 3. Recovery authority
106
+ `vaultRecoveryKey`
107
+
108
+ This separation is deliberate.
109
+
110
+ The runtime should not default to a model where one owner signing key directly acts as the encryption root for all stored secret material.
111
+
112
+ ## Owner Relationship To Custody
113
+
114
+ Owner is the authorization authority for the vault.
115
+
116
+ Owner is not defined as the same thing as the runtime working key.
117
+
118
+ Instead:
119
+
120
+ - owner authorizes actions
121
+ - runtime custody performs storage / load / export work
122
+ - owner retains ultimate recovery and export authority through explicit product mechanisms
123
+
124
+ In practical terms:
125
+
126
+ - owner must be able to export secret plaintext through a formal audited interface
127
+ - owner must be able to recover the vault through a formal recovery mechanism
128
+ - owner does not need to directly hold the working key during normal runtime operation
129
+
130
+ ## Export / Reveal Policy
131
+
132
+ For this runtime family, export is a first-class password-safe capability, not an exception.
133
+
134
+ That means:
135
+
136
+ - `exportSecret(...)` is valid product behavior
137
+ - export must be explicit
138
+ - export must be owner-scoped
139
+ - export must be audited
140
+
141
+ Future hardening such as MFA/TOTP may be added on top of this model, but it does not replace the need to define custody clearly.
142
+
143
+ ## Already Added
144
+
145
+ The runtime now includes:
146
+
147
+ 1. formal persistent-vault initialization through `initializePersistentVault(...)`
148
+ 2. formal recovery-key based re-entry through `recoverPersistentVault(...)`
149
+ 3. explicit `vaultWorkingKey` terminology in the persistent dependency surface
150
+ 4. continued support for explicit owner export through `exportSecret(...)`
151
+
152
+ ## Next
153
+
154
+ The remaining intended direction is:
155
+
156
+ 1. continue tightening recovery and migration flows
157
+ 2. continue reducing low-level helper use in favor of high-level lifecycle entrypoints
158
+ 3. keep the custody terminology stable across docs and APIs
159
+
160
+ ## What This Runtime Should Remove
161
+
162
+ The runtime should move away from these ambiguous product meanings:
163
+
164
+ - "owner cannot read secrets back"
165
+ - "owner signing key and vault secret-material key are the same by default"
166
+
167
+ ## Non-Goals
168
+
169
+ This document does not require the runtime to become a cloud KMS product.
170
+
171
+ This document also does not require browser, CLI, or MCP concerns to be handled inside the runtime itself.
172
+
173
+ Those layers may consume this runtime, but they do not define the runtime's custody model.
package/docs/REFERENCE.md CHANGED
@@ -17,10 +17,26 @@ The main constructors are:
17
17
 
18
18
  - `createVaultCore(...)`
19
19
  - `createVaultService(...)`
20
+ - `initializePersistentVault(...)`
21
+ - `recoverPersistentVault(...)`
20
22
  - `createOwnerClient(...)`
21
23
  - `createAgentClient(...)`
22
24
  - `LocalVaultTransport`
23
25
 
26
+ Related design note:
27
+
28
+ - [Custody Model](CUSTODY_MODEL.md)
29
+
30
+ Recommended persistent-vault entrypoints:
31
+
32
+ - `initializePersistentVault(...)`
33
+ - `recoverPersistentVault(...)`
34
+
35
+ Lower-level custody helpers:
36
+
37
+ - `initializeVaultCustody(...)`
38
+ - `recoverVaultWorkingKey(...)`
39
+
24
40
  ## Secret-Flow Model
25
41
 
26
42
  The current HTTP-facing API supports two explicit secret-flow classes:
@@ -54,7 +70,6 @@ Important methods:
54
70
 
55
71
  - `bootstrapOwnerIdentity(...)`
56
72
  - `registerAgentIdentity(...)`
57
- - `registerOwnerIdentity(...)`
58
73
  - `writeSecret(...)`
59
74
  - `exportSecret(...)`
60
75
  - `acquireSecret(...)`
@@ -74,7 +89,7 @@ await vault.bootstrapOwnerIdentity({
74
89
  });
75
90
  ```
76
91
 
77
- After that, additional owner and agent identities should be registered through owner-signed commands rather than direct raw records.
92
+ The runtime treats this first owner as the single vault admin. Additional principals should be modeled as agents plus capabilities rather than extra owners.
78
93
 
79
94
  ## Owner Client
80
95
 
@@ -86,7 +101,7 @@ Current owner operations:
86
101
  - `exportSecret(...)`
87
102
  - `getAudit(...)`
88
103
  - `registerAgentIdentity(...)`
89
- - `registerOwnerIdentity(...)`
104
+ - `registerCapability(...)`
90
105
  - `registerCustomFlow(...)`
91
106
 
92
107
  Example:
@@ -158,6 +173,8 @@ const capability = {
158
173
  allowedMethods: ['POST'],
159
174
  issuedAt: new Date().toISOString(),
160
175
  };
176
+
177
+ await owner.registerCapability({ capability });
161
178
  ```
162
179
 
163
180
  Custom capability example:
@@ -174,6 +191,8 @@ const customCapability = {
174
191
  allowedMethods: ['POST'],
175
192
  issuedAt: new Date().toISOString(),
176
193
  };
194
+
195
+ await owner.registerCapability({ capability: customCapability });
177
196
  ```
178
197
 
179
198
  ## Acquisition Result Shape
package/docs/es/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # cbio Vault Runtime
2
2
 
3
- Primera version publica del runtime centrado en autoridad.
3
+ Runtime local de vault para el nucleo de autorizacion de cbio. No incluye CLI ni TUI.
4
4
 
5
5
  Superficie principal:
6
6
  - `vault-core`
@@ -8,4 +8,43 @@ Superficie principal:
8
8
  - `clients/agent`
9
9
  - `vault-ingress`
10
10
 
11
- La API antigua centrada en `CbioIdentity` ya no forma parte del producto.
11
+ ## Instalacion
12
+
13
+ ```bash
14
+ npm install @the-ai-company/cbio-node-runtime
15
+ ```
16
+
17
+ ## Uso
18
+
19
+ ```ts
20
+ import {
21
+ createVaultService,
22
+ initializePersistentVault,
23
+ recoverPersistentVault,
24
+ LocalVaultTransport,
25
+ createOwnerClient,
26
+ createAgentClient,
27
+ FsStorageProvider,
28
+ } from '@the-ai-company/cbio-node-runtime';
29
+ ```
30
+
31
+ ## Arquitectura
32
+
33
+ 1. El plaintext del secret existe solo dentro de `vault-core`
34
+ 2. `clients/owner` actua como el unico admin del vault: escribe secrets, exporta plaintext, administra agents/capabilities y lee audit
35
+ 3. `clients/agent` crea solicitudes de dispatch firmadas por el agent
36
+ 4. `vault-ingress` resuelve capabilities y maneja el ingress de dispatch dentro del limite de confianza del vault
37
+
38
+ Ruta principal recomendada para vault persistente:
39
+
40
+ - inicializar el vault persistente con `initializePersistentVault(...)`
41
+ - recuperar el vault persistente con `recoverPersistentVault(...)` usando la recovery key
42
+
43
+ La API antigua centrada en `CbioIdentity` ya no es la superficie principal del producto.
44
+
45
+ ## Build
46
+
47
+ ```bash
48
+ npm run build
49
+ npm run test
50
+ ```
package/docs/fr/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # cbio Vault Runtime
2
2
 
3
- Premiere version publique du runtime centre sur l'autorite.
3
+ Runtime local de vault pour le noyau d'autorisation cbio. Il ne fournit ni CLI ni TUI.
4
4
 
5
5
  Surface principale :
6
6
  - `vault-core`
@@ -8,4 +8,43 @@ Surface principale :
8
8
  - `clients/agent`
9
9
  - `vault-ingress`
10
10
 
11
- L'ancienne API centree sur `CbioIdentity` ne fait plus partie du produit.
11
+ ## Installation
12
+
13
+ ```bash
14
+ npm install @the-ai-company/cbio-node-runtime
15
+ ```
16
+
17
+ ## Utilisation
18
+
19
+ ```ts
20
+ import {
21
+ createVaultService,
22
+ initializePersistentVault,
23
+ recoverPersistentVault,
24
+ LocalVaultTransport,
25
+ createOwnerClient,
26
+ createAgentClient,
27
+ FsStorageProvider,
28
+ } from '@the-ai-company/cbio-node-runtime';
29
+ ```
30
+
31
+ ## Architecture
32
+
33
+ 1. Le plaintext du secret n'existe qu'a l'interieur de `vault-core`
34
+ 2. `clients/owner` agit comme l'unique admin du vault : ecriture de secrets, export plaintext, administration des agents/capabilities et lecture de l'audit
35
+ 3. `clients/agent` cree les requetes de dispatch signees par l'agent
36
+ 4. `vault-ingress` resout les capabilities et traite l'ingress de dispatch a l'interieur de la frontiere de confiance du vault
37
+
38
+ Chemin principal recommande pour un vault persistant :
39
+
40
+ - initialiser le vault persistant avec `initializePersistentVault(...)`
41
+ - restaurer le vault persistant avec `recoverPersistentVault(...)` via la recovery key
42
+
43
+ L'ancienne API centree sur `CbioIdentity` n'est plus la surface principale du produit.
44
+
45
+ ## Build
46
+
47
+ ```bash
48
+ npm run build
49
+ npm run test
50
+ ```
package/docs/ja/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # cbio Vault Runtime
2
2
 
3
- Vault first の第一版ランタイムです。
3
+ cbio 権限コアのローカル vault ランタイムです。CLI や TUI は含みません。
4
4
 
5
5
  主な公開モジュール:
6
6
  - `vault-core`
@@ -8,4 +8,43 @@ Vault first の第一版ランタイムです。
8
8
  - `clients/agent`
9
9
  - `vault-ingress`
10
10
 
11
- `CbioIdentity` 中心 API は公開面から外れています。
11
+ ## インストール
12
+
13
+ ```bash
14
+ npm install @the-ai-company/cbio-node-runtime
15
+ ```
16
+
17
+ ## 使い方
18
+
19
+ ```ts
20
+ import {
21
+ createVaultService,
22
+ initializePersistentVault,
23
+ recoverPersistentVault,
24
+ LocalVaultTransport,
25
+ createOwnerClient,
26
+ createAgentClient,
27
+ FsStorageProvider,
28
+ } from '@the-ai-company/cbio-node-runtime';
29
+ ```
30
+
31
+ ## アーキテクチャ
32
+
33
+ 1. secret の平文は `vault-core` の内部にのみ存在します
34
+ 2. `clients/owner` は単一の vault admin として secret 書き込み、平文 export、agent/capability 管理、audit 読み取りを行います
35
+ 3. `clients/agent` は agent の signed dispatch request を作ります
36
+ 4. `vault-ingress` は vault 境界の内側で capability 解決と dispatch ingress を扱います
37
+
38
+ 推奨される persistent-vault の主経路:
39
+
40
+ - `initializePersistentVault(...)` で persistent vault を初期化する
41
+ - `recoverPersistentVault(...)` で recovery key を使って persistent vault を復旧する
42
+
43
+ 旧 `CbioIdentity` 中心 API は、もはや主要な公開面ではありません。
44
+
45
+ ## ビルド
46
+
47
+ ```bash
48
+ npm run build
49
+ npm run test
50
+ ```