People describe ATProto as federated, and that has always bugged me. And I think I figured out why. It's not NOT federated. But that's deceptively incomplete. It's much more complete to say that ATProto is brokered.
I get why they do it. ATP describes itself as federated, after all. But there's a broker, and everything is mediated by the broker, which they name a "relay" (and used to call a big graph server, which was actually more honest).
You can't realistically run your own broker. It's enormously expensive, and also no one would trust it, or even know it exists. You have to connect to the bsky broker. Which means bluesky controls the network, and you have to have their permission to join it.
This breaks one of the core, but often unstated assumptions people have about federated networks: that they are permission-less.