v4.2.0

Reference

Scope catalogue

21 scopes, 3 of them critical. Identifiers are stable and additive — we never repurpose one, and a deprecated scope keeps evaluating to deny forever rather than becoming something new.

Risk tiers and affirmation ceilings

A scope’s tier is not a label, it selects the enforcement profile. This table is the complete mapping.

TierAffirmation max ageRequired factorsWindow ceiling
low90 dayswrittenno ceiling
medium7 dayswritten≤ 8 h
high60 minuteswritten + verbal≤ 4 h
criticalone windowwritten + verbal + capacity≤ 90 min

Negotiation3 scopes

negotiation.readRead negotiation historylowEnumerate prior policies with the same counterparty, including everything that was declined.eligible: top · bottom · switch · monitor
negotiation.proposePropose a scope setlowDraft a policy for another subject. A proposal grants nothing; it only starts a workflow.eligible: top · bottom · switch · vanilla
negotiation.amendAmend an active policyhighstep-upWiden scope mid-window. Amendments never apply to the session in progress — they queue for the next one.eligible: top · bottom · switch

Scene4 scopes

scene.openOpen a sessionmediumstep-upMint a time-boxed session token from a signed policy. Fails closed if any required affirmation is stale.eligible: top · bottom · switch
scene.extendExtend a session windowhighstep-upPush a token's expiry. Capped at one extension per window, and only while the original is still valid.eligible: top · bottom · switch
scene.closeClose a sessionlowEnd the window and open the aftercare SLA. Any party holding scene.open may call this; nobody needs permission.eligible: top · bottom · switch · monitor
monitor.holdHold a monitor positionhighStand watch over a session you are not a party to, with emergency write authority and zero negotiating authority.eligible: monitor · switch

Power exchange3 scopes

power.exchangeExchange authoritycriticalstep-upTransfer decision authority for the duration of a window. Bounded, revocable, and never transitive.eligible: top · bottom · switch
power.holdHold delegated authoritycriticalstep-upself onlyAct on another subject's behalf within a granted envelope. Cannot be delegated onward — no sub-grants, ever.eligible: top · switch
power.returnReturn authoritylowself onlyGive the delegated scope back early. Always available, never declined, never logged with a reason field.eligible: top · bottom · switch

Contact3 scopes

contact.impactImpact contacthighstep-upStriking within agreed implement and body-region allow lists. Denied outright outside an active window.eligible: top · switch
contact.restraintRestraintcriticalstep-upRestricting another subject's movement. Requires a monitor hold, a release plan, and a non-zero escape budget.eligible: top · switch
contact.sensationSensation playmediumstep-upTemperature, texture and intensity variation inside declared thresholds.eligible: top · bottom · switch

Limits2 scopes

limits.declareDeclare a limitlowself onlyInstall an explicit deny. Callable by any subject at any time, including mid-scene, with no counterparty sign-off.eligible: top · bottom · switch · monitor · observer · vanilla
limits.soft.amendAmend a soft limithighstep-upself onlyMove a soft limit after a cooling-off period. Hard limits are structurally absent from this endpoint.eligible: top · bottom · switch

Safeword2 scopes

safeword.triggerTrigger the safewordlowself onlyGlobal session revocation. Free to call, unthrottled, un-auditable beyond the fact that it happened.eligible: top · bottom · switch · monitor · observer · vanilla
safeword.acknowledgeAcknowledge a safewordmediumConfirm you heard it and stopped. Acknowledgement is not consent to resume — resumption is a new negotiation.eligible: top · bottom · switch · monitor

Aftercare2 scopes

aftercare.requestRequest aftercarelowself onlyOpen a support window without needing a session to have occurred first.eligible: top · bottom · switch · monitor · observer · vanilla
aftercare.provideProvide aftercarelowBound by the response SLA in your plan. Unfulfilled aftercare is an availability incident, not a soft skill.eligible: top · bottom · switch · monitor

Audit2 scopes

audit.readRead the audit logmediumself onlyYour own events, in full. Counterparty events are redacted to the fields you both agreed to expose.eligible: top · bottom · switch · monitor
audit.exportExport audit historyhighstep-upself onlyMachine-readable history, watermarked to the exporting subject. Re-sharing is detectable and attributable.eligible: top · switch · monitor

Reserved and unrepresentable

The following identifiers are rejected at parse time. They are listed here so you can see the shape of the boundary rather than guess at it.

rejected at parse
consent:prepaid          consent cannot be collected before a window exists
consent:inherited        a grant never passes to another subject
power:delegation.depth=2 no sub-granting; power.hold is terminal
revocation:conditional   withdrawal cannot depend on a counterparty
revocation:reason        the field does not exist in the schema
scope:*                  wildcards are deny-only
role:owner               there is no account that outranks a subject

Role eligibility

RoleScopes eligibleCritical scopesPosture
top20 / 213Holds scope — Critical ceiling
bottom16 / 211Grants scope — Critical ceiling
switch21 / 213Assumes scope — Critical ceiling
monitor10 / 210Audits scope — High ceiling
observer3 / 210Read-only — Low ceiling
vanilla4 / 210No scope — Low ceiling