Skip to content

MSC4206: Moderation policy auditing and context #4206

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

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

Conversation

Gnuxie
Copy link
Contributor

@Gnuxie Gnuxie commented Oct 2, 2024

Rendered

Signed-off-by: Gnuxie [email protected]

@Gnuxie Gnuxie changed the title MSC0000: Moderation policy auditing and context. MSC4206: Moderation policy auditing and context. Oct 2, 2024
@Gnuxie Gnuxie marked this pull request as ready for review October 2, 2024 13:56
@Gnuxie Gnuxie changed the title MSC4206: Moderation policy auditing and context. MSC4206: Moderation policy auditing and context Oct 2, 2024
@turt2live turt2live added 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 Oct 2, 2024
Copy link
Member

Choose a reason for hiding this comment

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

Implementation requirements:

  • Client sending context
  • Client using context

Alice can then send normal Matrix messages in the thread in
order to provide any context, including screenshots.

## Potential issues
Copy link
Contributor

Choose a reason for hiding this comment

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

If m.policy.rule.context is also meant to be a state event, existing chat clients might not be able to render the context thread as they likely won't support threading on state events. This might not be a terrible problem other than being able to browse context rooms from a non-specialized client possibly being convenient.

Copy link
Member

Choose a reason for hiding this comment

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

The state key should also be defined if it's meant to be a state event (I'd assume it should copy the policy event's state key)

combination, then this step is skipped.

Neighnir then creates a threaded message referring to the
policy context. This step is skipped if a thread is already open.
Copy link
Contributor

Choose a reason for hiding this comment

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

Could it be expensive to find existing events in large policy lists given that you have to scan content on every context event? The bot could possibly work around that by keeping its own index.

Alice can then send normal Matrix messages in the thread in
order to provide any context, including screenshots.

## Potential issues
Copy link
Contributor Author

@Gnuxie Gnuxie Mar 16, 2025

Choose a reason for hiding this comment

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

For providing context to moderation policies with hashed entities it will be desirable to include the plain text entity in the context. This is so that the moderators of a common policy list (such as CME) can verify in advance what entity the policy is targeting before they "encounter" the entity themselves and unmask it. This is to reduce the effects of mistakes where the wrong entity is entered into a list, or are masked for malicious purposes in otherwise collaborative environments.

Comment on lines +49 to +52
Alice repeats the arguments to the ban command to Neighnir in
the context command.

`!neighnir context ban @yarrgh:example.com`.
Copy link
Member

Choose a reason for hiding this comment

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

This current flow would require 4 events: the policy itself, policy context root, start notice, actual context message(s)

I think it'd be better to attach an initial message into the context root itself (like a reason field) and create a thread later if discussion or additional info like images are necessary. I'd assume in most cases, moderators will just want to !neighnir ban @yarrgh:example.com <private context here>

Alice can then send normal Matrix messages in the thread in
order to provide any context, including screenshots.

## Potential issues
Copy link
Member

Choose a reason for hiding this comment

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

The state key should also be defined if it's meant to be a state event (I'd assume it should copy the policy event's state key)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
client-server Client-Server API hacktoberfest-accepted 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
None yet
Development

Successfully merging this pull request may close these issues.

4 participants