• Alas Poor Erinaceus@lemmy.ml
    link
    fedilink
    English
    arrow-up
    3
    ·
    4 days ago

    Could you explain/elaborate to a know-nothing (me) on the following from your link?:

    Caveats of federation: Metadata leaking

    When using federation, Matrix’s room states (containing a lot of Metadata) get replicated and stored indefinitely on every homeserver any user connects with or connects to. While this is a feature for enabling distributed chat rooms, it comes at a serious privacy cost.

    To avoid this, you can either disable federation, or make sure that your users signed up with no linkable identifiers other than their user names.

    • poVoq@slrpnk.net
      link
      fedilink
      arrow-up
      5
      ·
      4 days ago

      Matrix is not really a chat system, but rather a distributed database that pretends to be a chat system. As a result all servers participating in a room get a full copy of the room metadata all the way back to when the room was created, which is a serious privacy issue.

      This is not a general problem of federated systems though, and XMPP for example basically only shares the metadata that other participating servers strictly need to function.

      • easily3667@lemmus.org
        link
        fedilink
        English
        arrow-up
        2
        arrow-down
        1
        ·
        edit-2
        4 days ago

        How…do you think chat systems with storage are supposed to work? They store data. In a database

        What specific fields are shared by matrix but not xmpp?

        • EngineerGaming@feddit.nl
          link
          fedilink
          arrow-up
          1
          ·
          3 days ago

          The main difference is that in Matrix, a chat’s history and media is stored indefinitely on every participating server, while on XMPP it’s only the duty of the one “hosting” it. And to my understanding, in 1-to-1 chats, the server doesn’t even retain the messages after delivering them, since there’s a separate module for “syncing” the history between devices (that you can set the retention time for).

        • poVoq@slrpnk.net
          link
          fedilink
          arrow-up
          2
          ·
          4 days ago

          Yes in a local database, not a distributed one.

          The main difference is that XMPP (like most other federated systems) is based on passing messages, so if a new server joins a chat, it gets send messages from that point onwards.

          In Matrix that is different. When a new server joins a chat it exchanges the entire database for that chat, and for DAG consistency reasons this means all the metadata since the chat was first created, often years ago.