> Only the default bluesky moderation list is global
And of course it's also opt in as well. Just the default bluesky client does that by default. Any third party client (ex: https://deer.social or https://zeppelin.social) can opt-out of "default moderation". And technically you could use a userscript or even potentially a ublock rule/filter to disable default moderation (just like you can to disable regional moderation or age verification).
I was considering creating a censorship free bluesky pds. The showstopper is that bluesky can cut off read access to the content firehose relay. I suspect they would do that, or be forced to do that if a true free speech platform were to emerge.
Sorry, I should clarify. The system is designed to have moderation be opt in. It isn't opt-in or opt-out on the default client. On the default client it is mandatory.
The reason I said it's opt-in is because moderation is added client-side by including the moderation service's DID in the `atproto-accept-labelers` HTTP header when sending requests to the appview.
So it is by-design opt-in, just in practice the "first party bluesky client" makes the choice for you for legal compliance reasons, and with an increasing hint-hint-nudge-nudge from the devs to use third party or forked clients to bypass the various legal restrictions countries keep trying to impose on them.
And of course it's also opt in as well. Just the default bluesky client does that by default. Any third party client (ex: https://deer.social or https://zeppelin.social) can opt-out of "default moderation". And technically you could use a userscript or even potentially a ublock rule/filter to disable default moderation (just like you can to disable regional moderation or age verification).