Blog

Wie Babyphone Timmy technisch funktioniert

WebRTC, Firebase und Ende-zu-Ende-Schutz, erklärt ohne Buzzword-Nebel.

Von Babyphone Timmy · April 2025 (aktualisiert Juli 2025)

Drei Bausteine, ein Ziel

Unter der Haube ist Timmy ziemlich pragmatisch gebaut: Flutter für die App, WebRTC für Audio und Video in Echtzeit und Firebase für die Koordination. Ich wollte keine riesige Plattform bauen, die alles durch die Cloud schleust. Die einzelnen Teile sollen möglichst wenig wissen und trotzdem zuverlässig zusammenarbeiten.

WebRTC: Direkte Verbindung, verschlüsselt ab Werk

WebRTC (Web Real-Time Communication) überträgt Audio und Video zwischen Baby- und Elterngerät. Im Idealfall laufen die Daten direkt zwischen den beiden Geräten, Peer-to-Peer, ohne Medienserver dazwischen.

Jede WebRTC-Verbindung nutzt standardmäßig DTLS-SRTP. Selbst wenn jemand Netzwerkpakete mitschneidet, sieht er keine verständlichen Audio- oder Videodaten. Diese Verschlüsselung ist Teil des Protokolls und lässt sich in WebRTC nicht einfach abschalten.

Für mich war das der Punkt: Die Medien gehören nicht auf meinen Server. Sie bleiben zwischen deinen Geräten.

Signalisierung über Firebase Firestore

Bevor WebRTC loslegen kann, müssen sich die Geräte finden und aushandeln, wie sie sich erreichen. Dieser Teil heißt Signalisierung. Timmy nutzt dafür Firebase Firestore, also eine Cloud-Datenbank von Google.

Dabei werden ausschließlich technische Verbindungsdaten ausgetauscht:

Audio und Video landen dabei nicht in Firebase. Firestore transportiert nur die technischen Verbindungsdaten. Diese Signalisierung wird zusätzlich verschlüsselt, damit Firestore nicht zum Klartext-Treffpunkt für SDP und ICE wird.

TURN-Server: Wenn der direkte Weg nicht geht

Manche Netze lassen keine direkte Verbindung zu, etwa strenge Firewalls oder einzelne Mobilfunknetze. Dann braucht WebRTC ein TURN-Relay (Traversal Using Relays around NAT).

Timmy versucht zuerst den lokalen TURN-Server und nimmt Cloudflare als Fallback, wenn der lokale Relay nicht erreichbar oder überlastet ist. Der Relay leitet verschlüsselte Pakete weiter. Er bekommt keine Schlüssel für Ton oder Bild; die WebRTC-Verschlüsselung bleibt erhalten.

Die TURN-Zugangsdaten kommen über eine Firebase Cloud Function und sind nur 24 Stunden gültig. Dauerhafte Credentials in der App wären mir für ein Babyphone zu heikel.

Nearby Connections: Geräte finden sich automatisch

Damit Baby- und Elterngerät nicht erst umständlich konfiguriert werden müssen, nutzt Timmy Nearby Connections. Google stellt damit eine Erkennung über Bluetooth und WLAN bereit.

Das automatische Pairing in Timmy kommt ohne manuelle Codeeingabe aus: Die Geräte entdecken sich gegenseitig und finden denselben Treffpunkt für den Schlüsselaustausch. Falls das nicht klappt, gibt es einen 4-stelligen Code zur Eingabe. Der Pairing-Code verlässt dabei niemals das Gerät; in Firestore landet nur ein kryptografischer Hash (SHA-256) als Dokumentkennung.

Anonyme Authentifizierung

Timmy verwendet Firebase Anonymous Authentication. Beim ersten Start bekommt jedes Gerät eine temporäre, anonyme ID. Es gibt kein Konto, keine E-Mail-Adresse und kein Passwort. Die ID ist nur dafür da, Firestore-Regeln durchzusetzen: Nur authentifizierte Geräte dürfen Sitzungsdaten lesen oder 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 Apps auf mehreren Plattformen. Für Timmy heißt das: Ich kann sehr viel Logik einmal schreiben und auf Android und iOS nutzen. Timmy ist auf Android verfügbar, die iOS-Version steht kurz vor dem Release. Weniger doppelter Code bedeutet weniger Stellen, an denen sich Fehler einschleichen können.

Zusammenfassung

Die technische Leitlinie ist simpel: Timmy soll nur die Daten anfassen, die wirklich nötig sind. WebRTC schützt die Medien, Firebase koordiniert den Verbindungsaufbau, TURN sieht nur verschlüsselte Pakete und Nearby Connections nimmt Eltern beim Pairing Arbeit ab.

Gute Technik verschwindet im Alltag ein Stück weit. Sie funktioniert, ohne das Kinderzimmer unnötig zur Cloud-Aufgabe zu machen.


Weitere Artikel