







This draft incorporates feedback from Brooklyn Zelenka (@expede.wtf), Daniel Holmgren (@dholms.at), and Zicklag (@zicklag.dev), and addresses questions raised in the ATProto Private Data Working Group. Draft 2 remains available for transparency.
Capability Trees: A Protocol-Level Extension of Object Capabilities, Draft 4
This draft incorporates feedback from Brooklyn Zelenka (@expede.wtf) and Daniel Holmgren (@dholms.at), and developments in the ATProto Private Data Working Group. Previous drafts remain available for transparency.
Capability Trees: A Protocol-Level Extension of Object Capabilities, Draft 2
This draft addresses questions and feedback from the ATProto community, in particular from Zicklag (@zicklag.dev) and Brooklyn Zelenka (@expede.wtf). Draft 1 remains available for transparency.
The Substrate Requirements for Capability Trees
The bar other data sovereignty substrates must meet, to be compatible with Capability Trees.
Object-capability model
The object-capability model is a computer security model. A capability describes a transferable right to perform one (or more) operations on a given object. It can be obtained by the following combination:

Permissioned Data Diary 2: Buckets - Daniel's Leaflets
The second in a series of posts building up a solution to permissioned data on atproto. We introduce buckets: a new protocol primitive for creating a shared social context.
Composing capability security and conflict-free replicated data types — Spritely Institute
In August, I attended the DWeb Seminar where a small group of builders gathered to discuss the state-of-the-art and open problems in the distributed web space. Some in the group are primarily concerned with distributed data and focus on sync algorithms and local-first use cases. I am mainly concerned with distributed behavior and focus on the object capability security model. Both areas of study are steeped in their own lore and research papers, which makes it difficult for the two camps to communicate effectively with each other.
Permissioned Data Diary 1: To Encrypt or Not to Encrypt - Daniel's Leaflets
The first in a series of posts about major design decisions along the way to a permissioned data protocol for atproto.
Permissioned Data Diary 5: What’s in a Name? - Daniel's Leaflets
In this permissioned data diary, we dive deep into the URI structure for permissioned data on atproto and use it to motivate a bunch of the larger design.
Permissioned Data Diary 5: What’s in a Name? - Daniel's Leaflets
In this permissioned data diary, we dive deep into the URI structure for permissioned data on atproto and use it to motivate a bunch of the larger design.
Permissioned data on atproto — pick your depth
A private room in a place with no walls: how engineers are adding permissioned data to atproto. Read it plain-language or technical.
Rashid Aziz: Extending ATproto for private data - ATProto Community
Well, atproto *is* an open protocol so... I'm looking into an excension of the schema to allow accounts that are declaring that they're automated to optionally declare details about that automation, including an operator, a purpose, even an interaction model. Aids in both discovery and moderation!
Emerging from being "down in the technical weeds" of #atproto is a little mashup of @semble.so & WayFinder (wayfinders.network) Semble team released "open collections" this week - here we explore the "private & permissioned data" collection, created by @bmann.ca & now with 3 other contributors
Arbiter Progress Report 4 - Zicklag's Leaflets
Arbiter Progress Report 3 - Zicklag's Leaflets
Arbiter Progress Report 2 - Zicklag's Leaflets
Arbiter Progress Report 1 - Zicklag's Leaflets
The Arbiter - Group Management for Permissioned Spaces and Beyond - Zicklag's Leaflets
Habitat & permission spaces for organizations - building [at] habitat