Lab Note · Broken Data · November 2026
Ein Telefon in der Hosentasche, Kopfhörer im Etui, eine Uhr am Handgelenk. Alle drei melden sich in kurzen Abständen bei ihrer Umgebung: Hier bin ich, das kann ich, so heisse ich. Diese Meldungen heissen Advertisements und werden per Bluetooth Low Energy (BLE) ausgesendet. Jedes Gerät in Reichweite kann sie lesen, ohne Verbindung und ohne etwas zu knacken.
Für das Projekt Broken Data suchte ich einen Einstieg, der diese stille Gesprächigkeit zeigt, bevor jemand einen Text darüber liest. Daraus ist Bluetooth-Sonar entstanden: eine kleine macOS-App, die mitliest und das Gelesene auf einem Bildschirm sichtbar macht. Sie steht als Installation im Raum und soll vor allem eines auslösen: Gespräche.
Die App habe ich nicht von Hand programmiert. Ich habe eine Spezifikation geschrieben und sie Claude Code bauen lassen. Die Entscheide darüber, was sie zeigt und was sie bewusst weglässt, sind meine.
Was ein Gerät von sich erzählt
Ein BLE-Paket ist klein, meist nur ein paar Dutzend Bytes. Darin stecken eine Hersteller-Kennung, eine Liste der angebotenen Dienste, manchmal die Sendeleistung und manchmal der Name, den jemand seinem Gerät gegeben hat. Viele lassen ihn so, wie er ab Werk heisst: mit dem eigenen Vornamen davor.
Apple packt zusätzlich Nachrichten des Continuity-Protokolls hinein, mit denen sich die eigenen Geräte untereinander finden: AirDrop, Handoff, das Koppeln von AirPods, das Find-My-Netz. Apple dokumentiert diese Formate nicht. Forschungsgruppen haben sie über die Jahre öffentlich rekonstruiert, etwa das furiousMAC-Team oder Heinrich et al. mit «Who Can Find My Devices?» (PETS 2021).
Mit diesem Wissen lassen sich aus einem einzelnen Paket ganze Sätze bilden. AirPods Pro, ganz nah. Eine Apple Watch im Raum, die gerade am Handgelenk sitzt. Ein Telefon, das nach AirDrop-Partnern sucht.
Vom Paket zum Satz
Die App hört nur zu. Sie verbindet sich mit keinem Gerät, koppelt nicht und fragt nichts ab. Jedes empfangene Paket läuft durch vier Stationen:
Ein Decoder zerlegt die Rohbytes in Merkmale: Hersteller, Dienste, Apple-Nachrichtentypen.
Ein Classifier ordnet das Gerät einer von acht Kategorien zu, von Smartphone über Wearable bis Tracker. Er arbeitet eine geordnete Regeltabelle ab, die erste passende Regel gewinnt.
Ein Translator formt daraus einen deutschen Satz nach dem Muster Titel, Entfernung, Aktivität.
Eine Privacy-Schicht entscheidet als einzige Stelle, was von einem Gerätenamen auf den Bildschirm darf.
Die Entfernung schätzt die App aus der Signalstärke, geglättet und über ein Log-Distance-Modell für Innenräume. Das Ergebnis ist grob: Antenne, Körper, Wände und die Lage des Geräts verfälschen das Signal stark. Deshalb zeigt die App keine Meter, nur drei Gruppen: ganz nah, im Raum, weiter weg. Alles Genauere wäre Scheinpräzision.
Bei Trackern war mehr Vorsicht nötig. Tile und Samsung SmartTag geben sich über ihre Dienst-Kennung eindeutig zu erkennen. Ein AirTag dagegen sendet nur Find-My-Nachrichten, und das tun zeitweise auch AirPods im Etui oder ein zugeklapptes MacBook. Die App wartet deshalb zehn Sekunden. Erst wenn ein Gerät in dieser Zeit nichts anderes von sich gibt, gilt es als Tracker. Ob dieser Tracker von seinem Besitzer getrennt ist, kann die App nicht wissen, und sie behauptet es auch nicht.
Ein ruhiges Bild
Auf dem Bildschirm wird jedes Gerät zu einer Kachel, das nächste zuerst. Kommen mehr Geräte dazu, schrumpfen die Kacheln in fünf Stufen, bis zu 140 passen auf eine Wand. Im Ticker darunter bauen sich Sätze Zeichen für Zeichen auf. Zu jeder neuen Entdeckung erscheint eine gelbe Broker-Zeile: was ein Datenhändler aus so einem Gerät ableiten könnte. «Tagesablauf und Aufenthaltsorte» bei einem Telefon, «Gesundheits- und Aktivitätsprofil» bei einer Uhr. Diese Zeile ist die Brücke zu Broken Data.
Der Look ist eng gefasst: 960 × 540 Pixel, genau fünf Farben, Helligkeit nur über Bayer-Dithering, eine eigene 5×7-Pixelschrift, ein leichtes Nachleuchten wie auf einem alten Phosphor-Monitor. Rot ist für Tracker reserviert und kommt sonst nirgends vor.
Jede Kachel trägt eine Glyphe aus 8 × 8 Punkten. Sie wird direkt aus den Bytes des Pakets gefaltet, Zeile für Zeile per XOR. Gleiche Pakete ergeben dasselbe Bild. Die Glyphe ist ein Fingerabdruck der Paketstruktur, aus dem sich die Daten nicht zurückrechnen lassen.
Glitches gibt es, aber nie zufällig. Jeder Effekt antwortet auf ein Ereignis in den Daten: Ein neues Gerät verschiebt einen Block, ein Signalsprung versetzt die Farbkanäle, ein bestätigter Tracker reisst einmal rot quer durchs Bild. Höchstens drei Effekte pro Sekunde, damit das Bild auch für lichtempfindliche Menschen ruhig bleibt (WCAG 2.3.1). Ist in macOS «Bewegung reduzieren» aktiv, entfallen sie ganz.
Was die App nicht tut
Eine App, die von Datensammlung erzählt, darf selbst keine betreiben. Das war die wichtigste Vorgabe.
Nichts wird gespeichert. Alles lebt im Arbeitsspeicher und ist beim Beenden weg. Die einzige Ausnahme ist ein CSV-Export, den ich selbst auslöse und der nur Zahlen pro Kategorie enthält, alle fünf Sekunden.
Kein Netzwerk, keine Telemetrie. Die App spricht mit niemandem.
Namen werden maskiert. Im Ausstellungsmodus, der immer der Standard ist, wird aus «Annas iPhone» ein «[Vorname]'s iPhone». Sichtbar wird nur, dass ein Name gesendet wurde. Der Name selbst löst sich im Ticker aus Zeichenrauschen in die Maske auf.
Keine Kennungen auf dem Bildschirm. Der Teil der App, der zeichnet, bekommt die Gerätekennungen und Rohnamen gar nicht zu sehen.
Für meine eigene Auswertung gibt es einen Forschungsmodus mit Klarnamen und lesbarem Hex-Log. Er lässt sich nur am eingebauten Bildschirm direkt einschalten. Auf einem externen Monitor verlangt er eine Bestätigung, an einem gespiegelten Bildschirm oder Beamer ist er gesperrt. So kann er nicht versehentlich vor Publikum laufen.
Wo die Installation öffentlich steht, hängt ein Hinweisschild. Vor einem öffentlichen Einsatz beziehe ich die Datenschutzstelle ein.
Wofür
Bluetooth-Sonar ist kein Analysewerkzeug und kein Beweismittel. Es soll einen Gegenstand spürbar machen, über den sonst abstrakt gesprochen wird. Die Signale sind öffentlich, technisch gesehen sendet jedes Gerät sie an alle. Und doch lassen sie sich auf Menschen beziehen, über einen Namen, eine Gewohnheit, eine wiederkehrende Kombination von Geräten. In dieser Spannung bewegt sich Broken Data.
Ich erwarte keine Antworten vom Bildschirm. Ich hoffe auf den Moment, in dem jemand davorsteht, seine eigenen Kopfhörer wiedererkennt und eine Frage stellt.
Grenzen
Die Zahlen zählen Geräte, keine Menschen. Verbundene oder ruhende Geräte senden oft nichts und bleiben unsichtbar. Andere tauchen doppelt auf.
Adresswechsel: Geräte wechseln regelmässig ihre Zufallsadresse. Die App vermutet einen Wechsel, verknüpft die beiden Geräte aber bewusst nicht. Kurzzeitig kann ein Gerät deshalb doppelt erscheinen.
Die Klassifizierung ist eine Heuristik. Ein Telefon, das «Tesla» heisst, wird zum Fahrzeug. Apple kann seine Formate mit jeder Systemversion ändern.
Nur Bluetooth LE. Klassisches Bluetooth und WLAN bleiben aussen vor.
Die App läuft auf macOS 15, ohne externe Abhängigkeiten. Für Vorführungen ohne Publikum gibt es einen Demo-Modus mit einem synthetischen Raum von 40 Geräten, ganz ohne echte Signale.