@prefix this: . @prefix sub: . @prefix schema: . @prefix gen: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix prov: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:paragraph a gen:Paragraph; schema:about gen:SpaceMemberRole; schema:title "Revoking a role"; gen:hasContent """

A role is taken away with a revocation: a nanopublication naming the space, the person and the exact role. Anyone may revoke a role held by someone of a lower tier than their own, and anyone may revoke their own role at any tier. Admin roles are the exception — only another admin can revoke one, apart from stepping down — and the admins named in the space's founding definition cannot be revoked at all.

Revocations and grants are ordered by time, so a grant published after a revocation restores the role. Nothing is deleted: the history of who held what, and when, remains readable.

"""; gen:hasPositionString "070" . } sub:provenance { sub:assertion prov:wasAttributedTo . } sub:pubinfo { this: dct:created "2026-09-10T11:36:12Z"^^xsd:dateTime; dct:creator ; dct:license ; npx:introduces sub:paragraph; rdfs:label "Revoking a role"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl8cMusqtNyKA6UIsi3f7BAcZmHQXWxU0qk0PLsboMWQxYrGBfGgHTgRHJrBRxL+Zn9kJHKVmz2smDcjCBptXi/OwWy80gjsx+Pbe6IWz3zFPWF1UoFIKfPnC0slV67CQgdM853zW7Bmk9/uflCtK4EtZKmPdRGtUHVC7DTVvDBMDzLRGdE2KCBVN29EbM5GGVNvijYbaZQ9OFQPBkQshayqSIyGRr6rreJdkrRVLIzu3uuAjKYydaeXZWSN2JLnVBwrClKUxaEdCwhb5nXpMtKOMD+R+LgaXLeJUWM8BdRSYnta9ZqI5pHY4y3v+eW7J+HHeTvRbHvlik+Z4hFUXmQIDAQAB"; npx:hasSignature "d7sHTAm17e7UCyskUB/fgUkRibQRiv/uSNYGRz/0+mlHvqUmfudRSZ3IuEAh7EcoD3+q8ngffmThXYudgblTZ7NguZMluZ0L5ygfrHLD8rj1Alsv+Kzl4kKoYNKGIusbt+DPV5LCmEvyLgqy/58YYgrHf9rbCd54a6FASBszHUYenLHPJ1GKhhWnMa715Zw3B/1oTyVMvW7T0STSVjQjlX0XWPKaLY6MT9WQ/qAcz/ae/TCpMcgZNupXiqHVisLqHZCQe4CF8hF+ksf26WaPTXThRrJKaLByq2O0i3ZuoPtBeMIUeHQNHCXyst+p0qsVrKWKWdlM3oteIYkQvwC0hQ=="; npx:hasSignatureTarget this:; npx:signedBy . }