Data and Account Portability
/2025-06/session/6-d/
Convener: Dmitri Z. (@dmitri@social.coop)
Participants who chose to record their names here:
- Charles Iliya Krempeaux (@reiver@mastodon.social)
- Scott M. Stolz (@scott@loves.tech, @scott@codejournal.dev, @scott.codejournal.dev)
- Raphael Lullis (@raphael@communick.com)
- https://bumblefudge.com
- Scott Jenson (@scottjenson@social.coop)
- Ben Pate (@benpate@mastodon.social)
- Nigini Oliveira (@nigini@social.coop)
- Johannes Ernst (https://j12t.org, @j12t@j12t.social, @j12t.org)
- Ryan Barrett (@snarfed.org)
- Damon (@damonoutlaw.xyz)
- Maho Pacheco (@mapache@hachyderm.io)
- Seth Goldstein (@phillycodehound@indieweb.social, https://social.sethgoldstein.me)
- James Marshall (@jamesmarshall@sfba.social)
- Evan Prodromou (@evan@cosocial.ca)
- Paul Fuxjaeger (@cypherhippie@chaos.social)
- Cagan Mert Islek (@islekcaganmert.me)
- Tom Casavant (@tom@tomkahe.com)
- David Rowley
- Jesse Karmani (@jesseplusplus@mastodon.social)
- Matt Baer (@matt@writing.exchange)
Notes
Slides: https://docs.google.com/presentation/d/1SSFrS2ke2tqMZrRUGyIPsOXIfS62qZFu0JcyBVSz9rI/
We are trying to do on the Open Social Web what email accomplished
- You can dowload your emails and contacts and move to another email provider.
We have tiny windows of portability on Web 2 (and its platforms)
- sometimes parts of your data
- but generally they lock in your social graph.
Can we do better? YES!
- We want to EXPORT data (not only posts, but also interactions and media), identifiers, as well as the social graph
- AND IMPORT
- Automated
Dmitri asks developers interested in this to join: https://www.w3.org/community/socialcg/
Dmitri: check out: https://swicg.github.io/activitypub-data-portability/lola.html
Current efforts:
- DTI & LOLA: (online portability) https://swicg.github.io/activitypub-data-portability/lola.html
Connection with Cory’s remedies for enshitification:
- a core affordance is easy portability between difference service providers!!!
Q: what are the groups we can contribute to to make this happen?
- How can we get to having the “migration button” (some service providers are blocked for a lack of clarity on how to move forward)
- Comment: Hubzilla has implemented a lot of what is been discussed!
- FEP-c390 - Identity proofs
- identity is not associated to a server
A: Roadmap as proposed by Data Portability Work Group
- FEP-7952
Q: What is the strucuture of the problem?
- Export protocol
- Content addressing/format
- Identify mapping?
- Post migration
- Huge issues for modation
Hubzilla, Streams, Forte, and Mitra are working on a solution:
- All of the above have nomadic identity, allowing your identity to exist on more than one server and platform at the same time.
- Nomadic identity is available via Zot Protocol and ActivityPub.
- Currently: Hubzilla uses Zot Protocol. Mitra uses ActivityPub. Streams uses both Zot Protocol and ActivityPub. This may change soon.
- A prerequiste is some form of decentralized identity such as: https://codeberg.org/fediverse/fep/src/branch/main/fep/c390/fep-c390.md
- These Decentralized identifiers could be used to create Client-side keys. Currently implemented server to server, but could be client-side as well.
- Since decentralized identifiers are used, existing blocking still works even if they change to a different domain name or platform.
Existing Implementations on Hubzilla and Streams and Forte (over Zot Protocol and/or ActivityPub, depending on platform):
- On Hubzilla and Streams, your identity (called a channel) can be exported and imported, including your social graph and keys. This includes your followers and who you are following.
- Your posts are also transferable and are tied to your decentralized identity.
- If your platform supports webpages, wikis, calendars, and chat rooms, you can also transfer those to a new server.
- You can manually transfer your identity and content by downloading JSON files and uploading them to the new server.
- You can also have the server migrate your identity and content for you without downloading any files. This is done via a server to server sync.
- Since your identity is tied to a decentralized identifier, your identity can exist in more than one location at the same time. These are called clones.
- In webfinger, your clones are listed as aliases, which allows other servers to verify that two ActivityPub actors are clones of each other.
Links
- FEP-7952: Roadmap For Actor and Object Portability (see References section for many relevant FEPs)
- FEP-73cd: Migration User Stories
- FEP-6fcd: Account Export Container Format and FEP-9091: Export Actor Service Endpoint
- FEP-cd47: Federation-friendly Addressing and Deduplication Use-Cases - Content-addressing <> DATA Portability considerations
- FediMOD FIRES tooling for portable/interoperable moderation records (WIP) - re-moderating or checking for moderation history at time of import can use FIRES if exporting/prior server also supports it
- https://erinkissane.com/notes-from-a-mastodon-migration
- https://github.com/tweetback/tweetback
- Identity Proofs - https://codeberg.org/fediverse/fep/src/branch/main/fep/c390/fep-c390.md