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.
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.