An English translation of a web page of a German primary school which adapted Matrix software for their school's needs in COVID times. They called their version Hermannpost.

The safe messenger for children and parents of Hermann School

A school messenger for our inclusive school

video: Hermann School: Our way through Corona (in German)

For years, Hermann School has been working on a sustainable media concept that meets its special features and special needs. For example, our classrooms have long been equipped with interactive whiteboards.

Then came Coronavirus.

The school traversed the first lockdown with an experiment. We issued all teachers and social workers of the school with an LTE tablet and, after to a first hesitation for data protection reasons, we set up WhatsApp accounts on these tablets. The configuration and use of the accounts took place in a way that is compliant with data protection from our point of view by forbidding the storage of contacts, so as to avoid transmitting these contacts to WhatsApp/Facebook.

Our goal was to achieve the highest possible availability of the school. This is linked to a project booklet-based, website-assisted project teaching and with incentives for students to interact (Question of the day, Store.

We were pleased with the possibilities that opened up to us. We were able to get close contact with many pupils, and in many cases this had a high quality. The possibility of exchanging voice messages, photos and/or videos helped in particular children and/or families with low German knowledge.

On the other hand, we realized that the use of WhatsApp was problematic in many ways, and were looking for alternatives from the very beginning. After a – rather elaborate – look at the market, we realized that none of the available offers was up to our needs. That's why we decided to take a look at Open Source alternatives and found FluffyChat and Matrix.

Powered by FluffyChat

FluffyChat is a messenger client for the Matrix Protocol. It is open source and is developed in Flutter so that it can be compiled for several platforms (including Android, iOS and Web). The developer team focuses on a simple user interface and develops user-friendly functions such as sending voice messages (which at this time is only possible with this matrix client). It uses the matrix SDK from Famedly, a start-up company that offers messenger solutions in healthcare.

The Hermannpost


The Hermannpost is a “mod” of FluffyChat: We have taken the freely available code from Fluffychat and adapted it to our needs as an international meeting school and inclusive primary school. The criteria for the introduction of changes were security, accessibility, data protection and child protection.

Security because we are entrusted with the sensitive communication of students and parents. Accessibility, because we want to make access to this form of communication as easy as possible, as we approach our objective of educational equality. Privacy, because this is a right of every child and family, and our mission is to comply with legal requirements. Child protection because we have to deal with particularly vulnerable people in primary school who need care, support and protection in the introduction of this medium.


We operate our own matrix instance on our own server in our school building. Synapse, matrix.org's reference server software, is running. Matrix has developed into a standard for secure messaging and is used, among other things, by the French administration, by the Bundeswehr and recently by the LOGINEO-NRW Platform.

Our server is not federated – that is, other matrix instances (e.g. matrix.org) do not have access to our server (i.e. neither spaces nor accounts). This also means that children and parents cannot communicate with other accounts outside our server. In other words, our server is closed and protected against external actors.

The use of a specific client adds an additional security layer. The login method uses an encrypted QR code (more under “Accessibility”), which additionally conceals the login data, so that login with another client is not possible.


The login in matrix is a comparatively complex process in which server name, matrix ID and (an ideally long) password must be entered. This represents a hurdle that is difficult to handle for our users. To simplify this login procedure, we have hidden the credentials in a “QR key” and supplemented with a PIN number that must be entered by the user. In this way, we simplify the login process and at the same time enable the use of a long, secure password without the user having to struggle to enter it using a keyboard. The additionally required PIN prevents unauthorized persons from registering with the QR code (or a copy).

As a side effect, this uncomplicated and fast log-on and logout procedure opens up the possibility to easily switch between multiple accounts with a single device. This is of particular importance for us, as smaller primary school children often do not have their own device and depend on using their parents' device. This is also advantageous if several siblings have to share a device.

The availability of translations in several languages in Fluffychat is particularly valuable, as most families in our school do not speak German as a first language.

At various points, we have also made small changes in order to reduce complexity, for example by hiding/reordering some settings and specialized information, using our own easier to understand icons or inserting additional dialogs with images in certain functions.


This aspect plays a critical role in the introduction of a messenger service in a primary school. Matrix is designed to facilitate communication between users. For example, you can see in group rooms who is in this room and write to each.

We have made some limitations in the server. This is not federated, that is, it is isolated from other matrix servers and communication between them is not possible. The user directory is disabled so that a search by users cannot be made.

In our client, we have additionally restricted the visibility of personal data in several places. Thus, children and parents are not able to access information from other users in group information. We also have “state messages” that often contain personal information (e.g. “XYZ has entered/deleted the room/changed their avatar”) hidden in our client, which not only benefits privacy, but also increases accessibility (less text helps to focus on the important content).

Child protection

In this area, we have put in a great deal of thought, as we enter into new territory with the use of a messenger service with primary school children and we therefore see ourselves having a special duty to provide care.

The more far-reaching measure we have taken in this area is the restriction of contact possibilities between users. Firstly, the focus is on communication between children/parents and teachers. Secondly, we would like to make possible cyber bullying cases – as far as possible – more difficult.

For this reason, communication between users (parents/children) is possible only by using “QR invitations”. Each user gets his own QR-Invitation with the access data, which he/she can give to other users. Only when this invitation is scanned can a chat be started between both users. In a distance situation it is possible for teachers to send invitations to other children. This means that if a child wants to chat with another child, they can instruct the teacher to send an invitation to this child.

We also have hidden the option to create groups in the client. Teachers can invite children to groups, but they are always supervised, moderated and accompanied by teachers.

We have hidden the option of a video conference for pupils, i.e. only teachers can invite children – provided they have consent from the parents.

Documentation of the changes made in detail

There are additional amendments to facilitate the work of teachers. All changes can be found in the Source Code.


Except for the use of Excel and VBA script for generating accounts and assigning spaces, our entire digital working environment is based on Open Source. This means that each school can replicate this working environment – and change according to its own needs.

We hope that other schools can benefit from our work and will be happy to help where we can!

Media reports

Chaos Computer Club Remote Congress rc3 nowhere 2021: Presentation [de]

Article in golem.de: Primary School Forked a Messenger [en] (translation) — (original [de])

Report from WDR: The Self-Made School Messenger [de]

it-zoom.de (mention): The Digital Classroom [de]


The following are links to all resources we have used:

Source code for Synapse (Matrix Server): https://github.com/matrix-org/synapse/

Source code for Matrix Corporal (Content and Space Administration with Moderation Tools): https://github.com/devture/matrix-corporal

Source code for FluffyChat: https://gitlab.com/famedly/fluffychat

Source code for Hermannpost: https://gitlab.com/hermanncoders/hermannpost

Source code for Jitsi Meet (Videoconference server): https://github.com/jitsi/jitsi-meet

Source code for Nextcloud: https://github.com/nextcloud/server

About Hermannpost: web page, interview, video (in German), source code

Original web page in German at hermannschule.de Retrieved 2022-05-20, translated by Julian Foad assisted by LibreTranslate, May 2022

#schools #matrix #awesomeFOSS #Hermannpost

Follow/Feedback/Contact: RSS feed · Fedi follow this blog: @julian​@wrily.foad.me.uk · use the Cactus Comments box above · matrix me · Fedi follow me · email me · julian.foad.me.uk Donate: via Liberapay All posts © Julian Foad and licensed CC-BY-ND except quotes, translations, or where stated otherwise