HappyView v2.5: Permissioned Spaces

Private groups, invite-only communities, and gated content come to atproto.

TrezyTrezy
announcements

HappyView 2.5 is out, and it ships with one of the most anticipated features in the atproto ecosystem:

✨ Permissioned Spaces. ✨

The problem

ATProto is public by default. That's great for open social graphs, but not so great for private groups, invite-only communities, or gated content. If you wanted access-controlled data, you were mostly out of luck.

Spaces fix that. They give you private, access-controlled data under your existing DID.

What this means for HappyView

Because HappyView is lexicon-driven, Spaces integrate naturally with everything you've already built. All of your scripts can query Spaces directly for membership checks, access levels, private record queries, and more. Custom lexicons can build on top of Spaces today without waiting for anything else to land.

Here be dragons

The whole feature is experimental, and it's gated behind a feature flag. You can enable it from the new "Experimental" page in the dashboard.

The Experimental page in the HappyView dashboard

Give it a try, tell me what breaks, and tell me what you want to work differently.

Standing on shoulders

All of the work on Permissioned Spaces follows Daniel Holmgren's Permissioned Data Diaries. Big credit to Zicklag's work on Arbiter and flo-bit's work on Contrail. We're actively working to make sure Spaces will be compatible between HappyView and Contrail as things evolve.

Go get some

Check out the documentation and give it a shot!

We've been talking about permissioned data for forever, and now it's here. I'm excited to see what y'all do with it.