> To make all of the below somewhat concrete, it may be best to start with the early 2024 demo recording and the in-repository demos under [endo](#endo).
## Object capabilities
- [What are capabilities?](http://habitatchronicles.com/2017/05/what-are-capabilities/)
- See also: https://en.wikipedia.org/wiki/Object-capability_model
- https://en.wikipedia.org/wiki/Access-control_list
- It's useful to recall what ACLs are and how they work.
- "ACLs" or "Access Control Lists" being the dominant permissioning model in software since at least Unix.
- [ACLs don't](https://papers.agoric.com/assets/pdf/papers/acls-dont.pdf)
- [Capability myths demolished](https://srl.cs.jhu.edu/pubs/SRL2003-02.pdf)
- [From Objects to Capabilities](http://www.erights.org/elib/capability/ode/ode-capabilities.html)
- https://papers.agoric.com/papers/
- Lots of resources on a variety of related topics here.
- See especially: [OCAPs](https://papers.agoric.com/papers/#ocaps), [POLA](https://papers.agoric.com/papers/#pola), [Robust composition](https://papers.agoric.com/papers/#robust-composition)
## Confused deputy problem
The confused deputy problem is the reason why coordinating more than 2 mutually distrustful programs in an ACL setting is hard, or even practically impossible.
- https://en.wikipedia.org/wiki/Confused_deputy_problem
- http://www.erights.org/elib/capability/deputy.html
- http://www.erights.org/elib/capability/duals/myths.html
- Google also yields some good results that came out in the past 12-24 months, for example:
- https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html
## `endo`
- https://github.com/endojs/endo
- [Demo from early 2024](https://www.youtube.com/watch?v=GgYJ5an3XoY&t=1291s)
- [In-repository demos](https://github.com/endojs/endo/tree/master/packages/cli/demo)
- [Outdated but still-relevant design document](https://github.com/endojs/endo/blob/kris-pet-daemon-design/packages/daemon/DESIGN.md#user-content-fnref-persistence-0cedb5a1dc7a6c6a3336954865ff309c)
## MetaMask Snaps
- [Snaps technical documentation](https://docs.metamask.io/snaps)
- [Snaps directory](https://snaps.metamask.io/)
- [Snaps product landing page](https://metamask.io/snaps)