"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:
-
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"]
}
-
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"
}
-
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.)
-
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?
"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:
Moveactivity for actor migration with redirectMoveactivity +alsoKnownAs(for user accounts, not groups)Suggested flow:
Setup: New group actor created on target instance, with
alsoKnownAspointing to the old group (and vice versa):{ "type": "Group", "id": "https://new-instance.org/groups/1", "alsoKnownAs": ["https://old-instance.org/groups/1"] }Announce move: Old group adds new group to
alsoKnownAsand sendsMoveactivity 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" }Follower migration: Remote instances receiving the
Move:alsoKnownAsis set on both old and new actors (prevents hijacking)Redirect: Old group actor continues to exist as a tombstone/redirect, responding to fetches with the new location
What must transfer:
Move)attributedTo)interactionPolicyWhat should transfer:
Announced by new groupWhat may transfer:
inbox)Backwards compatibility:
Movesimply lose the follow - members can manually re-followalsoKnownAson both actors prevents unauthorized movesOpen questions: