Who may ask, what may they see

Who may ask, and what they may seeAn account passes the operation permission door, then each gate behind it; then the access class, a structure and alters answer per key, the stricter standing: open, locked or left out. Static answers depend on the account alone; runtime answers are marked live.May you ask? Whether the call may be made at all. What may you see and change? Once you have asked: per key, for this account. 2 Each gate's answer gate: Borrows another thing's whole access answer for the thing, after the permission; asked per item in a collection. 1 The operation's permission #[Operation(permission:)] Asked first, with nothing loaded. One permission as written is static; a %key in it is runtime. both allow: you may ask The resource's access class A structure's own, in its frame Alters, after the owner the stricter stands key_a open: may be changed key_b locked: shown, fixed key_c left out: not there key_d live: settled once known The answer is one of three, per key: open, locked or left out. Every answer is one of two kinds, read from its cacheability and never declared: Static: the account alone Cache contexts user.permissions or user.roles only, no tag, permanent. Stated ahead for that account: readOnly, or not there, in the full schema and the tool listing. Runtime: anything else An entity or config tag, State, the user context, or no cacheability at all. Marked live in the full schema, and settled once the thing is known. Who may ask, and what they may seeAn account passes the operation permission door, then each gate behind it; then the access class, a structure and alters answer per key, the stricter standing: open, locked or left out. Static answers depend on the account alone; runtime answers are marked live.May you ask? Whether the call may be made at all. 1 The operation's permission #[Operation(permission:)] Asked first, with nothing loaded. One permission as written is static; a %key in it is runtime. 2 Each gate's answer gate: Borrows another thing's whole access answer for the thing, after the permission; asked per item in a collection. both allow: you may ask What may you see and change? Once you have asked: per key, for this account. The resource's access class A structure's own, in its frame Alters, after the owner the stricter stands One answer of three, per key: key_a open: may be changed key_b locked: shown, fixed key_c left out: not there key_d live: settled once known Every answer is one of two kinds, read from its cacheability and never declared: Static: the account alone Cache contexts user.permissions or user.roles only, no tag, permanent. Stated ahead for that account: readOnly, or not there, in the full schema and the tool listing. Runtime: anything else An entity or config tag, State, the user context, or no cacheability at all. Marked live in the full schema, and settled once the thing is known.

An operation's permission decides whether you may ask; the access answers decide what you may see and change once you have asked: open, locked or left out, per key, from the resource's access class, a structure's own and each alter, the stricter standing. An answer is static when it reads the account alone, so it is stated ahead for that account, and runtime otherwise, marked live and settled once the thing is known.

Read more Access, Three answers, Static and runtime access. Decisions Access has three answers, Access is static or runtime, read from its cacheability, An alter may answer access, and the stricter stands.

Part of Surface API; see the full explainer.