„Ungefähr“ darf nicht nur eine unscharfe Karte sein
Wenn eine App eine genaue Position empfängt, an den Server sendet und erst bei der Anzeige einen großen Kreis darüberlegt, besitzt der Server weiterhin den exakten Wert. Orbit vergröbert deshalb auf dem Gerät, bevor die Nutzlast verschlüsselt und übertragen wird.
Die aktuelle Implementierung behandelt diese Vergröberung als Zustand. Eine Person verlässt eine grobe Zelle erst, wenn sie mindestens 250 Meter über deren Grenze hinausgegangen ist und dort zehn Minuten verbleibt. Spätestens nach 15 Minuten kann ein Heartbeat den aktuellen Zustand bestätigen. Diese Hysterese verhindert ein verräterisches Flattern zwischen zwei Zellen. Ohne sie könnten viele schnelle Zellenwechsel die genaue Bewegung trotz grober Einzelwerte wieder annähern.
Die Größenordnung der ungefähren Freigabe liegt bei etwa drei Kilometern. Sie ist ein Produktkompromiss: groß genug, um einen präzisen Aufenthaltsort nicht einfach weiterzureichen, klein genug für die Information, ob jemand noch in derselben Gegend ist. Sie ist keine mathematische Anonymitätsgarantie. Randlage, seltene Orte oder zusätzliche Informationen können weiter Rückschlüsse zulassen.
Verschlüsselung folgt dem Empfänger, nicht nur dem Kreis
Orbit verschlüsselt Standortdaten pro Empfängergerät. HPKE dient der Schlüsselvereinbarung, AES-GCM der Nutzlastverschlüsselung und Ed25519 der Signatur. Der Server prüft Berechtigungen, speichert Umschläge und verteilt sie, ohne Standort, gespeicherte Orte oder Nachrichten im Klartext zu benötigen.
Ein Kreisname allein wäre dafür zu grob. Personen können mehrere Geräte besitzen, neue Geräte koppeln oder ein Gerät verlieren. Die Engine führt deshalb Empfängergeräte und Schlüssel-Epochen. Eine neue Epoche grenzt zukünftige Nachrichten von einem alten Schlüsselstand ab. Der Versandpfad erzeugt die Nutzlast für die tatsächlich berechtigten Empfänger der aktuellen Epoche.
Das Protokoll verhindert nicht jede denkbare Beobachtung. Servermetadaten wie Zeitpunkte, Gerätebeziehungen oder Nachrichtenvolumen bleiben eine eigene Datenschutzfrage. Ein kompromittiertes Endgerät kann entschlüsselte Daten sehen. Die belastbare Aussage ist enger: Die fachlichen Inhalte werden auf dem Client pro berechtigtem Gerät verschlüsselt und liegen dem Verteilserver nicht als Klartext vor.
Freigabe ist eine laufende, widerrufbare Entscheidung
Jeder Kreis kann genaue, ungefähre, angefragte oder keine Position erhalten. Die Oberfläche „Wer sieht was?“ fasst Kreisregeln, einzelne Personen und vergangene Anfragen zusammen. Dadurch ist die wirksame Regel nicht nur beim Einrichten sichtbar.
Eine Freigabe lässt sich pausieren. „Alles beenden“ schaltet den lokalen Versand sofort ab und merkt den Widerruf für die Synchronisation vor. Das Gerät muss nicht erst einen Server erreichen, bevor es aufhört, neue Standorte zu erzeugen. Der Server kann bereits zugestellte verschlüsselte Daten damit nicht aus fremden Geräten zurückholen; auch diese Grenze gehört zur ehrlichen Beschreibung.
Neue Geräte werden über einen 25-stelligen Vergleichscode gekoppelt. Die Anmeldung verwendet einen E-Mail-Code statt eines dauerhaften Passworts. Beide Mechanismen lösen unterschiedliche Probleme: Der E-Mail-Code weist den Kontozugang nach, der Gerätevergleich bestätigt einen kryptografischen Gerätekanal.
Eine Hintergrund-Engine muss unabhängig von Flutter weiterarbeiten
Position und Fristen enden nicht, wenn die sichtbare Flutter-Oberfläche pausiert. Orbit nutzt deshalb eine eigene Engine in Swift und Kotlin, angebunden über Pigeon. Die gemeinsame Oberfläche formuliert Absicht und zeigt Zustand; die Plattformseite übernimmt Hintergrundortung, lokale Schlüssel und Betriebssystemgrenzen.
Begleitungen besitzen eine serverseitige Frist. Eine Meldung wie „noch nicht angekommen“ hängt damit nicht davon ab, ob das begleitete Telefon im kritischen Moment noch läuft. Das Backend kann den Ablauf bewerten. Der Standortinhalt bleibt davon getrennt und verschlüsselt.
Karten verwenden auf Apple-Plattformen MapKit und auf Android MapLibre. Auch hier liegt die gemeinsame Ebene nicht in einem kleinsten gemeinsamen Kartenwidget. Sie liegt im Produktmodell für Person, Kreis, Freigabemodus und Aktualität.
Was diese Arbeit für ähnliche Aufträge zeigt
Orbit zeigt, wie Datenschutzanforderungen zu konkreten Zustandsmaschinen, Schlüsselgrenzen und Offlineverhalten werden. Begriffe wie „ungefähr“, „pausiert“ oder „beendet“ erhalten erst durch diese Regeln eine technische Bedeutung.
Für ein anderes Produkt würde CIDIX nicht automatisch dasselbe Kryptoprotokoll einsetzen. Die übertragbare Leistung ist der Weg von einer verständlichen Nutzerentscheidung zu einer überprüfbaren Datenverarbeitung: Welche Daten entstehen auf welchem Gerät, wer kann sie öffnen, wie lange gilt eine Freigabe, und was passiert ohne Netz? Diese Fragen bilden Architektur und Oberfläche gemeinsam.


