From 6a1caed8568e0880df67abcc33e0ed99cc1d150e Mon Sep 17 00:00:00 2001
From: lilly
Date: Wed, 2 Sep 2026 11:01:50 +0200
Subject: [PATCH 1/4] add concept doc for matrix moderation
---
.../matrix-moderation.md | 35 +++++++++++++++++++
1 file changed, 35 insertions(+)
create mode 100644 docs/concepts-and-configurations/matrix-moderation.md
diff --git a/docs/concepts-and-configurations/matrix-moderation.md b/docs/concepts-and-configurations/matrix-moderation.md
new file mode 100644
index 00000000..d37c507e
--- /dev/null
+++ b/docs/concepts-and-configurations/matrix-moderation.md
@@ -0,0 +1,35 @@
+---
+title: Matrix Moderation
+---
+
+# Matrix Moderation
+
+All Matrix rooms created around CCCHH and which are considered *official* are subject to centralized moderation.
+This moderation is enforced by a [Mjolnir](https://github.com/matrix-org/mjolnir) bot on a techincal level and operated by a dedicated sub-team of the Infra Group.
+
+The moderation team can be reached at [matrix-moderation@hamburg.ccc.de](mailto:matrix-moderation@hamburg.ccc.de).
+
+## Principles and Guidelines
+
+During moderation, we adhere to the following principles:
+
+- No *predictive policing*. We strive for fast and accurate moderation and, while we do incorporate reports from trustworthy sources close to the chaos community, we do not moderate based on gut feelings.
+
+- Prohibited content includes spam, pornography, harassment, and fascist-like behavior. We remove such content (see Guide TODO) and subsequently ban the user responsible (see Guide TODO).
+
+- The CCCHH admin account may be used under special circumstances to issue warnings and explain the moderation team’s decisions in general terms. It does not respond to DMs and does not engage in discussions. If moderation action is to be discussed, people are referred to the moderation team at [matrix-moderation@hamburg.ccc.de](mailto:matrix-moderation@hamburg.ccc.de) instead.
+
+- New Matrix rooms related to CCCHH are **always** created by the CCCHH admin and protected by the moderation bot. See [Matrix: Create a New Room](../guides/matrix-create-room.md) for details on creating rooms.
+
+## How It Works
+
+The bot account `@moderation:hamburg.ccc.de` (Mjolnir) maintains various internal lists of rules that are applied in so-called "Protected Rooms".
+These can include, for example, user bans or entire server bans.
+Additionally, certain automatic monitoring measures (so-called "protections") apply in these rooms, which trigger a configured action if violated.
+For example, a user is not allowed to tag too many other users in a single message, as this is considered spam and results in a kick.
+The bot is controlled and configured via a privileged *CCCHH Moderation Management* room using `!mjolnir` commands.
+There, individual actions can also be triggered through the bot as needed, such as redacting messages, kicking users from all or some channels, etc.
+
+It is also possible to make our moderation bot's local lists available to other entities and subscribe our bot to other entities' lists.
+Our list is published in `#general-moderation:hamburg.ccc.de` and can be made available to others upon request.
+
From 8f07ad8ca44ba4029ba02790963d260bc1c27efb Mon Sep 17 00:00:00 2001
From: lilly
Date: Wed, 2 Sep 2026 11:42:53 +0200
Subject: [PATCH 2/4] add guide about matrix room creation
---
docs/guides/matrix-create-room.md | 53 +++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)
create mode 100644 docs/guides/matrix-create-room.md
diff --git a/docs/guides/matrix-create-room.md b/docs/guides/matrix-create-room.md
new file mode 100644
index 00000000..d43f6140
--- /dev/null
+++ b/docs/guides/matrix-create-room.md
@@ -0,0 +1,53 @@
+---
+title: "Matrix: Create a New Room"
+---
+
+# Matrix: Create a New Room
+
+!!! success "Goal"
+
+ Create a new matrix room for a CCCHH group or function with correct protections and permissions
+
+## 1. Create the Room
+
+Rooms are always created by the *CCCHH-Admin* Account whose credentials can be found in *infra-secrets*.
+To create a room, log in to https://element.hamburg.ccc.de and click on *New Conversation* -> *New Room*.
+Enter a Room Name and optionally give it an address on the *hamburg.ccc.de* server.
+
+## 2. Configure Room Metadata
+
+Once the room is created, please give it a topic and if possible a room icon.
+This makes it easier to distinguish the many rooms we have.
+
+## 3. Invite the Moderation-Bot
+
+Either perform the following steps via the GUI or enter the displayed commands into the chat window of the new room:
+
+
+1. Invite the User `@moderation:hamburg.ccc.de` to the new room
+ ```
+ /invite @moderation:hamburg.ccc.de
+ ```
+
+2. Give the moderation bot *Admin* Power-Level so that it can properly enforce all protections
+ ```
+ /op @moderation:hamburg.ccc.de 100
+ ```
+
+## 4. Set Up Room Protection
+
+We have now added the moderation bot to the room but this is not enough.
+The bot needs to be told explicitly which rooms it should protect and the newly created one therefore needs to be added to that list.
+
+First, note down the *Internal Room ID* which can be found in the new Rooms settings under the *Advanced* tab.
+Then enter the *CCCHH Moderation Management* room and write the follogin mjolnir command while substituting the copied room id:
+
+```
+!mjolnir rooms add
+```
+
+## Closing Up
+
+You should now have a new Matrix Room under moderation protection.
+To verify that everything was done correctly, you can enter `!mjolnir verify` in the *CCCHH Moderation Management* room and observe that the moderation bot does not give you an error.
+
From ddce7783dbfddfbf849e4c9a1eac0fffb7039af5 Mon Sep 17 00:00:00 2001
From: lilly
Date: Wed, 2 Sep 2026 12:32:13 +0200
Subject: [PATCH 3/4] add guide for common matrix moderation actions
---
.../matrix-moderation.md | 2 +-
.../guides/matrix-taking-moderation-action.md | 52 +++++++++++++++++++
2 files changed, 53 insertions(+), 1 deletion(-)
create mode 100644 docs/guides/matrix-taking-moderation-action.md
diff --git a/docs/concepts-and-configurations/matrix-moderation.md b/docs/concepts-and-configurations/matrix-moderation.md
index d37c507e..159fbb49 100644
--- a/docs/concepts-and-configurations/matrix-moderation.md
+++ b/docs/concepts-and-configurations/matrix-moderation.md
@@ -15,7 +15,7 @@ During moderation, we adhere to the following principles:
- No *predictive policing*. We strive for fast and accurate moderation and, while we do incorporate reports from trustworthy sources close to the chaos community, we do not moderate based on gut feelings.
-- Prohibited content includes spam, pornography, harassment, and fascist-like behavior. We remove such content (see Guide TODO) and subsequently ban the user responsible (see Guide TODO).
+- Prohibited content includes spam, pornography, harassment, and fascist-like behavior. We remove such content and subsequently ban the user responsible (see [Matrix: Taking Moderation Action](../guides/matrix-taking-moderation-action.md)).
- The CCCHH admin account may be used under special circumstances to issue warnings and explain the moderation team’s decisions in general terms. It does not respond to DMs and does not engage in discussions. If moderation action is to be discussed, people are referred to the moderation team at [matrix-moderation@hamburg.ccc.de](mailto:matrix-moderation@hamburg.ccc.de) instead.
diff --git a/docs/guides/matrix-taking-moderation-action.md b/docs/guides/matrix-taking-moderation-action.md
new file mode 100644
index 00000000..b1bf69fd
--- /dev/null
+++ b/docs/guides/matrix-taking-moderation-action.md
@@ -0,0 +1,52 @@
+---
+title: "Matrix: Taking Moderation Action"
+---
+
+!!! success "Goal"
+
+ Perform common moderation actions in Matrix using our moderation bot
+
+See the [Matrix-Moderation](../concepts-and-configurations/matrix-moderation.md) Concept for an overview on how the moderation system functions.
+
+All bot actions are triggered through the *CCCHH Moderation Management* room.
+
+!!! warning "Warning"
+
+ Moderation actions should be triggered through the bot to avoid exposing members of the moderation team to harassment.
+ Even if the bot is unwieldy, think before taking action with your personal account and do so on your own scrutiny.
+
+## Banning a User
+
+```
+!mjolnir ban general user
+```
+
+- `` can be a user ID (e.g. `@example:matrix.org`) but also more sophisticated. Be careful when using actual glob syntax as whole servers can be banned even if just a single user is the intended target.
+- `` is technically optional but should always be supplied so that we know why a certain user was banned in retrospect. The bot supports parsing quotations so `""` is usually what you want if more than one word is used.
+
+## Banning a Server
+
+```
+!mjolnir ban server
+```
+
+- `` can be used to ban subdomains of a domain too, e.g. `*.example.com`. If used, an additional `--force` is required after the whole command.
+- `` should be supplied and supports quotation (`"") if more than one word is used
+- When a domain is banned, we usually also ban all subdomains too. This needs to be done in two separate commands.
+
+## Redacting a single Message
+
+```
+!mjolnir redact
+```
+
+- `` is **not** the message ID but the actual *https://matrix.to/#blablabla* link that can be retrieved with most clients through a *Share* or *Copy link to Message* button on an individual message.
+
+## Redacting all Messages of a User
+
+```
+!mjolnir redact
+```
+
+- `user-id` the Matrix-ID of the user of whom all messages in all rooms should be redacted (e.g. `@bla:example.com`).
+
From 432fad9765823ec63f424fa4d5efaca7b8593d1f Mon Sep 17 00:00:00 2001
From: Renovate
Date: Sat, 5 Sep 2026 21:31:17 +0000
Subject: [PATCH 4/4] Update docker.io/library/postgres Docker tag to v14
---
resources/chaosknoten/lists/docker_compose/compose.yaml.j2 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/resources/chaosknoten/lists/docker_compose/compose.yaml.j2 b/resources/chaosknoten/lists/docker_compose/compose.yaml.j2
index 7a109e8c..c2b6c707 100644
--- a/resources/chaosknoten/lists/docker_compose/compose.yaml.j2
+++ b/resources/chaosknoten/lists/docker_compose/compose.yaml.j2
@@ -62,7 +62,7 @@ services:
- POSTGRES_DB=mailmandb
- POSTGRES_USER=mailman
- "POSTGRES_PASSWORD={{ secret__lists__postgres_password }}"
- image: docker.io/library/postgres:12-alpine
+ image: docker.io/library/postgres:14-alpine
volumes:
- /opt/mailman/database:/var/lib/postgresql/data
networks: