specs/rooms/usage/v0_1/payload library

Classes

AuthorityPresentation
What a party presents to act on a room. Carries the whole authority chain: a host MUST NOT dereference an authority credential's parent to fetch a link it was not given. Resolving over the network would make verification depend on availability, turn every identifier into a request the host can be induced to make against an address the holder chooses, and signal credential use to whoever hosts the identifier. A host MUST bind the presenter to the chain's leaf. A chain that verifies is evidence that authority was conferred on somebody; it is not evidence that the party presenting it is that somebody. The leaf's subject MUST equal the party the host authenticated for this request — an identity the transport established or a document proof proved, never one named in a payload. A host that omits this check authorizes every captured presentation, and the omission is silent, because the chain still verifies. Every credential is its issuer's attestation, and only its issuer's. For the membership credential and for every link of authority, a host MUST verify the credential's proof with a key that the credential's own issuer lists for assertionMethod in its DID document, and MUST refuse a credential whose proof names a verification method that is not its issuer's. A proof that verifies under some other party's key is that party's statement, not the issuer's, and confers nothing. The same binding holds for every other document a room signs, such as a RevocationList. A chain that verifies may still be revoked. A host that has accepted a RevocationList for the room (rooms/revocations/put) MUST, from the moment it accepted it, refuse every presentation in which the membership credential or any link of authority is revoked by that list, under every task and every version of every task it serves for the room. A chain from which any link is revoked is refused whole: a credential delegated from a revoked one confers nothing, however it was attenuated. The refusal is the same permissionDenied as any other failed presentation.
MemberUsage
MemberUsage
Payload
A room's owner reads how much each member who has added files is using, against their allowance. Authorized by the room's own credentials: a chain conferring admin at the room's scope.
Response
Success response to rooms/usage. Type https://trusttasks.org/spec/rooms/usage/0.1#response.
ScopeLimits
Limits at one scope. Every member is optional: an absent member means the scope sets no limit of that kind, and the next wider scope's limit, or the host's ceiling, governs. All sizes are ciphertext bytes.
Usage
What one scope holds now. Ciphertext bytes throughout.

Constants

payloadSchemaJson → const String
This specification's payload schema, as JSON text.
responsePayloadSchemaJson → const String
As payloadSchemaJson, for the success-response variant.
responseSpec → const SpecPolicy
The SPEC §7.2 policy for the success-response variant.
responseTypeUri → const String
The success-response form of typeUri (SPEC §4.4.1).
spec → const SpecPolicy
The SPEC §7.2 policy for the request variant, taken from this specification's front matter.
typeUri → const String
The Trust Task type URI this library's Payload is carried under.

Typedefs

Ext = Map<String, dynamic>
Vendor-namespaced extension object per SPEC.md §4.5.1. Each immediate key MUST be a reverse-DNS namespace; structure under each namespace is opaque to the framework.