@substrat-run/control-plane-api 0.92.1 → 0.94.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/api.d.ts +18 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +81 -15
- package/dist/api.js.map +1 -1
- package/dist/deploy.d.ts +4 -0
- package/dist/deploy.d.ts.map +1 -1
- package/dist/deploy.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mask.d.ts +7 -5
- package/dist/mask.d.ts.map +1 -1
- package/dist/mask.js +63 -37
- package/dist/mask.js.map +1 -1
- package/dist/platform-drain.d.ts +12 -0
- package/dist/platform-drain.d.ts.map +1 -1
- package/dist/platform-drain.js +34 -1
- package/dist/platform-drain.js.map +1 -1
- package/dist/pseudonymize.d.ts +69 -0
- package/dist/pseudonymize.d.ts.map +1 -0
- package/dist/pseudonymize.js +222 -0
- package/dist/pseudonymize.js.map +1 -0
- package/dist/wfp.d.ts +21 -0
- package/dist/wfp.d.ts.map +1 -1
- package/dist/wfp.js +6 -1
- package/dist/wfp.js.map +1 -1
- package/package.json +6 -6
package/dist/deploy.d.ts
CHANGED
|
@@ -53,6 +53,10 @@ export interface VerticalBundle {
|
|
|
53
53
|
/** DO classes to migrate as SQLite (`new_sqlite_classes`). */
|
|
54
54
|
doClasses: string[];
|
|
55
55
|
bindings: DeclaredBinding[];
|
|
56
|
+
/** The version DECLARED `substrat.usesModels` (#1054): bind the platform's model runtime
|
|
57
|
+
* as `env.AI`. Travels with the version, so who holds the capability is a property of
|
|
58
|
+
* the code that shipped rather than of the fleet's config. */
|
|
59
|
+
usesModels?: boolean;
|
|
56
60
|
/** Static files served from the edge, with the routing config that decides how paths
|
|
57
61
|
* resolve against them (#340). Absent ⇒ the script serves no static assets.
|
|
58
62
|
* `recoverContent` is the re-serve's escape hatch (#578): the runtime's asset store
|
package/dist/deploy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../src/deploy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../src/deploy.ts"],"names":[],"mappings":"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"}
|
package/dist/deploy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../src/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAGnE;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,uFAAuF;AACvF,oFAAoF;AACpF,2CAA2C;AAC3C,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../src/deploy.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export type { PlatformActorAuth, StaffIdentity, StaffSessionReader, StaffActorRe
|
|
|
8
8
|
export { ControlPlaneClient, ControlPlaneError } from './client.js';
|
|
9
9
|
export type { ControlPlaneClientOptions, ClientProvisionScopeInput } from './client.js';
|
|
10
10
|
export { VerticalClient } from './vertical-client.js';
|
|
11
|
-
export { drainScopePlatformRequests, MAX_PLATFORM_REQUEST_ATTEMPTS, provisionSiblingScope, provisionSiblingHandler, archiveScopeHandler, provisionTenantHandler, setEntitlementsHandler, connectorDispatchHandler, type ConnectorDispatchDeps, type ManagedTenantDeps, type PlatformDrainOptions, type ArchiveScopeDeps, type PlatformRequestHandler, type PlatformRequestContext, type PlatformRequestOutcome, type PlatformDrainReport, type ProvisionSiblingDeps, type ProvisionSiblingInput, type ProvisionSiblingResult, } from './platform-drain.js';
|
|
11
|
+
export { drainScopePlatformRequests, MAX_PLATFORM_REQUEST_ATTEMPTS, provisionSiblingScope, provisionSiblingHandler, archiveScopeHandler, provisionTenantHandler, setEntitlementsHandler, modelUsageHandler, connectorDispatchHandler, type ConnectorDispatchDeps, type ManagedTenantDeps, type PlatformDrainOptions, type ArchiveScopeDeps, type PlatformRequestHandler, type PlatformRequestContext, type PlatformRequestOutcome, type PlatformDrainReport, type ProvisionSiblingDeps, type ProvisionSiblingInput, type ProvisionSiblingResult, } from './platform-drain.js';
|
|
12
12
|
export { attributeFailure, terminalFailureNote } from './failure-attribution.js';
|
|
13
13
|
export type { VerticalClientOptions, ProvisionInstanceInput, ProvisionedInstance, ConfigureInstanceInput, } from './vertical-client.js';
|
|
14
14
|
export { assertSandboxContract, deployManifest, deploymentRefFor, stableDeploymentRefFor, nextMigrationTag, DeployUploadError, upstreamStatusOf, } from './deploy.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@ export { reconcileConnectionGrants, } from './connection-grants.js';
|
|
|
5
5
|
export { mintPushToken, verifyPushToken, pushTokenBuilderAuth, pushActorFor } from './push-token.js';
|
|
6
6
|
export { ControlPlaneClient, ControlPlaneError } from './client.js';
|
|
7
7
|
export { VerticalClient } from './vertical-client.js';
|
|
8
|
-
export { drainScopePlatformRequests, MAX_PLATFORM_REQUEST_ATTEMPTS, provisionSiblingScope, provisionSiblingHandler, archiveScopeHandler, provisionTenantHandler, setEntitlementsHandler, connectorDispatchHandler, } from './platform-drain.js';
|
|
8
|
+
export { drainScopePlatformRequests, MAX_PLATFORM_REQUEST_ATTEMPTS, provisionSiblingScope, provisionSiblingHandler, archiveScopeHandler, provisionTenantHandler, setEntitlementsHandler, modelUsageHandler, connectorDispatchHandler, } from './platform-drain.js';
|
|
9
9
|
export { attributeFailure, terminalFailureNote } from './failure-attribution.js';
|
|
10
10
|
export { assertSandboxContract, deployManifest, deploymentRefFor, stableDeploymentRefFor, nextMigrationTag, DeployUploadError, upstreamStatusOf, } from './deploy.js';
|
|
11
11
|
export { createWfpUploader, createWfpModulesFetcher, createWfpBindingsPatcher } from './wfp.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEjD,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,2BAA2B,EAC3B,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EACL,yBAAyB,GAG1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAUrG,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,GAYzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAOjF,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAUrB,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAQhG,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,+BAA+B,EAC/B,WAAW,EACX,cAAc,EACd,yBAAyB,EACzB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAS/B,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEpF,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAQpE,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,4BAA4B,EAC5B,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,yFAAyF;AACzF,yFAAyF;AACzF,oFAAoF;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEjD,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,2BAA2B,EAC3B,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EACL,yBAAyB,GAG1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAUrG,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,GAYzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAOjF,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAUrB,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAQhG,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,+BAA+B,EAC/B,WAAW,EACX,cAAc,EACd,yBAAyB,EACzB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAS/B,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEpF,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAQpE,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,4BAA4B,EAC5B,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,yFAAyF;AACzF,yFAAyF;AACzF,oFAAoF;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/mask.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ScopeDumpTable } from '@substrat-run/contracts';
|
|
2
|
+
import { MASKED, type Pseudonymizer } from './pseudonymize.js';
|
|
2
3
|
/** Mask one dump in place-shape (returns new arrays; never mutates the input). */
|
|
3
|
-
export declare function maskDump(tables: ScopeDumpTable[]): ScopeDumpTable[]
|
|
4
|
+
export declare function maskDump(tables: ScopeDumpTable[], mask: Pseudonymizer): Promise<ScopeDumpTable[]>;
|
|
4
5
|
/**
|
|
5
6
|
* The same heuristic applied to plain JSON records — the directory half of a tenant
|
|
6
7
|
* export (#36).
|
|
@@ -11,9 +12,10 @@ export declare function maskDump(tables: ScopeDumpTable[]): ScopeDumpTable[];
|
|
|
11
12
|
* must be masked by the SAME rule, or the default-masked promise is only half true and
|
|
12
13
|
* the leak is in the half nobody looked at.
|
|
13
14
|
*
|
|
14
|
-
* So this reuses `
|
|
15
|
-
* list, one recursive sweep, two entry points. Ids and timestamps pass
|
|
16
|
-
* sweep targets free text, and ids are what keep an export intelligible.
|
|
15
|
+
* So this reuses `sweepJson` rather than growing a second heuristic: one PII column
|
|
16
|
+
* list, one recursive sweep, one generator, two entry points. Ids and timestamps pass
|
|
17
|
+
* through — the sweep targets free text, and ids are what keep an export intelligible.
|
|
17
18
|
*/
|
|
18
|
-
export declare function maskRecords<T>(records: readonly T[]): T[]
|
|
19
|
+
export declare function maskRecords<T>(records: readonly T[], mask: Pseudonymizer): Promise<T[]>;
|
|
20
|
+
export { MASKED };
|
|
19
21
|
//# sourceMappingURL=mask.d.ts.map
|
package/dist/mask.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mask.d.ts","sourceRoot":"","sources":["../src/mask.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"mask.d.ts","sourceRoot":"","sources":["../src/mask.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAwB,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AA8FrF,kFAAkF;AAClF,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,cAAc,EAAE,EACxB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,cAAc,EAAE,CAAC,CAK3B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAM7F;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
package/dist/mask.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { MASKED, kindOf } from './pseudonymize.js';
|
|
1
2
|
/**
|
|
2
3
|
* The default masking pass over a scope dump (preview-and-snapshots.md §6/§8).
|
|
3
4
|
*
|
|
@@ -7,64 +8,65 @@
|
|
|
7
8
|
* column heuristic, with declarative per-vertical redaction rules as the later
|
|
8
9
|
* refinement. Two rules:
|
|
9
10
|
*
|
|
10
|
-
* 1. A string cell in a column whose name matches the PII heuristic is
|
|
11
|
-
* with
|
|
11
|
+
* 1. A string cell in a column whose name matches the PII heuristic is **pseudonymized**
|
|
12
|
+
* — replaced with a deterministic fake value of the same kind (#1034,
|
|
13
|
+
* `pseudonymize.ts`). Non-strings (ids, counts, flags) pass through — the sweep
|
|
12
14
|
* targets free text, and ids are what make the copy debuggable at all.
|
|
13
15
|
* 2. A string cell in a JSON-carrying column (`payload`, `detail`, `before`,
|
|
14
16
|
* `after`, `data`) that parses as JSON is swept RECURSIVELY by key with the
|
|
15
17
|
* same heuristic, then re-serialized — fat event payloads keep their shape
|
|
16
18
|
* (consumers and timelines stay debuggable) while the PII fields inside them
|
|
17
|
-
* are
|
|
19
|
+
* are pseudonymized.
|
|
18
20
|
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
21
|
+
* What changed with #1034 is only what the masked branch WRITES. It used to be the
|
|
22
|
+
* literal `[masked]` in every cell, which made a pulled scope structurally valid and
|
|
23
|
+
* factually useless — every screen read `[masked]`, so nobody could drive a preview,
|
|
24
|
+
* a demo or a local repro from one. Now the same cell gets a plausible fake of the
|
|
25
|
+
* right kind, deterministic per export, so the copy reads like a tenant. Free text and
|
|
26
|
+
* national identifiers still get `[masked]`, for the reasons `pseudonymize.ts` states.
|
|
27
|
+
*
|
|
28
|
+
* The output is **pseudonymized, not anonymized**: rare combinations, amounts and dates
|
|
29
|
+
* can still re-identify a subject. Nothing about the gate relaxes because the values now
|
|
30
|
+
* look fake — a heuristic sweep can still miss a column named `x7`, which is why the pull
|
|
31
|
+
* is ALSO staff-gated, audited, and jurisdiction-checked. Masking is one layer of §6's
|
|
32
|
+
* defense, not the gate.
|
|
22
33
|
*/
|
|
23
|
-
// Free-text/PII column names. `name` is included on purpose: entity names
|
|
24
|
-
// (customers, properties, contacts) are customer data even when they look benign.
|
|
25
|
-
//
|
|
26
|
-
// `external_id` earns its place from the platform's OWN schema (#36): an identity link's
|
|
27
|
-
// `externalId` is the provider's subject, which in practice is very often the person's
|
|
28
|
-
// email address — so a tenant export that swept only the obvious columns would hand out
|
|
29
|
-
// the one field most likely to name a human. It is the deliberately lossy direction of
|
|
30
|
-
// the trade: an opaque third-party id (a document ref, an upstream order number) gets
|
|
31
|
-
// masked too, which costs a masked pull some fidelity and costs a leak nothing.
|
|
32
|
-
const PII_COLUMN = /(^|_)(email|e?mail_address|phone|mobile|tel|address|street|city|postal|zip|ssn|personnummer|name|first_name|last_name|full_name|contact|external_id|note|notes|comment|comments|message|subject|body|description)($|_)/i;
|
|
33
34
|
// Columns that carry JSON documents worth sweeping by key rather than blanking.
|
|
34
35
|
const JSON_COLUMN = /(^|_)(payload|detail|details|data|before|after)($|_)/i;
|
|
35
|
-
|
|
36
|
-
// Column names are snake_case but JSON payload keys are camelCase — normalize to
|
|
37
|
-
// snake before testing so `customerEmail` matches the same heuristic as `email`.
|
|
38
|
-
const matchesPii = (name) => PII_COLUMN.test(name.replace(/([a-z0-9])([A-Z])/g, '$1_$2'));
|
|
39
|
-
function maskJsonValue(value, keyMatched) {
|
|
36
|
+
function sweepJson(value, kind, visit) {
|
|
40
37
|
if (typeof value === 'string')
|
|
41
|
-
return
|
|
38
|
+
return kind && value ? visit(kind, value) : value;
|
|
42
39
|
if (Array.isArray(value))
|
|
43
|
-
return value.map((v) =>
|
|
40
|
+
return value.map((v) => sweepJson(v, kind, visit));
|
|
44
41
|
if (value !== null && typeof value === 'object') {
|
|
45
42
|
const out = {};
|
|
46
43
|
for (const [k, v] of Object.entries(value)) {
|
|
47
|
-
|
|
44
|
+
// The child's OWN key wins when it is recognised: in `{ contact: { email } }`,
|
|
45
|
+
// `contact` reads as `person`, and inheriting that would render a full name into
|
|
46
|
+
// a field a consumer parses as an email. The inherited kind is the fallback for
|
|
47
|
+
// keys the heuristic does not classify — and for array elements, which have no
|
|
48
|
+
// key of their own, so `{ email: [a, b] }` still sweeps both.
|
|
49
|
+
out[k] = sweepJson(v, kindOf(k) ?? kind, visit);
|
|
48
50
|
}
|
|
49
51
|
return out;
|
|
50
52
|
}
|
|
51
53
|
return value;
|
|
52
54
|
}
|
|
53
|
-
|
|
54
|
-
export function maskDump(tables) {
|
|
55
|
+
function sweepTables(tables, visit) {
|
|
55
56
|
return tables.map((t) => {
|
|
56
|
-
const
|
|
57
|
+
const kinds = t.columns.map((c) => kindOf(c));
|
|
57
58
|
const jsonCols = t.columns.map((c) => JSON_COLUMN.test(c));
|
|
58
|
-
if (!
|
|
59
|
+
if (!kinds.some(Boolean) && !jsonCols.some(Boolean))
|
|
59
60
|
return t;
|
|
60
61
|
const rows = t.rows.map((row) => row.map((cell, i) => {
|
|
61
|
-
if (typeof cell !== 'string')
|
|
62
|
+
if (typeof cell !== 'string' || cell === '')
|
|
62
63
|
return cell;
|
|
63
|
-
|
|
64
|
-
|
|
64
|
+
const kind = kinds[i];
|
|
65
|
+
if (kind)
|
|
66
|
+
return visit(kind, cell);
|
|
65
67
|
if (jsonCols[i]) {
|
|
66
68
|
try {
|
|
67
|
-
return JSON.stringify(
|
|
69
|
+
return JSON.stringify(sweepJson(JSON.parse(cell), undefined, visit));
|
|
68
70
|
}
|
|
69
71
|
catch {
|
|
70
72
|
return cell; // not JSON — leave it; the column heuristic did not claim it
|
|
@@ -75,6 +77,24 @@ export function maskDump(tables) {
|
|
|
75
77
|
return { ...t, rows };
|
|
76
78
|
});
|
|
77
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Two passes rather than one, because HMAC is async and a dump is a lot of cells: the
|
|
82
|
+
* first walk collects every distinct value the sweep would touch, one batch of digests
|
|
83
|
+
* is computed, and the second walk substitutes. A customer's email quoted in two
|
|
84
|
+
* hundred event payloads costs exactly one digest.
|
|
85
|
+
*/
|
|
86
|
+
const collector = (into) => (kind, original) => {
|
|
87
|
+
if (kind !== 'redact')
|
|
88
|
+
into.add(original);
|
|
89
|
+
return original;
|
|
90
|
+
};
|
|
91
|
+
/** Mask one dump in place-shape (returns new arrays; never mutates the input). */
|
|
92
|
+
export async function maskDump(tables, mask) {
|
|
93
|
+
const values = new Set();
|
|
94
|
+
sweepTables(tables, collector(values));
|
|
95
|
+
await mask.prepare(values);
|
|
96
|
+
return sweepTables(tables, (kind, original) => mask.valueFor(kind, original));
|
|
97
|
+
}
|
|
78
98
|
/**
|
|
79
99
|
* The same heuristic applied to plain JSON records — the directory half of a tenant
|
|
80
100
|
* export (#36).
|
|
@@ -85,11 +105,17 @@ export function maskDump(tables) {
|
|
|
85
105
|
* must be masked by the SAME rule, or the default-masked promise is only half true and
|
|
86
106
|
* the leak is in the half nobody looked at.
|
|
87
107
|
*
|
|
88
|
-
* So this reuses `
|
|
89
|
-
* list, one recursive sweep, two entry points. Ids and timestamps pass
|
|
90
|
-
* sweep targets free text, and ids are what keep an export intelligible.
|
|
108
|
+
* So this reuses `sweepJson` rather than growing a second heuristic: one PII column
|
|
109
|
+
* list, one recursive sweep, one generator, two entry points. Ids and timestamps pass
|
|
110
|
+
* through — the sweep targets free text, and ids are what keep an export intelligible.
|
|
91
111
|
*/
|
|
92
|
-
export function maskRecords(records) {
|
|
93
|
-
|
|
112
|
+
export async function maskRecords(records, mask) {
|
|
113
|
+
const values = new Set();
|
|
114
|
+
const collect = collector(values);
|
|
115
|
+
for (const r of records)
|
|
116
|
+
sweepJson(r, undefined, collect);
|
|
117
|
+
await mask.prepare(values);
|
|
118
|
+
return records.map((r) => sweepJson(r, undefined, (k, o) => mask.valueFor(k, o)));
|
|
94
119
|
}
|
|
120
|
+
export { MASKED };
|
|
95
121
|
//# sourceMappingURL=mask.js.map
|
package/dist/mask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mask.js","sourceRoot":"","sources":["../src/mask.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mask.js","sourceRoot":"","sources":["../src/mask.ts"],"names":[],"mappings":"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"}
|
package/dist/platform-drain.d.ts
CHANGED
|
@@ -209,4 +209,16 @@ export interface ConnectorDispatchDeps {
|
|
|
209
209
|
*/
|
|
210
210
|
export declare function connectorDispatchHandler(deps: ConnectorDispatchDeps): PlatformRequestHandler;
|
|
211
211
|
export declare function setEntitlementsHandler(deps: ManagedTenantDeps): PlatformRequestHandler;
|
|
212
|
+
/**
|
|
213
|
+
* `model-usage` (#1054): a vertical's model host produced one `ModelUsageLine` and raised
|
|
214
|
+
* it as an intent; this records it in the platform's ledger (meter 3). Two refusals are
|
|
215
|
+
* terminal rather than retried: a payload that is not a line, and a line whose
|
|
216
|
+
* attribution names a tenant or scope other than the one being drained — the platform
|
|
217
|
+
* knows (tenant, scope, vertical) inherently from the DO it read, and a vertical does not
|
|
218
|
+
* get to bill another. Idempotent on the intent id, so a replay settles `done` with
|
|
219
|
+
* `recorded: false` instead of writing twice.
|
|
220
|
+
*/
|
|
221
|
+
export declare function modelUsageHandler(deps: {
|
|
222
|
+
host: ScopeHost;
|
|
223
|
+
}): PlatformRequestHandler;
|
|
212
224
|
//# sourceMappingURL=platform-drain.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-drain.d.ts","sourceRoot":"","sources":["../src/platform-drain.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,SAAS,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,
|
|
1
|
+
{"version":3,"file":"platform-drain.d.ts","sourceRoot":"","sources":["../src/platform-drain.ts"],"names":[],"mappings":"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"}
|
package/dist/platform-drain.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isTerminalDispatchFailure, ulid, } from '@substrat-run/kernel';
|
|
2
|
-
import { principalId as principalIdSchema, scopeId as scopeIdSchema, tenantId as tenantIdSchema, provisionSiblingPayload, archiveScopePayload, provisionTenantPayload, setEntitlementsPayload, connectorDispatchPayload, CONNECTOR_DISPATCH_KIND_PREFIX, } from '@substrat-run/contracts';
|
|
2
|
+
import { principalId as principalIdSchema, scopeId as scopeIdSchema, tenantId as tenantIdSchema, provisionSiblingPayload, archiveScopePayload, provisionTenantPayload, setEntitlementsPayload, connectorDispatchPayload, CONNECTOR_DISPATCH_KIND_PREFIX, modelUsageLine, } from '@substrat-run/contracts';
|
|
3
3
|
import { ControlPlaneError } from './client.js';
|
|
4
4
|
import { attributeFailure, terminalFailureNote } from './failure-attribution.js';
|
|
5
5
|
import { connectionGrantsForScope } from './vertical-client.js';
|
|
@@ -500,4 +500,37 @@ export function setEntitlementsHandler(deps) {
|
|
|
500
500
|
return { status: 'done', result: { tenantId, plan: payload.plan } };
|
|
501
501
|
};
|
|
502
502
|
}
|
|
503
|
+
/**
|
|
504
|
+
* `model-usage` (#1054): a vertical's model host produced one `ModelUsageLine` and raised
|
|
505
|
+
* it as an intent; this records it in the platform's ledger (meter 3). Two refusals are
|
|
506
|
+
* terminal rather than retried: a payload that is not a line, and a line whose
|
|
507
|
+
* attribution names a tenant or scope other than the one being drained — the platform
|
|
508
|
+
* knows (tenant, scope, vertical) inherently from the DO it read, and a vertical does not
|
|
509
|
+
* get to bill another. Idempotent on the intent id, so a replay settles `done` with
|
|
510
|
+
* `recorded: false` instead of writing twice.
|
|
511
|
+
*/
|
|
512
|
+
export function modelUsageHandler(deps) {
|
|
513
|
+
return async (ctx, request) => {
|
|
514
|
+
const parsed = modelUsageLine.safeParse(request.payload);
|
|
515
|
+
if (!parsed.success) {
|
|
516
|
+
return { status: 'failed', error: `model-usage payload is not a usage line: ${parsed.error.message}` };
|
|
517
|
+
}
|
|
518
|
+
const line = parsed.data;
|
|
519
|
+
if (line.attribution.tenant !== ctx.tenantId || line.attribution.scope !== ctx.scopeId) {
|
|
520
|
+
return {
|
|
521
|
+
status: 'failed',
|
|
522
|
+
error: `usage line is attributed to (${line.attribution.tenant}, ${line.attribution.scope}), ` +
|
|
523
|
+
`which is not the drained scope (${ctx.tenantId}, ${ctx.scopeId})`,
|
|
524
|
+
};
|
|
525
|
+
}
|
|
526
|
+
if (line.attribution.vertical !== ctx.vertical) {
|
|
527
|
+
return {
|
|
528
|
+
status: 'failed',
|
|
529
|
+
error: `usage line names vertical '${line.attribution.vertical}', but this scope runs '${ctx.vertical}'`,
|
|
530
|
+
};
|
|
531
|
+
}
|
|
532
|
+
const { recorded } = await deps.host.admin.recordModelUsage({ requestId: request.id, line });
|
|
533
|
+
return { status: 'done', result: { recorded, model: line.model, listUsd: line.listUsd } };
|
|
534
|
+
};
|
|
535
|
+
}
|
|
503
536
|
//# sourceMappingURL=platform-drain.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-drain.js","sourceRoot":"","sources":["../src/platform-drain.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"platform-drain.js","sourceRoot":"","sources":["../src/platform-drain.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The value generator behind the masked scope export (#1034).
|
|
3
|
+
*
|
|
4
|
+
* A masked pull used to write the literal `[masked]` into every PII cell, which made
|
|
5
|
+
* the copy structurally valid and factually useless: every screen in a pulled scope
|
|
6
|
+
* read `[masked]`, so a preview, a demo or a local repro could not be driven from
|
|
7
|
+
* one. This turns the same cells into **plausible, deterministic, fake** values —
|
|
8
|
+
* still no real personal data leaves the governed environment, but the copy reads
|
|
9
|
+
* like a tenant.
|
|
10
|
+
*
|
|
11
|
+
* Three properties, and the whole design follows from them:
|
|
12
|
+
*
|
|
13
|
+
* 1. **Deterministic.** The same real value becomes the same fake value everywhere it
|
|
14
|
+
* appears — its own row, every fat event payload that quoted it, the invoice that
|
|
15
|
+
* snapshotted it. Otherwise joins and timelines stop lining up and the copy stops
|
|
16
|
+
* reading as real. The seed is `HMAC-SHA-256(salt, value)`, keyed on the ORIGINAL
|
|
17
|
+
* VALUE ONLY: the column's kind picks the *rendering*, so one email rendered as an
|
|
18
|
+
* `email` and as an `external_id` still agrees with itself.
|
|
19
|
+
* 2. **Irreversible.** A keyed hash, and the salt is never written into the dump. No
|
|
20
|
+
* mapping is stored anywhere; nothing in the output can be walked back.
|
|
21
|
+
* 3. **Still shaped like what it replaced.** An email stays `.email()`-parseable, a
|
|
22
|
+
* phone keeps its country prefix and its digit layout, a postal code keeps its
|
|
23
|
+
* length. A pulled scope whose every read throws a seam `.parse` failure is no
|
|
24
|
+
* better than `[masked]`.
|
|
25
|
+
*
|
|
26
|
+
* Uniqueness comes from the hash rather than from a collision pass: every generated
|
|
27
|
+
* value carries hash-derived characters, so two distinct inputs practically never land
|
|
28
|
+
* on one output and a natural key on `email` survives `importScope`. "Practically
|
|
29
|
+
* never" is sized, not hoped for — an address carries a 48-bit tag, so a scope holding
|
|
30
|
+
* a million distinct addresses collides with probability ~1e-7.
|
|
31
|
+
*
|
|
32
|
+
* **This is pseudonymization, not anonymization.** Rare combinations, amounts and
|
|
33
|
+
* dates can still re-identify a subject, so nothing about §6's gate relaxes because
|
|
34
|
+
* the output looks fake — the pull stays staff-only, audited and jurisdiction-checked.
|
|
35
|
+
*
|
|
36
|
+
* Deliberately NOT faked, stated rather than hidden:
|
|
37
|
+
* - **Free text** (`note`, `description`, `body`, `comment`, `message`, `subject`)
|
|
38
|
+
* stays `[masked]`. Lorem would be a lie about the content; a real sentence cannot
|
|
39
|
+
* be generated from a hash without inventing meaning.
|
|
40
|
+
* - **National identifiers** (`ssn`, `personnummer`) stay `[masked]`. A generated
|
|
41
|
+
* checksum-valid number may belong to a real person; the correct source is
|
|
42
|
+
* Skatteverket's published test range, which is not in this repo. Part of #1034.
|
|
43
|
+
* - **Locale** is one neutral value list. Following the tenant's locale needs a
|
|
44
|
+
* tenant-locale field that does not exist yet — inventing one here would be a
|
|
45
|
+
* guess dressed as a feature.
|
|
46
|
+
*
|
|
47
|
+
* Generated values are drawn from RFC 2606 reserved domains (`example.com`, …), so a
|
|
48
|
+
* pseudonymized address is guaranteed not to reach anyone.
|
|
49
|
+
*/
|
|
50
|
+
/** What a column holds, as far as the name heuristic can tell. */
|
|
51
|
+
export type PiiKind = 'email' | 'phone' | 'postal' | 'street' | 'city' | 'person' | 'given' | 'family' | 'external_id' | 'redact';
|
|
52
|
+
/** The literal a cell keeps when there is nothing honest to generate for it. */
|
|
53
|
+
export declare const MASKED = "[masked]";
|
|
54
|
+
/** Which kind a column or JSON key is, or `undefined` when it is not PII at all. */
|
|
55
|
+
export declare function kindOf(name: string): PiiKind | undefined;
|
|
56
|
+
/**
|
|
57
|
+
* A generator bound to one export's salt.
|
|
58
|
+
*
|
|
59
|
+
* `prepare` is separate from `valueFor` on purpose: HMAC is async and a dump is a lot
|
|
60
|
+
* of cells, so the caller collects every distinct value first, computes the digests in
|
|
61
|
+
* one batch, and then does the substitution walk synchronously. Digests are per
|
|
62
|
+
* DISTINCT VALUE, so a customer's email quoted in two hundred event payloads costs one.
|
|
63
|
+
*/
|
|
64
|
+
export interface Pseudonymizer {
|
|
65
|
+
prepare(values: Iterable<string>): Promise<void>;
|
|
66
|
+
valueFor(kind: PiiKind, original: string): string;
|
|
67
|
+
}
|
|
68
|
+
export declare function createPseudonymizer(salt: string): Promise<Pseudonymizer>;
|
|
69
|
+
//# sourceMappingURL=pseudonymize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pseudonymize.d.ts","sourceRoot":"","sources":["../src/pseudonymize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAEH,kEAAkE;AAClE,MAAM,MAAM,OAAO,GACf,OAAO,GACP,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,aAAa,GACb,QAAQ,CAAC;AAEb,gFAAgF;AAChF,eAAO,MAAM,MAAM,aAAa,CAAC;AAsDjC,oFAAoF;AACpF,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAIxD;AAiGD;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;CACnD;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAoC9E"}
|