-
Notifications
You must be signed in to change notification settings - Fork 399
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
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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.
Alice repeats the arguments to the ban command to Neighnir in | ||
the context command. | ||
|
||
`!neighnir context ban @yarrgh:example.com`. |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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)
Rendered
Signed-off-by: Gnuxie [email protected]