Blog

Die Technik hinter Timmy

WebRTC, Firebase und Ende-zu-Ende-Verschlüsselung — ohne Fachchinesisch.

Von Babyphone Timmy · April 2025 (aktualisiert Juli 2025)

Drei Bausteine, ein Ziel

Babyphone Timmy basiert auf drei bewährten Technologien: Flutter für die App, WebRTC für die Echtzeitkommunikation und Firebase für die Koordination. Zusammen bilden sie eine Architektur, die Sicherheit, Datenschutz und Zuverlässigkeit in den Mittelpunkt stellt. In diesem Artikel erklären wir, wie die einzelnen Teile zusammenspielen — verständlich und ohne Fachjargon.

WebRTC: Direkte Verbindung, verschlüsselt ab Werk

WebRTC (Web Real-Time Communication) ist die Technologie, die Audio und Video zwischen dem Baby- und dem Elterngerät überträgt. Das Besondere: Die Daten fließen direkt zwischen den beiden Geräten — Peer-to-Peer, ohne Umweg über einen Server.

Jede WebRTC-Verbindung ist standardmäßig mit DTLS-SRTP verschlüsselt. Das bedeutet: Selbst wenn jemand den Netzwerkverkehr abfangen würde, könnte er die Audio- und Videodaten nicht entschlüsseln. Diese Verschlüsselung ist kein optionales Feature — sie ist fest in das Protokoll eingebaut und kann nicht deaktiviert werden.

Kein Server hört mit. Kein Server speichert. Die Verbindung gehört dir.

Signalisierung über Firebase Firestore

Bevor zwei Geräte direkt kommunizieren können, müssen sie sich finden und den Verbindungsaufbau koordinieren. Diesen Prozess nennt man Signalisierung. Timmy nutzt dafür Firebase Firestore — eine Cloud-Datenbank von Google.

Dabei werden ausschließlich technische Verbindungsdaten ausgetauscht:

Keine Audiodaten, keine Videodaten, keine persönlichen Informationen berühren jemals die Firebase-Server. Firestore ist nur der Briefträger, der die Verbindungsinformationen übermittelt — den Brief selbst liest er nicht.

TURN-Server: Wenn der direkte Weg nicht geht

In manchen Netzwerken (z. B. hinter strengen Firewalls oder bei bestimmten Mobilfunkanbietern) kann keine direkte Verbindung aufgebaut werden. Für diese Fälle gibt es TURN-Server (Traversal Using Relays around NAT).

Timmy nutzt einen lokalen TURN-Server als erste Wahl und Cloudflare als Fallback, wenn der lokale Relay nicht erreichbar oder überlastet ist. Der ausgewählte TURN-Server leitet den verschlüsselten Datenverkehr weiter — kann ihn aber nicht entschlüsseln. Er sieht nur verschlüsselte Pakete und weiß nicht, ob es sich um Audio, Video oder andere Daten handelt. Die Ende-zu-Ende-Verschlüsselung von WebRTC bleibt vollständig erhalten.

Die Zugangsdaten für den TURN-Server werden über eine Firebase Cloud Function generiert und sind nur 24 Stunden gültig. So wird sichergestellt, dass keine dauerhaften Credentials im Umlauf sind.

Nearby Connections: Geräte finden sich automatisch

Damit sich Baby- und Elterngerät verbinden können, müssen sie sich zunächst „kennenlernen". Timmy nutzt dafür Nearby Connections — eine Technologie von Google, die Geräte in der Nähe automatisch über Bluetooth und WLAN erkennt.

Das Pairing funktioniert ohne manuelle Codeeingabe: Die Geräte entdecken sich gegenseitig und tauschen die Verbindungsinformationen automatisch aus. Als Fallback gibt es einen 4-stelligen Code, der manuell eingegeben werden kann — falls die automatische Erkennung nicht möglich ist. Der Pairing-Code verlässt dabei niemals das Gerät — nur ein kryptografischer Hash (SHA-256) wird als Dokumentkennung in Firestore verwendet.

Anonyme Authentifizierung

Timmy verwendet Firebase Anonymous Authentication. Beim ersten Start erhält jedes Gerät eine temporäre, anonyme ID. Es wird kein Konto erstellt, keine E-Mail-Adresse abgefragt, kein Passwort gespeichert. Diese ID dient ausschließlich dazu, die Firestore-Sicherheitsregeln durchzusetzen — nur authentifizierte Geräte können Sitzungsdaten lesen und schreiben.

Die Architektur: Wer sendet, wer empfängt

Timmy kennt zwei Modi:

Für die Steuerung (Push-to-Talk, Kamera ein/aus) wird ein DataChannel verwendet — ein weiterer WebRTC-Kanal, der kleine Nachrichten direkt zwischen den Geräten überträgt, ebenfalls verschlüsselt.

Warum Flutter?

Flutter ist Googles Framework für plattformübergreifende App-Entwicklung. Mit einer einzigen Codebasis lässt sich eine App für Android und iOS erstellen. Timmy startet auf Android — die iOS-Version folgt in Phase 3. Dank Flutter muss der Code nicht doppelt geschrieben werden. Das bedeutet weniger Fehler, schnellere Updates und eine konsistente Nutzererfahrung auf beiden Plattformen.

Zusammenfassung

Jede technische Entscheidung bei Timmy wurde mit einem Ziel getroffen: So wenig Daten wie möglich, so viel Sicherheit wie nötig. WebRTC verschlüsselt die Kommunikation, Firebase koordiniert nur den Verbindungsaufbau, TURN-Server sehen nur verschlüsselte Pakete und Nearby Connections machen das Pairing einfach und sicher.

Technik sollte nicht kompliziert sein — sie sollte funktionieren und dabei deine Privatsphäre respektieren. Genau das tut Timmy.


Weitere Artikel