matrix-org / matrix-org/policyserv

policyserv sends redactions for events which were locally rejected by the sender's server

Open
#2 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Go
Stars
21
Forks
7
Avg merge
6h 43m
Merged PRs (30d)
4

Description

we should move the redaction engine to a place which monitors instead, so we're not sending out events that don't apply

Sample failure case:

1. Alice is on a server with policy server-checking code
2. Alice sends an image
3. Alice's server checks with the policy server
4. Policy server says no
5. Alice's server rejects Alice's request
6. Meanwhile, policyserv has sent out a redaction

----

Note: we already prevent this from happening if the sender's server is the same as the moderator's server

----

For documentation: the intention is to move the redaction to Mjolnir via https://github.com/element-hq/synapse/pull/18585 (requires https://github.com/element-hq/synapse/pull/18238 ). When Mjolnir sees the flag, it will redact the event instead of policyserv needing to track moderator credentials.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the policyserv redaction flow and review the referenced Synapse pull requests 18585 and 18238, along with the Mjolnir handoff described in the issue. Done means locally rejected events are no longer redacted by policyserv, with Mjolnir handling redaction when it sees the flag.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend, security
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.