Interface: PlatformScope<K>
Defined in: packages/authz/src/scope.ts:45
The authority to act above any tenant: resolving a principal, bootstrap, converging
the anchor. It names no subtree, so there is no path a tenant repository could apply
to it, and it is a different brand from Scope, so a tenant repository does
not compile when handed one. It is minted only for a principal holding a platform
grant (N170): PLATFORM_ACTOR's / can fill an envelope but authorizes nothing.
Generic over the key it was minted for (30's trigger, fired at the third
platform key; slice 2 D2.2). A platform grant is held per key, so a platform
repository method names the key it serves, PlatformScope<'request.platform.…'>,
and the scope minted for any other key does not compile there: principal.resolve's
handler cannot reach anchor.converge's repository. The default, string, is for
code that serves every platform key alike (opening a platform transaction, writing
an audit record) and is never the right type for a method written for one key.
Type Parameters
K
K extends string = string
Properties
[platformScopeBrand]
readonly[platformScopeBrand]:true
Defined in: packages/authz/src/scope.ts:46
holder
readonlyholder:string
Defined in: packages/authz/src/scope.ts:56
The participant that held the grant this was minted under: the caller, from the wiring in process, or the token's signer (or the key's one unsigned broker caller) over the broker. For attribution; the grant itself is the key's row.
key
readonlykey:K
Defined in: packages/authz/src/scope.ts:58
The registry key it was minted for, and the only one it authorizes.
subjectId
readonlysubjectId:string
Defined in: packages/authz/src/scope.ts:48
Always the nil UUID: a platform scope acts for no subject.
tenant
readonlytenant:"platform"
Defined in: packages/authz/src/scope.ts:50
Always platform.