Skip to content

Block a remote user or instance from a group #29

@mayel

Description

@mayel

"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:

  1. Mod sends Block to group inbox
  2. Group verifies mod has permission
  3. 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:

  • FollowReject (no reason required)
  • Post submission → silence (no Announce, no explicit rejection required)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions