Social Home Haushalts-OS · föderiert · offen

Blog Das Social Home Team

Spaces reden weiter, während der Host schläft

Der GFS-Weg zieht mit direkter Föderation und dem Mesh gleich. Space-Mitglieder veröffentlichen jetzt mit Schreibzertifikaten direkt über den GFS, können im strengen Modus anonym posten, und private Spaces bekommen einen undurchsichtigen Kanal. Alles in Social Home 2026.10.4.

Einladungsdialog mit ausgewähltem GFS-Link und einer Liste aktiver Links, markiert als GFS, Älterer Link und Lokal

Jeder Space in Social Home lebt auf einem Haushalt: seinem Host. Zwischen gekoppelten Haushalten war das nie ein Engpass. Beiträge reisen direkt von einem Zuhause zum anderen oder hüpfen über das Mesh der Haushalte, die ihr beide kennt, und der Host muss für nichts davon wach sein.

Der Weg über den GFS (Global Federation Server – der globale Föderationsserver) — das Relay, das Haushalten hilft, einander zu finden — war anders. Er trägt einen Space zu Haushalten, mit denen du nicht gekoppelt bist: Follower eines globalen Space oder Mitglieder, die einem privaten Space über einen Link beigetreten sind. Auf diesem Weg musste der Host jeden Beitrag signieren und weiterleiten. Wenn der Server des Hosts neu startete, aktualisierte oder einfach offline war, verstummte der Space für alle, die ihn über den GFS erreichten.

Das ist vorbei. Mit Social Home 2026.10.4 veröffentlichen Mitglieder ihre eigenen Beiträge, Kommentare und Reaktionen direkt über den GFS, und der Host muss nicht mehr online sein. Der GFS-Weg funktioniert jetzt so, wie direkte Föderation und das Mesh es immer getan haben. Es hat fünf Pull Requests und eine Menge Protokollarbeit gebraucht, und wir könnten nicht glücklicher damit sein, wie es geworden ist. Und der GFS sieht weiterhin nie, was jemand postet.

Alles in diesem Beitrag betrifft nur den GFS-Weg. Direkte Föderation von Haushalt zu Haushalt und das Mesh sind unverändert.

Mitglieder posten für sich selbst

Wenn ein Haushalt Schreibrechte in einem Space bekommt, bekommt er jetzt dazu einen kleinen, signierten Berechtigungsschein vom Space. Von da an postet er eigenständig direkt über den GFS; der GFS prüft den Schein und reicht den versiegelten Beitrag an alle weiter, die dem Space folgen. Der Host ist nicht mehr beteiligt.

Der GFS sieht weiterhin nichts, was er lesen könnte. Er kann einen Beitrag nicht von einem Kommentar oder einer Reaktion unterscheiden — alle kommen als versiegelte Umschläge in denselben wenigen Größen an. Verlierst du deine Schreibrechte (entfernt, gesperrt, ausgetreten oder auf nur Kommentare eingeschränkt), hört dein Schein im selben Moment auf zu funktionieren. Haushalte auf älteren Versionen bekommen weiterhin jeden Beitrag, weil der Host wie bisher weiterleitet und Empfänger die Duplikate einfach verwerfen.

Unter der Haube

Der Berechtigungsschein ist ein Schreibzertifikat (writer certificate): Der Autoritätsschlüssel des Space signiert {space, key epoch, household key, scope} mit Scope write oder comment — eine Ed25519-Signatur pro schreibendem Haushalt pro Epoche, nie eine pro Beitrag. Ein Mitglied hängt das Zertifikat an und veröffentlicht direkt; der GFS prüft es gegen den Space-Schlüssel, den er gepinnt hat, und verteilt den Eintrag dann als generisches space_item plus Chiffretext an die Follower. Nutzlasten werden auf feste Größenklassen aufgepolstert (1, 4, 16, 64 und 128 KiB), sodass eine Reaktion und ein Beitrag gleich aussehen. Der Verlust von Schreibrechten rotiert die Schlüssel-Epoche, was das alte Zertifikat ungültig macht. Kommentare, Reaktionen, Bearbeitungen und Löschungen reisen auf demselben Weg und dürfen in beliebiger Reihenfolge ankommen: Eine Löschung, die vor ihrem Beitrag ankommt, gewinnt trotzdem, und Bearbeitungen werden über die vom Autor signierte Bearbeitungszeit aufgelöst.

Vertrauend oder streng: der Besitzer entscheidet

Der Besitzer des Space wählt, was der GFS darüber erfahren darf, wer postet.

  • Vertrauend (trusted, der Standard): Der GFS sieht, welcher Haushalt gepostet hat, nie was.
  • Streng (strict): Mitglieder posten anonym. Der GFS kann nicht erkennen, von welchem Haushalt ein Beitrag kam — und nicht einmal, welche Haushalte schreiben dürfen.
Abschnitt „Posten über den GFS“ in den Space-Einstellungen, mit ausgewähltem Vertrauend und beiden Modi in einfachen Worten erklärt
Posten über den GFSNur der Besitzer sieht diese Wahl. Jeder Modus sagt klar, was der GFS erfährt.
Unter der Haube

Im strengen Modus teilen sich alle Schreibenden einen Schreibschlüssel pro Epoche, der aus dem Space-Seed abgeleitet wird. Eine Veröffentlichung trägt keine Haushalts-ID und keine Haushalts-Signatur; das Schreibzertifikat reist im Chiffretext mit. Schreibende abonnieren im selben gemischten Batch wie Follower, sodass der GFS Schreibende nicht von Lesenden trennen kann.

Private Spaces können den GFS auch nutzen

Ein privater Space berührt den GFS normalerweise nie: Seine Mitglieder sind Haushalte, mit denen du gekoppelt bist, und sie erreichen sich direkt oder über das Mesh. Jetzt kann der Besitzer den GFS für einen privaten Space einschalten. Er ist standardmäßig aus. Ist er an, kann jeder mit einem GFS-Link beitreten, ohne sich vorher zu koppeln, und Mitglieder, die nur über den GFS erreichbar sind, bekommen die Beiträge der anderen, während der Host offline ist.

Selbst dann erfährt der GFS nie, welchen Space er transportiert — nicht seinen Namen, nicht seinen Schlüssel, nicht, was darin ist. Er erfährt nur, welche Haushalte teilnehmen.

Niemand wird aus Versehen abgehängt. Solange Haushalte, die über einen GFS-Link beigetreten sind, noch im Space sind, wird das Abschalten des GFS verweigert, und die Einstellungen listen genau, welche Haushalte zuerst zu entfernen sind. Jeder Einladungslink zeigt jetzt seinen Typ: ein GFS-Link für jeden oder ein Lokaler Link, der nur für Haushalte funktioniert, mit denen du schon verbunden bist, und nie den GFS berührt.

Einstellungen eines privaten Space auf dem Handy: „GFS für diesen Space nutzen“ eingeschaltet, mit der Erklärung, was An und Aus jeweils bedeuten
Der Schalter des BesitzersAn und Aus sagen jeweils, was Mitglieder bekommen und was der GFS sieht.
Unter der Haube

Ein privater Space mit eingeschaltetem GFS wird auf dem Relay durch eine zufällige 128-Bit-Kanal-ID mit eigenem Schlüssel dargestellt, per HKDF abgeleitet, sodass sie sich nicht auf den Space-Schlüssel zurückführen lässt. Der GFS sieht die Mitglieds-Haushalte auf diesem Kanal, nie die ID, den Namen, den Schlüssel oder den Inhalt des Space.

Der GFS erfährt weniger denn je

Wo wir schon dabei waren, haben wir den GFS auf ganzer Linie weniger sehen lassen:

  • Eine Space-Synchronisation verrät dem GFS nichts. Einen Space direkt mit einem anderen Haushalt zu synchronisieren bezieht den GFS überhaupt nicht mehr ein, es gibt also keine Aufzeichnung, wer wann synchronisiert hat.
  • Der GFS erfährt nie, wer weitergeleitet hat. Space-Ereignisse gehen ohne jede Haushaltsidentität hinaus.
  • Einladungslink-Verkehr ist aufgepolstert. Der GFS sieht eine ungefähre Größe, nie die genaue.
  • Ausfälle verlieren keine Ereignisse. Hat der GFS einen Schluckauf, versucht es dein Haushalt weiter. Nachrichten an Mitglieder, die kurz nicht erreichbar sind, werden zurückgehalten und gesendet, sobald sie zurück sind.
Unter der Haube

Direkte Synchronisationen fragten den GFS früher nach einem Signalisierungsknoten, den niemand nutzte; dieser Aufruf ist weg. Die alte identifizierte Veröffentlichung ist entfernt: Space-Ereignisse gehen als {space_id, event_type, payload} auf einer Sitzung ohne Cookies und ohne Haushalts-ID hinaus. Umschläge an Mitglieder, die per Link beigetreten sind, werden auf Größenklassen aufgepolstert. Veröffentlichungen, die auf einen GFS-Fehler stoßen, werden mit Backoff wiederholt (5 s, 30 s, 2 min, 10 min), und der GFS puffert Frames für Offline-Empfänger bis zu 24 Stunden.

Verbinden beim Einrichten

Der letzte Schritt der Willkommenstour bietet jetzt an, deinen Haushalt mit dem GFS von Social Home zu verbinden. Das Kästchen ist nicht angekreuzt, es wird also nichts gesendet, solange du es nicht ankreuzt. Es sagt in einfachen Worten, was der GFS dir ermöglicht und was er sehen kann, und die App prüft, dass es wirklich der GFS von Social Home ist, bevor sie sich verbindet.

Einrichtungsschritt „Mit dem GFS verbinden“: was er ermöglicht, was der GFS sehen kann, und ein nicht angekreuztes Kästchen, um diesen Haushalt zu verbinden
Opt-in, nicht angekreuztAufgenommen gegen einen lokalen Test-GFS. In der App steht als Adresse gfs.social-home.io.

Probier es aus

All das steckt in Social Home 2026.10.4. Ältere Haushalte funktionieren weiter: Auf dem GFS-Weg fallen sie einfach auf den Host zurück, bis sie aktualisieren, und direkte Föderation bleibt so oder so unberührt. Neugierig, wie der GFS hineinpasst? Lies Globale Spaces oder betreib selbst einen GFS.