Buttler: was ein gemeinsamer Bildschirm nicht zeigen darf
Ein Haushaltsassistent antwortet auf persönlichen Telefonen, auf dem Fernseher im Wohnzimmer und in Räumen. Wie hält man Mails, Kalender oder Erinnerungen einer Person von den gemeinsamen Bildschirmen fern, auch wenn Gäste im Raum sind?
- Status
- Privat im Einsatz. Der Code ist nicht öffentlich.
- Meine Rolle
- Autor. Buttler ist mein eigenes Projekt.
- Umfang
- Welches Gerät und welcher Raum auf persönliche Daten zugreifen darf und was sich ändert, wenn Gäste da sind
- Zuletzt geprüft
- 29. September 2026
Der Ausgangspunkt
Buttler verwaltet viele hochsensible Informationen. Auf den öffentlicheren Geräten müssen sie eingeschränkt werden, und selbst diese Einschränkung braucht eine zweite Stufe: Manches dürfen die Bewohner wissen, weniger darf mit Menschen ausserhalb des Haushalts geteilt werden, etwa mit Gästen.
Jemand sagt im Wohnzimmer: «Ja, Dienstag passt.» Die falsche Antwort ist: «Tut mir leid, Petra, du hast einen Termin bei deinem Arzt wegen deiner Erkrankung.» Die richtige: «Tut mir leid, Petra, du hast vergessen, dass du von zwei bis drei schon einen Arzttermin hast.»
Wie eine Anfrage eingegrenzt wird
Buttler läuft auf persönlichen Telefonen, auf einem Fernseher, der niemandem gehört, und auf Satelliten in Räumen. Bevor irgendetwas anderes geschieht, entscheidet der Server die Reichweite einer Anfrage: Ein Gerät, das an eine Person gebunden ist, erhält deren Ansicht, ein gemeinsames oder ungebundenes Gerät die Haushaltsansicht.
Entscheide
Die Haushaltsansicht ist eine Allowlist. In der Haushaltsansicht bietet die Engine nur Werkzeuge an, die für den Haushalt eingestuft sind, und ein nicht angebotenes Werkzeug wird abgelehnt, bevor es läuft. Jedes Werkzeug ist nach Zielgruppe und Datenbereich eingestuft; eines, das niemand eingestuft hat, verhindert den Start des Servers. Das hat am 23. September 2026 eine Subtraktion ersetzt. Der Prompt enthält keine Vorlieben, Erinnerungen oder Profile, und ein fester Satz zählt auf, was nicht verfügbar ist, damit das Modell das sagen und auf das eigene Gerät verweisen kann.
Die Reichweite wird vor dem Routing geprüft. Eine Aufgabe für eine bestimmte Person geht nur an deren eigenes Gerät oder an einen nicht gemeinsamen Raumsatelliten, nie an ein gemeinsames oder fremdes Gerät. Die Prüfung läuft vor den Filtern für Raum, Anwesenheit und Bildschirm, damit kein Filter sie umgehen kann. Raum-Aufgaben bleiben unberührt: Ein Raum ist ein Ort, keine Person.
Seiten verraten nicht, was existiert. Eine Seite, die der Server geschrieben hat, wird nur an ein Gerät ausgeliefert, das an die Person dieser Seite gebunden ist. Unbekannte, abgelaufene und nicht erreichbare Seiten erhalten dieselbe Antwort, und ein gemeinsamer Bildschirm zeigt nie einen privaten Verlauf.
Gäste im Raum
Besuch ist ein Zustand, den jemand aus dem Haushalt erklärt. Nichts, was ein Gast sagt, ändert ihn, und Teilnehmerlisten in Kalendereinträgen werden nicht gelesen. Bei Besuch wechselt ein Raum für alle Anwesenden in die Haushaltsansicht, weil der Raum Gäste nicht von Bewohnern unterscheiden kann und alle die Antwort hören. Besuch kann nur einschränken, was die Reichweite erlaubt, nie erweitern. Erinnerungen aus einem Besuch werden keiner Person im Haushalt zugeordnet, und Nachrichten, die Buttler vorher nicht zustellen konnte, werden im Raum nicht angeboten.
Die verworfene Ausnahme. Nur ein Gerät, das an eine Person gebunden ist, ist ausgenommen. Alles auszunehmen, was kein Tischgerät ist, schien einfacher. Aber ein gemeinsamer Fernseher und ein Telefon, das niemand beansprucht hat, haben beide keine Person. Diese Regel hätte ausgerechnet die zwei Geräte ausgenommen, die am ehesten in einem vollen Raum stehen.
Wo das sonst gilt
Dieselbe Frage stellt sich in jedem System, in dem ein Bildschirm mehreren Menschen dient: Welche Daten darf dieses Gerät zeigen, und wo wird das entschieden? Diese Grenze zu prüfen, gehört zu meinen technischen Prüfungen.
Technik: Python / FastAPI, Flutter, .NET 8, Raspberry Pi.