Peer-to-peer Zusammenarbeit, verschlüsselt und offline-fähig

Netz aus untereinander verbundenen Knoten

Ausgangssituation

  • Vereine, Initiativen und ehrenamtliche Gruppen organisieren sich über Aufgabenlisten, Termine und Sitzungsprotokolle - also über genau die Daten, in denen Angaben zu Personen und interne Beschlüsse zusammenkommen.
  • Die üblichen Werkzeuge dafür sind Cloud-Dienste. Bequem, aber die Inhalte liegen beim Anbieter, und die Verantwortung für die Verarbeitung personenbezogener Daten bleibt trotzdem bei der Gruppe.
  • Budget für eigene Server-Infrastruktur gibt es in diesem Umfeld praktisch nie, Personal für deren Pflege ebenso wenig.

Herausforderung

  • Zusammenarbeit ohne eine zentrale Stelle, die den maßgeblichen Zustand hält - und ohne dass die Beteiligten wissen müssen, was ein Server ist
  • Verschlüsselung so tief ansetzen, dass auch der Betreiber der Vermittlungsstelle die Inhalte nicht sehen kann
  • Widersprüche: Ändern zwei Personen dieselbe Aufgabe oder denselben Termin, ohne voneinander zu wissen, entsteht ein Konflikt - der nicht einfach verschwinden darf
  • Offline-Betrieb, der kein Sonderfall ist, sondern der Normalfall

Unser Ansatz

  • Peer-to-peer statt Client-Server. Jedes Gerät hält den vollständigen Datenbestand. Zusammenarbeit heißt Abgleich zwischen Geräten, nicht Abruf von einem Server.
  • Verschlüsselt, bevor etwas das Gerät verlässt. Auf den Relay-Servern liegt ausschließlich das verschlüsselte Ereignisprotokoll. Wer ein Relay betreibt, sieht Zeitpunkte und Datenmengen, aber keine Inhalte - und ist damit austauschbar, ohne dass Vertrauen nötig wäre.
  • Konflikte werden angezeigt, nicht stillschweigend aufgelöst. Sagt Alice eine Sitzung ab, während Bob sie auf 17:00 Uhr verlegt, gibt es keine automatische Antwort, die beiden gerecht wird - entscheiden müssen die Beteiligten, nicht der Algorithmus.
  • Offline-Betrieb fällt ohne Zusatzaufwand an. Ein Gerät, das gerade niemanden erreicht, befindet sich nicht in einem Ausnahmezustand, sondern im selben Zustand wie zwischen zwei Abgleichen.
  • Umgesetzt in Rust, im Browser als WebAssembly ausgeführt - dieselbe Sprache für Verschlüsselung, Abgleich und Oberfläche.
  • Vorhanden sind derzeit Aufgaben, Termine und Sitzungsprotokolle.

Warum das über den Vereinsalltag hinaus interessant ist

  • Datenschutz ist hier keine Zusicherung, sondern eine Eigenschaft der Bauweise. Es gibt keine Stelle, an der die Inhalte im Klartext liegen, außer auf den Geräten der Beteiligten.
  • Der Betrieb kostet fast nichts. Eine Vermittlungsstelle reicht verschlüsselte Ereignisse weiter, mehr nicht.
  • Überall dort, wo Zuständigkeiten, Beschlüsse und Termine verbindlich sein müssen, ist ein stillschweigend verworfener Eintrag schlimmer als ein gemeldeter Widerspruch.
  • Fällt das Netz aus, arbeitet jedes Gerät weiter. Geplant ist die Anbindung von iroh, über das sich Geräte auch direkt abgleichen können sollen - im lokalen Netz, per Bluetooth oder über andere Übertragungswege. Ein Ausfall der Internetanbindung wird damit zu einem Fall, den das System ohnehin beherrscht.

Projektstatus: Eigenentwicklung ohne Auftraggeber und ohne Budget, im ehrenamtlichen Einsatz und in aktiver Weiterentwicklung. Der Quellcode ist bisher nicht veröffentlicht.

Wir sind für Sie da! Kontakt

Zurück zur Übersicht