Skip to content

Move a group to a different instance #34

@mayel

Description

@mayel

"As a group admin, I want to move the group to a different instance without losing members, so the community isn't stuck on its original server."

Group portability is essential for community autonomy: if an instance shuts down, changes policies, or a group outgrows its home, the community should be able to relocate.

Existing approaches:

  • FEP-7628: Proposes Move activity for actor migration with redirect
  • Mastodon and others: Actor migration via Move activity + alsoKnownAs (for user accounts, not groups)
  • Matrix: Room upgrades create a new room with a tombstone pointing to it

Suggested flow:

  1. Setup: New group actor created on target instance, with alsoKnownAs pointing to the old group (and vice versa):

    {
      "type": "Group",
      "id": "https://new-instance.org/groups/1",
      "alsoKnownAs": ["https://old-instance.org/groups/1"]
    }
  2. Announce move: Old group adds new group to alsoKnownAs and sends Move activity to all followers:

    {
      "type": "Move",
      "actor": "https://old-instance.org/groups/1",
      "object": "https://old-instance.org/groups/1",
      "target": "https://new-instance.org/groups/1"
    }
  3. Follower migration: Remote instances receiving the Move:

    • Verify alsoKnownAs is set on both old and new actors (prevents hijacking)
    • Automatically re-follow the new group actor
    • Update local references (feeds, bookmarks, etc.)
  4. Redirect: Old group actor continues to exist as a tombstone/redirect, responding to fetches with the new location

What must transfer:

  • Followers (automatically re-following if their instance supports Move)
  • Membership list (imported from old instance, manually or automatically)
  • Moderator roles (attributedTo)
  • Roles and permissions in interactionPolicy
  • Group metadata (name, summary, icon, rules) and group settings

What should transfer:

  • Content history: posts remain on original instance, attributed to original authors but can be Announced by new group

What may transfer:

  • Pending moderation queues (inbox)
  • Instance-level settings (e.g. blocks)

Backwards compatibility:

  • Instances not understanding group Move simply lose the follow - members can manually re-follow
  • alsoKnownAs on both actors prevents unauthorized moves
  • Old actor can keep serving an archive of existing content

Open questions:

  • Can a group be moved if the old instance is already down?
  • Should members be notified and given a choice to follow to the new instance?

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