Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MSC4014: Pseudonymous Identities #4014

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open

MSC4014: Pseudonymous Identities #4014

wants to merge 5 commits into from

Conversation

kegsay
Copy link
Member

@kegsay kegsay commented May 10, 2023

Rendered

Server impl in Dendrite:

Clients can join pseudo ID rooms with no changes if they are already using a compatible Dendrite server. This is the public pseudo ID room: !FMyU3BBTFJ0j2Ab0:dendrite.matrix.org

Screenshot 2023-11-14 at 10 04 43

@turt2live turt2live added requires-room-version An idea which will require a bump in room version proposal A matrix spec change proposal identity service client-server Client-Server API room-spec Something to do with the room version specifications unassigned-room-version Remove this label when things get versioned. kind:core MSC which is critical to the protocol's success needs-implementation This MSC does not have a qualifying implementation for the SCT to review. The MSC cannot enter FCP. labels May 10, 2023
@turt2live turt2live changed the title MSC4014: Pseudonymous Identities [WIP] MSC4014: Pseudonymous Identities May 10, 2023
@turt2live turt2live marked this pull request as draft May 10, 2023 17:01
##### Addressing the "Problems" section in MSC1228
- The state keys in the room aliases event is unimportant since v6 rooms removed them from the specification.
- matrix.to links remain as they are, with the `via=` params formed using verified mxid mappings.
- Redacting an `m.room.member` event should not remove the `mxid_mapping` field in the case where the `displayname` or `avatar_url` is malicious. In order to remove the `mxid_mapping` field (e.g for PII removal), the account in question should be deactivated or the room in question should be "purged", which would cause the mapping to be removed. This more severe form of redaction has side-effects as deleting the `mxid_mapping` potentially alters routing information as that user may be the last user in the room for that server, and hence should not be triggered by a CSAPI `/redact` call. How this functions at a protocol level is undetermined at this point. The redaction algorithm will remain the same for the purposes of signing events / hashes (so the `mxid_mapping` is removed in this case). This implies 2 kinds of redaction for `m.room.member` events.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doesn't sound good - shouldn't we allow users to remove the mxid_mapping of their messages without deactivating their account or nuking the room?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The semantics are unclear here. If you remove the mxid mapping you not only remove routing information but you effectively are no longer part of the room in that E2EE will break as other users won't know your user ID, which has ramifications beyond PII removal. If we allow clients to remove the mxid mapping then this is roughly equivalent to leaving the room, in which case just do that?

@kegsay kegsay changed the title [WIP] MSC4014: Pseudonymous Identities MSC4014: Pseudonymous Identities Nov 14, 2023
@kegsay kegsay removed the needs-implementation This MSC does not have a qualifying implementation for the SCT to review. The MSC cannot enter FCP. label Nov 14, 2023
@kegsay kegsay marked this pull request as ready for review November 14, 2023 10:05
@ara4n ara4n mentioned this pull request Apr 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
client-server Client-Server API identity service kind:core MSC which is critical to the protocol's success proposal A matrix spec change proposal requires-room-version An idea which will require a bump in room version room-spec Something to do with the room version specifications unassigned-room-version Remove this label when things get versioned.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants