# Base Layer EP 03: Spencer Kimball on Governance Is the Real Blocker

[Listen now](/content/base-layer/spencer-kimball/index.html)

> An entity that can be granted permissions

```zed
definition user {
    relation agent: ai_agent
    permission delegates = agent
}
```

> Users can have one or more AI agents that act on their behalf

```zed
definition ai_agent {}
```

> A resource that we are trying to protect

```zed
definition document {
    relation writer: user
    relation reader: user
    permission edit = writer
    permission view = reader + edit + reader->delegates + writer->delegates
}
```

Schemas come from the [authzed/examples](https://github.com/authzed/examples/tree/main/schemas) repository (Apache 2.0). Comments shown alongside the code are the authors' original docstrings.
