The (service-level [subrights]) is a shorthand for useful expressions about rights.
service-level combines the (optional) subrights (a list of totems denoting the desired subset of rights with the value of the protection-slot at the current place and checks the result against the capabilities associated with the current message.
For the glory details see AskemosProtection06.
Examples
(The OID's, which represent the rights at low level are replaces with some mnemonic totem names here. Note: the system kernel does not provide such a mapping except for (public-oid) => "public". Other mappings should be done at application level.)
| local protection | current capabilities | service-level call | result |
| jfw/diary | jfw/diary/read | (service-level 'read) | pass |
| jfw/diary | jfw/diary/read | (service-level 'write) | fail |
| jfw/diary | jfw/diary | (service-level 'read) | pass |
| jfw/public | public/read | (service-level 'read) | pass |