I would like to give an update on "federation" on Bluesky.
-
What I saw happen when Black Twitter came to Fediverse is attempts to build community resources— like shared cross-instance blocklist infrastructure— get demonized by white queers as being anti-queer (because they, personally, wound up moderated— due to, as far as I saw, entirely real racism). I saw multiple projects shut down or hobbled by this and good people driven off fedi. I don't know if any devs from that era are involved in the new Bluesky efforts. But the Bluesky efforts *are* thriving.
If you sign up with https://blacksky.community you get:
- Blacksky's "appview"/web frontend
- Optionally, Blacksky's PDS
- Blacksky's moderation layer (and you can optionally enable Bluesky's too)Almost-complete independence! What I'm not clear on is to whether, or to what degree Blacksky relies on Bluesky's "relay":
(EDIT 2: There was an edit here with corrections, but I've removed that because the corrections may have been less correct than the original.)
-
If you sign up with https://blacksky.community you get:
- Blacksky's "appview"/web frontend
- Optionally, Blacksky's PDS
- Blacksky's moderation layer (and you can optionally enable Bluesky's too)Almost-complete independence! What I'm not clear on is to whether, or to what degree Blacksky relies on Bluesky's "relay":
(EDIT 2: There was an edit here with corrections, but I've removed that because the corrections may have been less correct than the original.)
Why does the "relay" matter? Well, because although Bluesky's claim is that moderation is "composable" in their system— that you can choose which moderators to follow— moderation decisions made by Bluesky are hard binding on systems they control. Someone blocked by Bluesky is blocked from the Bluesky appview, their content will get removed from the Bluesky PDS if they were using that. The Bluesky relay censors content that violates the data "schema"; I suspect (?) it enforces moderation also.
-
Why does the "relay" matter? Well, because although Bluesky's claim is that moderation is "composable" in their system— that you can choose which moderators to follow— moderation decisions made by Bluesky are hard binding on systems they control. Someone blocked by Bluesky is blocked from the Bluesky appview, their content will get removed from the Bluesky PDS if they were using that. The Bluesky relay censors content that violates the data "schema"; I suspect (?) it enforces moderation also.
And this is a problem because the Bluesky moderators are *having a time*. This leads us to impetus #2 for Bluesky decentralization: A huge faction on Bluesky is leftist shitposters and trans folks who fled Twitter early under looming threat of censorship by Elon Musk. Bluesky *does not* seem to want this group in their userbase and repeated "odd" moderation decisions have reduced trust in Bluesky among this user community to zero. The death of Charlie Kirk has brought this to a breaking point.
-
And this is a problem because the Bluesky moderators are *having a time*. This leads us to impetus #2 for Bluesky decentralization: A huge faction on Bluesky is leftist shitposters and trans folks who fled Twitter early under looming threat of censorship by Elon Musk. Bluesky *does not* seem to want this group in their userbase and repeated "odd" moderation decisions have reduced trust in Bluesky among this user community to zero. The death of Charlie Kirk has brought this to a breaking point.
I don't want to talk about Charlie Kirk, so I won't. Skipping forward:
We're now seeing a "Northsky" copy of the ATP stack coming together which seeks to be a Blacksky equivalent for the 2SLGBTQIA+ community. This will probably be viable within the next couple weeks, unless it collapses in toxic queer-community infighting (which may already be beginning).
So. Three fullstack ATP instances soon. Is Bluesky "decentralized" now? Well, no, not really. Let me run through a Hypothetical Scenario.
-
I don't want to talk about Charlie Kirk, so I won't. Skipping forward:
We're now seeing a "Northsky" copy of the ATP stack coming together which seeks to be a Blacksky equivalent for the 2SLGBTQIA+ community. This will probably be viable within the next couple weeks, unless it collapses in toxic queer-community infighting (which may already be beginning).
So. Three fullstack ATP instances soon. Is Bluesky "decentralized" now? Well, no, not really. Let me run through a Hypothetical Scenario.
Imagine a hypothetical comic artist, "Gertrude". One day a hypothetical podcaster named "Louis CK" dies, and "Gertrude" posts something rude about this. Bluesky bans her. She's now deleted from the Bluesky PDS, blocked from the Bluesky relay and appview. Say, hypothetically, that virtually everyone agrees this was a bad moderation decision.
But Bluesky is decentralized, so we don't have to use the Bluesky PDS, relay, moderation service, or appview! We can Credibly Exit! Right? Right? (1/3)
-
Imagine a hypothetical comic artist, "Gertrude". One day a hypothetical podcaster named "Louis CK" dies, and "Gertrude" posts something rude about this. Bluesky bans her. She's now deleted from the Bluesky PDS, blocked from the Bluesky relay and appview. Say, hypothetically, that virtually everyone agrees this was a bad moderation decision.
But Bluesky is decentralized, so we don't have to use the Bluesky PDS, relay, moderation service, or appview! We can Credibly Exit! Right? Right? (1/3)
I (me, mcc) never trusted Bluesky, so I've been self-hosting my own PDS from the start. I've been happily using blacksky.community for the last month (since Bluesky started gating access to their appview/web frontend on clicking to agree to a new TOS that seemed to me sketchy). Hypothetically, "Gertrude" could do the same. She can join Northsky PDS, make posts through Zeppelin, and Bluesky blocks her but Blacksky just fetches the posts from her PDS for me, and I get to read them.
Right? (2/3)
-
I (me, mcc) never trusted Bluesky, so I've been self-hosting my own PDS from the start. I've been happily using blacksky.community for the last month (since Bluesky started gating access to their appview/web frontend on clicking to agree to a new TOS that seemed to me sketchy). Hypothetically, "Gertrude" could do the same. She can join Northsky PDS, make posts through Zeppelin, and Bluesky blocks her but Blacksky just fetches the posts from her PDS for me, and I get to read them.
Right? (2/3)
No. Because "Gertrude", in our hypothetical, *won't bother making those posts*. Because the vast, incredible, overwhelming majority of Bluesky users are still on the Bluesky network, and she is excommunicated. She *could* cultivate a group of followers who all use the Northsky infrastructure just so they can see her posts. But she could also cultivate a following on her Patreon. So Hypothetical Gertrude ignores Bluesky, posts to Patreon, and her Patreon posts get *shared* to Bluesky. (3/3)
-
No. Because "Gertrude", in our hypothetical, *won't bother making those posts*. Because the vast, incredible, overwhelming majority of Bluesky users are still on the Bluesky network, and she is excommunicated. She *could* cultivate a group of followers who all use the Northsky infrastructure just so they can see her posts. But she could also cultivate a following on her Patreon. So Hypothetical Gertrude ignores Bluesky, posts to Patreon, and her Patreon posts get *shared* to Bluesky. (3/3)
And that's why I say, TLDR:
- I am legitimately excited about the work being done by Blacksky Algorithms! I am using their frontend and happy with it.
- Northsky is an interesting development to watch
- If you're on a Bluesky PDS, I recommend migrating off with one of these tools https://bsky.app/profile/did:plc:ii5jchdzlmcojjw4dqczcgkh/post/3lyt6t6qfa22u
- Everything Sucks. A LOT of things would have to change at a social level for *any* entity other than Bluesky to have power or independence in the ATP ecosystem. I still don't trust Bluesky.
-
And that's why I say, TLDR:
- I am legitimately excited about the work being done by Blacksky Algorithms! I am using their frontend and happy with it.
- Northsky is an interesting development to watch
- If you're on a Bluesky PDS, I recommend migrating off with one of these tools https://bsky.app/profile/did:plc:ii5jchdzlmcojjw4dqczcgkh/post/3lyt6t6qfa22u
- Everything Sucks. A LOT of things would have to change at a social level for *any* entity other than Bluesky to have power or independence in the ATP ecosystem. I still don't trust Bluesky.
May be a stupid question but I don't know enough about ATProto, ActivityPub or Bluesky infrastructure to be sure
Would it be possible for one of those systems that is forking Bluesky to make it so they use both ATProto and ActivityPub streams so they can be on here without a bridge?
-
May be a stupid question but I don't know enough about ATProto, ActivityPub or Bluesky infrastructure to be sure
Would it be possible for one of those systems that is forking Bluesky to make it so they use both ATProto and ActivityPub streams so they can be on here without a bridge?
@gbargoud Sure. You could do that. I'm aware of a patch to the PDS (backend) software that allows it to flat out publish via ActivityPub. I haven't seen a *frontend* that merges the streams yet though.
There's also the problem that you can't reeeallly monitor *just part* of the Bluesky network. To follow part of it you're supposed to drink the entire firehose and filter out the parts you care about.
-
And that's why I say, TLDR:
- I am legitimately excited about the work being done by Blacksky Algorithms! I am using their frontend and happy with it.
- Northsky is an interesting development to watch
- If you're on a Bluesky PDS, I recommend migrating off with one of these tools https://bsky.app/profile/did:plc:ii5jchdzlmcojjw4dqczcgkh/post/3lyt6t6qfa22u
- Everything Sucks. A LOT of things would have to change at a social level for *any* entity other than Bluesky to have power or independence in the ATP ecosystem. I still don't trust Bluesky.
As an update since posting the above thread I have received replies from two people, one saying I am underestimating the level of stack coverage Blacksky has, another saying I am overestimating it. Also a "AppView" and "Client" are different. Sorry.
The stack is just so tall! There are *so many* layers in this protocol's model. And it seems like every single one of them is an opportunity to introduce censorship
-
As an update since posting the above thread I have received replies from two people, one saying I am underestimating the level of stack coverage Blacksky has, another saying I am overestimating it. Also a "AppView" and "Client" are different. Sorry.
The stack is just so tall! There are *so many* layers in this protocol's model. And it seems like every single one of them is an opportunity to introduce censorship
Update: Rudy who operates blacksky.community responded to this thread on bluesky. Above I said I wasn't clear on how independent Blacksky was of the Bluesky infra. His answer is "completely". They run their own relay (which scrapes PDSes itself), the relay feeds into their own appview, the appview feeds into their own client. https://bsky.app/profile/rude1.blacksky.team/post/3lyv5rwpc722c
And since they bridge end-to-end, in my Hypothetical Example above, they *could* choose to make different moderation decisions from Bluesky PBC.
-
Update: Rudy who operates blacksky.community responded to this thread on bluesky. Above I said I wasn't clear on how independent Blacksky was of the Bluesky infra. His answer is "completely". They run their own relay (which scrapes PDSes itself), the relay feeds into their own appview, the appview feeds into their own client. https://bsky.app/profile/rude1.blacksky.team/post/3lyv5rwpc722c
And since they bridge end-to-end, in my Hypothetical Example above, they *could* choose to make different moderation decisions from Bluesky PBC.
So. The thread above. An update.
We finally got a live test of the "Gertrude scenario", when a popular Blacksky user got permbanned by Bluesky. I, using my own PDS and blacksky's website, can't see him or his posts ( https://blacksky.community/profile/did:plc:2aebn3xk5t63net43eeepire/post/3m2iokicegs2b ). What gives?
A lot of people claim this is because Blacksky really is using Bluesky's appview, and gave me a way to verify this looking at headers. This seems to contradict Rudy's previous claims. I've asked Rudy for clarification: https://bsky.app/profile/did:plc:2aebn3xk5t63net43eeepire/post/3m2jve23cf22m
-
So. The thread above. An update.
We finally got a live test of the "Gertrude scenario", when a popular Blacksky user got permbanned by Bluesky. I, using my own PDS and blacksky's website, can't see him or his posts ( https://blacksky.community/profile/did:plc:2aebn3xk5t63net43eeepire/post/3m2iokicegs2b ). What gives?
A lot of people claim this is because Blacksky really is using Bluesky's appview, and gave me a way to verify this looking at headers. This seems to contradict Rudy's previous claims. I've asked Rudy for clarification: https://bsky.app/profile/did:plc:2aebn3xk5t63net43eeepire/post/3m2jve23cf22m
Follow up, 2025-12-27: Rudy here confirms the Blacksky appview is still being worked on (eg: blacksky uses bluesky's appview still)
https://bsky.app/profile/rude1.blacksky.team/post/3maykethsbk24
The sticking point, as he describes it, is "backfill". This alludes to the issue that makes me compare ATProto to blockchain: to get the features users expect, every node on the network must mirror the network's entire history. This is impractical, which is why bluesky is as of this moment a federated network with effectively only one node.
-
Follow up, 2025-12-27: Rudy here confirms the Blacksky appview is still being worked on (eg: blacksky uses bluesky's appview still)
https://bsky.app/profile/rude1.blacksky.team/post/3maykethsbk24
The sticking point, as he describes it, is "backfill". This alludes to the issue that makes me compare ATProto to blockchain: to get the features users expect, every node on the network must mirror the network's entire history. This is impractical, which is why bluesky is as of this moment a federated network with effectively only one node.
:frogsiren: BLUESKY HAS OFFICIALLY NETSPLIT :frogsiren:
There has always been more than one Fediverse. Different instances make different moderation decisions so some instances can't see posts by some users.
There has only ever been one Bluesky because every ATProto frontend uses the same Appview.
It is January 2026 and that's no longer true; Blacksky's Appview is available for beta use and there is at least 1 user banned on Bluesky but not Blacksky. And vice versa.
https://bsky.app/profile/did:plc:w4xbfzo7kqfes5zb7r6qv3rw/post/3mcozwdhjos2b
-
R AodeRelay shared this topic on
-
:frogsiren: BLUESKY HAS OFFICIALLY NETSPLIT :frogsiren:
There has always been more than one Fediverse. Different instances make different moderation decisions so some instances can't see posts by some users.
There has only ever been one Bluesky because every ATProto frontend uses the same Appview.
It is January 2026 and that's no longer true; Blacksky's Appview is available for beta use and there is at least 1 user banned on Bluesky but not Blacksky. And vice versa.
https://bsky.app/profile/did:plc:w4xbfzo7kqfes5zb7r6qv3rw/post/3mcozwdhjos2b
@mcc Would this mean that there'd be a new bridgy specifically to Blacksky?
-
@mcc Would this mean that there'd be a new bridgy specifically to Blacksky?
@mayintoronto No - Bridgy Fed supports any ATProto PDS, including the ones run by Blacksky
-
:frogsiren: BLUESKY HAS OFFICIALLY NETSPLIT :frogsiren:
There has always been more than one Fediverse. Different instances make different moderation decisions so some instances can't see posts by some users.
There has only ever been one Bluesky because every ATProto frontend uses the same Appview.
It is January 2026 and that's no longer true; Blacksky's Appview is available for beta use and there is at least 1 user banned on Bluesky but not Blacksky. And vice versa.
https://bsky.app/profile/did:plc:w4xbfzo7kqfes5zb7r6qv3rw/post/3mcozwdhjos2b
@mcc for us tech noobies in the audience, could you explain what does this mean?

-
:frogsiren: BLUESKY HAS OFFICIALLY NETSPLIT :frogsiren:
There has always been more than one Fediverse. Different instances make different moderation decisions so some instances can't see posts by some users.
There has only ever been one Bluesky because every ATProto frontend uses the same Appview.
It is January 2026 and that's no longer true; Blacksky's Appview is available for beta use and there is at least 1 user banned on Bluesky but not Blacksky. And vice versa.
https://bsky.app/profile/did:plc:w4xbfzo7kqfes5zb7r6qv3rw/post/3mcozwdhjos2b
The "portable identity" elements of Bluesky/ATProto make the netsplit just a tad odd. My account is hosted on a PDS server I run, so I'm beholden to no frontend. If I log in through the main Blacksky frontend (Bluesky appview) one user I'm following shows only an error message. Via the Staging Blacksky frontend (atproto.africa), I can see I'm following him and see his posts. I'm SO curious about the edge cases. I assume if I boost him it's hidden from the Bluesky appview. What if I reply to him?
-
The "portable identity" elements of Bluesky/ATProto make the netsplit just a tad odd. My account is hosted on a PDS server I run, so I'm beholden to no frontend. If I log in through the main Blacksky frontend (Bluesky appview) one user I'm following shows only an error message. Via the Staging Blacksky frontend (atproto.africa), I can see I'm following him and see his posts. I'm SO curious about the edge cases. I assume if I boost him it's hidden from the Bluesky appview. What if I reply to him?
@mcc When you are suspended by bluesky corp, is the ban at the app view or PDS level?