Skip to content

MSC4441: Encrypted User Profile Annotations via Account Data#4441

Open
thetayloredman wants to merge 4 commits into
matrix-org:mainfrom
thetayloredman:profile-annotations
Open

MSC4441: Encrypted User Profile Annotations via Account Data#4441
thetayloredman wants to merge 4 commits into
matrix-org:mainfrom
thetayloredman:profile-annotations

Conversation

@thetayloredman
Copy link
Copy Markdown

@thetayloredman thetayloredman commented Mar 30, 2026

Rendered

Implementations:

@tulir tulir added e2e proposal A matrix spec change proposal client-server Client-Server API kind:feature MSC for not-core and not-maintenance stuff needs-implementation This MSC does not have a qualifying implementation for the SCT to review. The MSC cannot enter FCP. labels Mar 30, 2026
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Implementation requirements:

  • Client (creating annotations)
  • Client (rendering annotations)

@github-project-automation github-project-automation Bot moved this to Tracking for review in Spec Core Team Workflow Mar 31, 2026
@turt2live turt2live moved this from Tracking for review to Ready for general review in Spec Core Team Workflow Mar 31, 2026
@turt2live
Copy link
Copy Markdown
Member

The author would like review of this MSC prior to implementation, especially around crypto. See https://matrix.to/#/!0KNSXYXB_2xtEUkQ9MGBRy5oNIOfAKoq2uIqPZCJbI8/$Zss0QZ3VKtAqDlOCj4oBD2U7EO3UWVSgQ5xX3DuXe0Y?via=element.io&via=matrix.org&via=codestorm.net

Comment thread proposals/4441-user-profile-annotations.md
@thetayloredman
Copy link
Copy Markdown
Author

This may also benefit from the attempts at solving RMW races in #4438. The addition of an ADK for encrypting account data could also potentially benefit that MSC and could potentially be factored out into a separate proposal?

Rather than using `account_data`, a new dedicated endpoint for annotations would be created. Rejected because it
requires substantial serverside changes, this MSC aims to be entirely clintside.

#### Encrypt the entire event as one blob
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

If the contents of each item are encrypted separately, how does storing all items in a single account data entry compare to using one account data entry per item (with a common prefix)?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

That could definitely be considered. It would reduce the risk of a data race, however my concerns would be:

  • There is existing precedent for keeping it together, e.g. in m.direct.
  • How well do homeservers handle lots and lots of account_data events?

Comment thread proposals/4441-user-profile-annotations.md Outdated
thetayloredman and others added 2 commits April 1, 2026 11:15
Room annotations could use a different implementation via room account
data and are out of scope for this MSC.

Via review.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

client-server Client-Server API e2e kind:feature MSC for not-core and not-maintenance stuff needs-implementation This MSC does not have a qualifying implementation for the SCT to review. The MSC cannot enter FCP. proposal A matrix spec change proposal

Projects

Status: Ready for general review

Development

Successfully merging this pull request may close these issues.

4 participants