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.
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.
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.
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.

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.

