@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.
- package/README.md +30 -4
- package/dist/clients/owner/client.d.ts +2 -2
- package/dist/clients/owner/client.js +7 -8
- package/dist/clients/owner/client.js.map +1 -1
- package/dist/clients/owner/contracts.d.ts +4 -5
- package/dist/clients/owner/index.d.ts +1 -1
- package/dist/runtime/bootstrap.d.ts +31 -0
- package/dist/runtime/bootstrap.js +31 -0
- package/dist/runtime/bootstrap.js.map +1 -0
- package/dist/runtime/index.d.ts +5 -4
- package/dist/runtime/index.js +3 -2
- package/dist/runtime/index.js.map +1 -1
- package/dist/vault-core/contracts.d.ts +11 -11
- package/dist/vault-core/core.d.ts +3 -2
- package/dist/vault-core/core.js +26 -8
- package/dist/vault-core/core.js.map +1 -1
- package/dist/vault-core/defaults.d.ts +9 -4
- package/dist/vault-core/defaults.js +18 -8
- package/dist/vault-core/defaults.js.map +1 -1
- package/dist/vault-core/index.d.ts +5 -4
- package/dist/vault-core/index.js +2 -2
- package/dist/vault-core/index.js.map +1 -1
- package/dist/vault-core/persistence.d.ts +53 -7
- package/dist/vault-core/persistence.js +139 -12
- package/dist/vault-core/persistence.js.map +1 -1
- package/dist/vault-core/ports.d.ts +9 -3
- package/dist/vault-ingress/defaults.d.ts +1 -7
- package/dist/vault-ingress/defaults.js +0 -13
- package/dist/vault-ingress/defaults.js.map +1 -1
- package/dist/vault-ingress/index.d.ts +2 -7
- package/dist/vault-ingress/index.js +10 -11
- package/dist/vault-ingress/index.js.map +1 -1
- package/docs/ARCHITECTURE.md +11 -2
- package/docs/CUSTODY_MODEL.md +173 -0
- package/docs/REFERENCE.md +22 -3
- package/docs/es/README.md +41 -2
- package/docs/fr/README.md +41 -2
- package/docs/ja/README.md +41 -2
- package/docs/ko/README.md +41 -2
- package/docs/pt/README.md +41 -2
- package/docs/zh/README.md +9 -2
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AuditEntry, AuditQuery, AgentIdentityRecord, OwnerIdentityRecord, OwnerAuditRequest, OwnerExportSecretRequest, OwnerRegisterAgentIdentityCommand, OwnerRegisterCustomHttpFlowCommand,
|
|
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
|
-
|
|
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 {
|
|
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":"
|
|
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
|
|
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,
|
|
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
|
-
|
|
328
|
-
|
|
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
|
|
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.
|
|
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.
|
|
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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"}
|
package/docs/ARCHITECTURE.md
CHANGED
|
@@ -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
|
-
|
|
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
|
-
- `
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
+
```
|