Worked example — a Web Access Control (WAC) document.
In Solid, the policy itself is RDF sitting next to the resource it guards.
This .acl says Alice owns the graph (read+write+control); Bob may only
read it:
@prefix acl: <http://www.w3.org/ns/auth/acl#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
:owner a acl:Authorization ;
acl:agent <https://alice.example/#me> ;
acl:accessTo <./tenant-a> ;
acl:mode acl:Read, acl:Write, acl:Control .
:reader a acl:Authorization ;
acl:agent <https://bob.example/#me> ;
acl:accessTo <./tenant-a> ;
acl:mode acl:Read .
The decision is data, not code: to audit who can touch tenant-a you simply
query the ACL graph. acl:Control is the dangerous one — it lets an agent
rewrite the ACL itself, so grant it sparingly.