@fediforum@mastodon.social
@fediforum.org

Data and Account Portability

/2025-06/session/6-d/

Convener: Dmitri Z. (@dmitri@social.coop)

Participants who chose to record their names here:

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:

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