fepli
HandbuchHintergrundZusammenhänge verstehen

Wie fepli Teilnehmerdaten Ende-zu-Ende verschlüsselt

Ein Mandant kann die Daten seiner Teilnehmer:innen so verschlüsseln, dass nur die Browser von Team, Veranstalter:innen und Familien sie lesen. Der Server von fepli speichert und verschickt sie, ohne sie zu kennen.


Wovor die Verschlüsselung schützt

In fepli stehen Namen und Geburtsdaten von Kindern, Hinweise auf Allergien oder Medikamente und die Anschriften ihrer Familien. Ohne Verschlüsselung kann sie lesen, wer die Datenbank, eine Sicherung oder das Archiv in die Hand bekommt.

Verschlüsselt der Server selbst, hilft das wenig: Wer den Server übernimmt, hat auch den Schlüssel. fepli verschlüsselt deshalb im Browser der Menschen, die mit den Daten arbeiten.


Was Sie vor dem Aktivieren wissen müssen

Die Verschlüsselung ist eine Entscheidung des Mandanten. Sie schützt die Daten, dafür übernimmt das Team Aufgaben, die sonst der Server erledigt, und trägt das Risiko, die Daten zu verlieren.

  • Jedes neue Teammitglied und das erste Konto jedes Veranstalter-Profils bestätigt das Team per Emoji-Vergleich. Bis dahin sehen sie Pseudonyme (Zugangsanfrage bestätigen).
  • Veranstalter:innen und Familien bekommen die Daten neuer Anmeldungen erst, wenn jemand aus dem Team entsperrt in fepli arbeitet. Belege und Einwilligungsnachweise legt fepli auch erst dann im Archiv ab.
  • Jedes weitere Gerät einer Person wird verbunden, per QR-Code oder Emoji-Vergleich mit einem Gerät, das schon verbunden ist (Neues Gerät verbinden).
  • Ist der Browser nicht entsperrt, zeigt fepli Pseudonyme, findet niemanden beim Namen und exportiert Pseudonyme. Exporte per E-Mail enthalten immer Pseudonyme.
  • E-Mails, die fepli von selbst verschickt, sagen „Ihr Kind“. Den Namen nennt eine E-Mail nur, wenn jemand sie in einem entsperrten Browser auslöst. Ein Kommentar an das Team oder an Veranstalter:innen ohne Namen nennt das Pseudonym.
  • Der Support hilft bei einem Datensatz erst, wenn ein Admin ihn entsperrt freigibt (Datensatz für den Support freigeben).
  • Eine Integration liest Namen erst mit einem eigenen Schlüssel, den ein Super-Admin per Emoji-Vergleich bestätigt (Integration Zugang zu verschlüsselten Daten geben).
  • Auf einem neuen Gerät entschlüsselt der Browser beim ersten Entsperren alle Namen. Bei mehreren tausend Teilnehmer:innen dauert das einige Sekunden.
  • Gehen alle Zugänge und das Notfall-Kit verloren, kann niemand die Daten wiederherstellen, auch fepli nicht.
  • Ausschalten lässt sich die Verschlüsselung nicht.

Was sieht der Server, und was nicht?

Der Browser verschlüsselt jeden Wert, bevor er ihn abschickt, und entschlüsselt ihn erst zum Anzeigen. Der Server bewahrt nur den verschlüsselten Wert auf.

Damit Listen und Serienbriefe etwas zeigen, speichert der Server statt des Namens ein Pseudonym wie „K7Q2“. Statt des Geburtsdatums behält er das Alter bei jeder Anmeldung.

Sichtbar bleibt, was der Server für seine Arbeit braucht: E-Mail-Adressen und Telefonnummern, die Vornamen der Konten für die Anrede, die Angebote und wer wo angemeldet ist.

Die Rechnungsadresse eines Belegs braucht der Zahlungsanbieter im Klartext. Der Server versiegelt sie deshalb gleich beim Speichern, danach öffnet sie nur ein entsperrter Browser.


Welche Daten fepli verschlüsselt

Verschlüsselt werden Vorname, Nachname, Geburtsdatum und Wichtige Infos für die Veranstalter:innen einer Teilnehmer:in, die Antworten auf Zusatzfragen, der Nachname eines Teilnahmekontos und die Rechnungsadresse eines Belegs. Belege und Einwilligungsnachweise liegen verschlüsselt im Archiv. Die vollständige Liste steht in der Referenz.

Lesbar bleiben Antworten, mit denen der Server rechnet: eine Auswahl mit Aufpreis und eine Ja/Nein-Frage, die beim Losen über den Vorrang entscheidet. Lesbar bleiben auch die Namen der Konten von Admins und Veranstalter:innen.


Welche Schlüssel gibt es?

Jeder Datensatz hat einen eigenen Schlüssel. Diesen Schlüssel verschlüsselt der Browser für alle, die den Datensatz lesen dürfen: für das Team, für das Veranstalter-Profil, bei dessen Angebot das Kind angemeldet ist, und für die Familie.

Den Team-Schlüssel hat jedes Teammitglied, verschlüsselt mit seinem persönlichen Schlüssel. Den persönlichen Schlüssel öffnet nur ein verbundenes Gerät der Person.

Mit dem Team-Signaturschlüssel unterschreibt das Team, welche Schlüssel zum Mandanten gehören. Sein Fingerabdruck steht auf der Seite Verschlüsselung und auf dem Notfall-Kit.

Die Felder verschlüsselt fepli mit AES-256-GCM, die Schlüssel mit X25519 und HKDF, unterschrieben wird mit Ed25519.


Anmelden und Entsperren

Wer sich anmeldet, beweist dem Server, wer er ist. Wer entsperrt, öffnet im eigenen Browser seinen persönlichen Schlüssel. Passwort, Passkey, Anmeldelink und Anmelden als melden an, entsperren aber nichts.

Verbundene Geräte

Wer Zugang einrichtet, verbindet damit seinen Browser. Der Browser erzeugt einen eigenen Schlüssel, den er nicht herausgibt, und hält damit den persönlichen Schlüssel verschlossen. Ohne Anmeldung öffnet das Gerät nichts, und ohne das Gerät öffnet die Anmeldung nichts.

Ein verbundenes Gerät entsperrt von selbst, bis die Person es auf der Seite Sicherheit entfernt.

Ein neues Gerät

Ein neues Gerät bekommt den persönlichen Schlüssel von einem verbundenen Gerät derselben Person. Am Computer scannt die Person dafür einen QR-Code, mit fepli auf dem Handy. Auf einem Handy vergleicht sie Emojis auf beiden Bildschirmen. Beides stellt sicher, dass der Schlüssel beim richtigen Gerät ankommt. Ein Admin wird nicht gebraucht.

Hat eine Person kein verbundenes Gerät mehr, richtet sie ihren Zugang neu ein, und eine Kollegin oder das Team bestätigt ihn. Ihre alten Geräte entsperren danach nicht mehr.

Warum das Passwort nichts öffnet

Würde ein Passwort einen Schlüssel öffnen, könnte jemand mit einer Kopie der Datenbank Passwörter durchprobieren. Ein Gerät kann man nicht erraten.

Ein Mandant kann außerdem festlegen, dass sich seine Admins nur mit Passkey anmelden. Dann reicht auch ein gestohlenes Passwort nicht, um an den Team-Schlüssel zu kommen.


Warum ein Mensch jeden neuen Zugang bestätigt

Ein Browser verschlüsselt nur für Schlüssel, die das Team unterschrieben hat. Sonst könnte der Server einen eigenen Schlüssel als neues Teammitglied ausgeben und bekäme den Team-Schlüssel. Über einen neuen Zugang entscheidet deshalb ein Mensch, der die Person kennt.

Beide sehen 7 Emojis und vergleichen sie am Telefon oder nebeneinander. Die Emojis entstehen aus einem Wert, den nur die beiden Browser kennen. Ein Server dazwischen träfe passende Emojis mit einer Chance von 1 zu rund 4 Billionen.

Bei Veranstalter:innen bestätigt das Team das erste Konto eines Veranstalter-Profils, jedes weitere eine Kollegin oder ein Kollege aus demselben Profil.

Familien und Veranstalter-Konten warten sonst, bis jemand aus dem Team Zeit hat. Das Team kann ihnen deshalb stattdessen einen Link per E-Mail senden. Der Browser eines Teammitglieds erstellt den Schlüssel des Kontos und ein Geheimnis, das ihn öffnet. Das Geheimnis geht mit der E-Mail hinaus, und fepli hebt es nicht auf.

Dafür prüft niemand, wer den Link öffnet. Wer die E-Mail mitliest und sich als dieses Konto anmelden kann, bekommt den Schlüssel, und wer den Server während des Versands übernommen hat, sieht den Link. Eine Familie liest damit die Daten ihrer eigenen Kinder, ein Veranstalter-Konto die Kinder aller Angebote seines Profils. Admins bekommen keinen Link, weil ihr Schlüssel alle Datensätze öffnet.


Wie Veranstalter:innen die Daten ihrer Kinder bekommen

Der Server weiß, welches Kind bei welchem Angebot angemeldet ist, kann die Daten aber nicht weitergeben. Das übernimmt der Browser eines Teammitglieds, sobald es entsperrt: Er verschlüsselt die Datensätze der angemeldeten Kinder im Hintergrund für das Veranstalter-Profil.

Meldet sich ein Kind ab, löscht der Server den Schlüssel des Veranstalter-Profils für dieses Kind. Wegnehmen kann der Server also jederzeit, geben nie. Bis ein Teammitglied entsperrt hat, sehen Veranstalter:innen das Pseudonym.


Was Familien sehen

Auf der Website verschlüsselt der Browser der Familie, was sie über ein Kind eingibt. Hat die Familie noch keinen eigenen Schlüssel, erzeugt ihn der Browser beim Besuch und ist damit verbunden; die Familie tut dafür nichts. Ein Teammitglied gibt ihr danach die Daten ihrer Kinder.

Sendet das Team einen Zugangslink, übernimmt der Browser den Schlüssel beim Öffnen, und die Namen sind sofort da.

Auf einem weiteren Gerät verbindet die Familie das Gerät wie im Admin-Panel, per QR-Code oder Emojis. Hat sie kein anderes Gerät zur Hand, richtet sie den Zugang hier neu ein; die Namen erscheinen wieder, wenn jemand vom Team das nächste Mal in fepli arbeitet.

Bis der Browser entsperrt ist, stehen statt der Namen der Avatar und „Name hinterlegt“, daneben ein Schloss.


Pseudonyme und Avatare

Das Pseudonym besteht aus 4 Zeichen, gebildet aus der Kennung des Datensatzes. Geschwister lassen sich so unterscheiden, erkennen lässt sich niemand daran.

Mit der App Avatare bekommt jede Teilnehmer:in ein gezeichnetes Gesicht. Wo der Name fehlt, erkennen Familien ihre Kinder daran.


Was sich im Alltag ändert

  • Suche, Duplikate und Sortierung nach Namen erledigt der entsperrte Browser. Der Server erfährt, wen der Browser gefunden hat, nicht den Suchbegriff.
  • Exporte füllt der entsperrte Browser beim Herunterladen mit den Namen. Eine PDF-Datei baut der Server mit den Namen, die der Browser entschlüsselt hat, noch einmal und speichert sie nicht.
  • Belege und Einwilligungsnachweise legt fepli nie mit Pseudonym ab, sondern erst, wenn ein entsperrter Browser des Teams die Namen eingesetzt hat.
  • Die Altersgrenze eines Angebots prüft fepli mit dem Geburtsdatum, wenn der Browser es mitschickt, sonst mit dem Geburtsjahr.
  • Integrationen lesen Namen über die API mit ihrem eigenen Schlüssel (fepli developers).

Was der Support sieht

In einer Installation mit mehreren Mandanten sieht der Support Daten eines fremden Mandanten nur, wenn dessen Admins einen Datensatz freigeben. Bei einem Mandanten, der verschlüsselt, braucht der Support dafür einen eigenen Schlüssel, den jeder Mandant einmal per Emoji-Vergleich bestätigt.

Gibt ein Admin einen Datensatz frei, verschlüsselt sein Browser ihn zusätzlich für den Support. Endet die Freigabe, löscht fepli diesen Schlüssel. Was der Support bis dahin gelesen hat, holt die Verschlüsselung nicht zurück.


Wozu das Notfall-Kit dient

Verliert das ganze Team seinen Zugang, öffnet nur noch das Notfall-Kit die Daten. Das Kit ist ein Blatt mit einem Code, einem QR-Code und dem Fingerabdruck des Teams. Der Browser erzeugt es, fepli bekommt den Code nie zu sehen.

Damit ein gestohlener Ausdruck nicht reicht, verlangt die Wiederherstellung zusätzlich einen Link aus dem Postfach des Kontos. Danach gilt das Kit als verbraucht, alle mit Zugang erfahren es per E-Mail, und es wird sofort ein neues erstellt.


Grenzen

Was fepli verlässt, schützt die Verschlüsselung nicht mehr: E-Mails im Postfach der Familie, heruntergeladene PDFs, Ausdrucke. Der Server sieht weiterhin, dass es einen Datensatz gibt, wann er sich geändert hat und zu welchem Angebot eine Anmeldung gehört. Sicherungen von vor dem Einschalten enthalten die Daten lesbar, bis sie ablaufen.


Anwenden