Skip to content

MSC4441: User Profile Annotations ("Profile Notes")#4441

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

MSC4441: User Profile Annotations ("Profile Notes")#4441
thetayloredman wants to merge 7 commits into
matrix-org:mainfrom
thetayloredman:profile-annotations

Conversation

@thetayloredman

@thetayloredman thetayloredman commented Mar 30, 2026

Copy link
Copy Markdown

Rendered

Implementations:

Dependencies:

Signed-off-by: Logan Devine logan@zirco.dev

@tulir tulir added A-Encryption E2EE proposal A matrix spec change proposal. Process state. A-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 Outdated
@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?

Comment thread proposals/4441-user-profile-annotations.md Outdated
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.

@turt2live turt2live left a comment

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.

Some early review as an individual on the SCT - other SCT members might have other opinions. Sorry it's taken so long to get feedback.

Overall: it's not clear to me why encryption is needed or why extensible events is used. The title and actual proposal appear to be different as well: this proposal adds a local notes field which isn't mentioned in the title at all.


Many platforms, such as Discord, provide a capability for a user to leave personal "notes" on a user's profile. Matrix,
however, has no similar functionality that can be shared between different clients. This proposal builds User Profile
Annotations, a method for storing encrypted, private metadata on user profiles.

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.

the introduction should explain why encryption is required for this feature

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.

9f4151c rephrased this introduction to clarify that encryption benefits users who may place sensitive information in these profile annotations, alongside rephrasing the notes field.

Comment on lines +11 to +13
The framework introduced within this MSC builds upon [Extensible Events][MSC1767] and provides room for future extension
into other forms of user context, such as contact labels or custom nickname overrides. The content stored within these
annotations is also encrypted using an account secret scoped specifically for account data.

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.

We've reclassified account data to not be an event in Matrix. Extensible events are also meant to improve rendering ability, not to provide a fallback structure - using them for profiles feels wrong, especially if those profiles are in account data rather than room events.

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.

9f4151c makes it clearer that the annotation data is not an event, it simply uses the same fallback structure as extev, in a similar light to MSC4440.

@turt2live

Copy link
Copy Markdown
Member

@thetayloredman note that for this MSC to be eligible to enter FCP, it will need sign off as well.

Signed-off-by: Logan Devine <logan@zirco.dev>
@thetayloredman thetayloredman changed the title MSC4441: Encrypted User Profile Annotations via Account Data MSC4441: User Profile Annotations ("Profile Notes") May 25, 2026
Signed-off-by: Logan Devine <logan@zirco.dev>
Signed-off-by: Logan Devine <logan@zirco.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-Client Server Client-Server API A-Encryption E2EE 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. Process state.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants