"As a group admin, I want to block a remote user or even an entire remote instance from participating in my group, so I can protect members from coordinated harassment."
We need group-level blocks separate from instance-level blocks.
Remote moderators can manage blocks following the same pattern as other moderation actions:
- Mod sends
Block to group inbox
- Group verifies mod has permission
- Group updates internal block list
{
"type": "Block",
"actor": "https://remote.example/users/mod",
"object": "https://bad-actor.example/users/spammer",
"to": "https://example.org/groups/1"
}
To block an entire instance, the object could be the instance's actor or domain:
{
"type": "Block",
"actor": "https://remote.example/users/mod",
"object": "https://bad-instance.example/",
"to": "https://example.org/groups/1"
}
Implementation behavior:
- Posts from blocked actors/instances are not
Announced
Follow requests are auto-rejected
- Existing members from blocked instances could be removed or grandfathered
- The block list acts as an exclusion that overrides permissions in
interactionPolicy
Privacy of block lists
Block lists should NOT need to be publicly exposed:
- Revealing blocks can enable harassment evasion
- The group's home instance enforces blocks without publishing them
Remote instances discover they're blocked by attempting actions:
Follow → Reject (no reason required)
- Post submission → silence (no
Announce, no explicit rejection required)
"As a group admin, I want to block a remote user or even an entire remote instance from participating in my group, so I can protect members from coordinated harassment."
We need group-level blocks separate from instance-level blocks.
Remote moderators can manage blocks following the same pattern as other moderation actions:
Blockto group inbox{ "type": "Block", "actor": "https://remote.example/users/mod", "object": "https://bad-actor.example/users/spammer", "to": "https://example.org/groups/1" }To block an entire instance, the
objectcould be the instance's actor or domain:{ "type": "Block", "actor": "https://remote.example/users/mod", "object": "https://bad-instance.example/", "to": "https://example.org/groups/1" }Implementation behavior:
AnnouncedFollowrequests are auto-rejectedinteractionPolicyPrivacy of block lists
Block lists should NOT need to be publicly exposed:
Remote instances discover they're blocked by attempting actions:
Follow→Reject(no reason required)Announce, no explicit rejection required)