Dainel, head of protocol at Bluesky, has published a series of leaflets on permissioned data for atproto.
The first post introduces what permission data actually is - "a broad term, it covers many different social modalities & data flows. In its most basic sense, it means “not public”... data that lives on your PDS but isn't broadcasted... only accessible to users and services ... explicitly granted permission." - and gives examples, from Facebook groups to DMs, which are "the clear outlier", as all now use E2EE.
The rest of this post explains why Bluesky is not: " The threat models are different... Apps need to see the data... E2EE is hard... scaling issues". Moreover, "Permissioned data and E2EE" don't compete, "they operate at different layers:
The second post introduces Buckets to achieve their goal of making "Permissioned data ... feel like a natural extension of how public data already works in atproto."
There are four basic environment types, in increasing order of complexity:
He then explores different solutions, starting with:
We need "a way to say: “Here’s a space. Here’s who has access to it. Everything in this space inherits that access”. We need a bucket... container that holds records and has a single authoritative ACL... When you post into a bucket, your post inherits the ACL".
It's not necessarily a "colocated" folder on someone's PDS: like a Bluesky thread, it could have its "contents distributed across members’ PDSes" ("partitioned").
Post 2 ends with a lot of unanswered questions, bringing us to Post 3, which compares colocated and partitioned approaches, finding colocated looking simpler, but too much like a Mastodon instance, while "partitioned buckets are more complex technically but also more honest ... much closer to our “atproto ethos”. Users own their data. It lives on their PDS. Applications crawl it." They're complex problems, but they're solvable engineering problems, in contrast to the architectural problems with colocation.
Between posts 3 & 4 they decided to rename buckets to Spaces, as "bucket implies data locality" - Ironic given that post three was arguing against co-location. There's also the problem of what to call "a user’s partition of the bucket ... Bucket partitions? Bucket shards? Bucket segments?"
So they're retiring buckets for “Permission Space” or “Space” for short... a particular member’s records in a given space is a “Permissioned Repo”... [ie] the user has a permissioned repo that is shared with a particular permission space".
This post came out in the run up to the Atmosphere Conf 2026 in Vancouver, which I attended, and provides "a rough sketch of the full picture." He quickly recaps what a Permission Space is: "a coordination concept: a shared identity, access control list, and sync boundary", form "a user’s personal data ... up to a million(s) person forum or group".
Each has:
He then recaps Permissioned Repos before outlining record addressing, access control, space credentials ("how applications gain access to sync repos within a space"), Sync, etc.
More Stuff I Like
More Stuff tagged atprotocol , bluesky , permissioned data , community , vancouver2026
See also: Bluesky and the ATmosphere , Fediverse , Online Community Management , Social Media Strategy , Politics , Communications Strategy
MyHub.ai saves very few cookies onto your device: we need some to monitor site traffic using Google Analytics, while another protects you from a cross-site request forgeries. Nevertheless, you can disable the usage of cookies by changing the settings of your browser. By browsing our website without changing the browser settings, you grant us permission to store that information on your device. More details in our Privacy Policy.