-
Notifications
You must be signed in to change notification settings - Fork 423
MSC4205: Hashed moderation policy entities #4205
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 hashes
- Client using hashes
| ``` | ||
|
|
||
| In this example, when a moderation tool encounters a new user, or a | ||
| new policy, the tool will calculate the base64 encoded sha256 |
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.
Many places in matrix use url-safe and/or unpadded base64, so if this is standard, it should probably be mentioned explicitly
| Currently the content schema for `m.policy.rule.user` requires the | ||
| `entity` field. In order for the `entity` field to be omitted when a | ||
| hash has been provided, the entity field will have to become optional. |
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.
I think these events should have a distinct event type. Otherwise parsing the event is dependent on the recommendation, which both excludes ban recommendations from being hashed as well as makes parsing of events harder and technically is a backwards incompatible change. Something like m.hashed_policy.rule.user or similar could work for example.
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.
So, from my perspective there are policies in the wild that exist with omitted fields already, including the entity field. These were created by the now unmaintained spam police bot in an attempt to keep the context for a policy after unbanning a user.
The omission of entity, and the addition of the unstable hashes property, under the stable m.policy.rule.room, has not to my knowledge produced any significant problems for clients that have naive parsing of policy rules. Issues have also not yet been reported in implementation. But maybe there should be a requirement for a client to implement specific rendering for takedowns (gomuks might already) so that we can be sure.
Rendered
Implementations:
org.matrix.msc4204.takedownrecommendation in Synapse the-draupnir-project/Draupnir#761Signed-off-by: Gnuxie Gnuxie@protonmail.com