Questions about metadata, group behavior, and account information in Delta Chat

Hello,

I have several questions regarding how Delta Chat handles user and group-related metadata:

  1. Is it possible to determine the account creation date or the last login time of a conversation partner?

  2. In group chats, is it possible to determine:

    • the account creation date of group members,

    • their last login time,

    • and when each member joined the group?

  3. When a new user joins a group, is it possible for them to access:

    • past messages sent before they joined,

    • or the original group creation date?

  4. Besides email addresses and encryption keys, what other information about contacts or group members can be obtained or inferred?

  5. Since Delta Chat is decentralized and does not rely on a central server, how are things like:

    • online status,

    • group membership,
      managed or synchronized across participants?
      Are these states stored and propagated through email messages themselves?

I would appreciate any technical clarification on these points.

Best regards

1 Like

It was possible to determine profile creation date based on the key signature timestamp. New version regenerate public key on changes like adding or removing a relay.

Group members are not different from other contacts. It is not possible to determine last login time, but clients track the “last seen” time. It is possible to determine when each member has joined the group, there are timestamps sent in Chat-Group-Member-Timestamps for current members and for past members that have left the group within the last 60 days.

It is currently not possible to access message history, but for channels there is a plan to automatically resend the last 10 messages to new members: channels: resend the last 10 messages on joining · Issue #7678 · chatmail/core · GitHub It is not possible to determine group creation date, but there are headers Chat-Group-Name-Timestamp and Chat-Group-Description-Timestamp where the timestamp of the last group name or description update is sent.

“Online” status, displayed as a green dot, is determined by the time the contact was seen sending a message last time. It is not possible to see if someone is just online, but you can see someone as “online” when they send e.g. a read receipt or reaction. Group membership is managed locally and synchronized using email messages only, servers don’t need to know anything about the groups. Group IDs, name, description and member list are end-to-end encrypted.

Hello,

Thank you for your detailed explanation.

I have a couple of follow-up questions regarding Chat-Group-Member-Timestamps:

  • When a new user joins a group, is it possible for them to determine the join timestamps of members who were already in the group before they joined?

  • Regarding members who left within the past 60 days, can a newly joined user also see their join/leave history? In other words, is it possible to trace past membership changes (joins and leaves) that occurred before the new user joined the group?

I would appreciate your clarification.

Best regards,

Yes.

It is possible to see the timestamp of leaving the group in the headers and their key fingerprint. Past members are displayed in the member list in Delta Chat Desktop, but this was not added to Android and iOS.