Zwischen zwei Servern
Jemand auf deinem Knoten und jemand auf einem anderen Knoten sind, aus Sicht der App, gewöhnliche Personen in der Liste des jeweils anderen. Das meiste davon bleibt für sie unsichtbar.
Gefunden werden
Abschnitt betitelt „Gefunden werden“Eine Person wird über ihr Handle gefunden — ihren Namen bei ihrem Heimatserver. Ihr Knoten antwortet mit ihrem Identitätsschlüssel und dem Ort, an dem sie lebt, und das reicht dem anderen Knoten, um sie zu adressieren.
Niemand wird über Server hinweg per E-Mail-Adresse gefunden, und niemand wird aufgelistet. Du musst das Handle kennen.
Verbindungen
Abschnitt betitelt „Verbindungen“Du kannst jemanden auf einem anderen Knoten in eine Verbindung einladen, und diese Person kann dich einladen.
Die Einladung wird auf ihrer Seite zwischengelagert. Nichts entsteht — kein Konto, keine Verbindung, keine Mitgliedschaft — bis sie selbst annimmt. Das Annehmen ist es, was alles Weitere autorisiert; eine Nachricht von ihrem Server allein kann auf deinem keine Verbindung erscheinen lassen.
Ist die Einladung erst angenommen, halten beide Seiten die Verbindung und sehen beide passende Codewörter. Mitglieder, die beitreten oder gehen, sowie das Löschen der Verbindung, werden zur anderen Seite übertragen.
Eine über Server hinweg gesendete Einladung erreicht nur jemanden, der bereits ein Konto hat. Sie legt nie eines an. Die eine Ausnahme ist unter Was zwischen Servern übertragen wird beschrieben — ein Knoten kann die Einladung stattdessen an trusted.codes weiterreichen, damit sich die Person dort registrieren kann, und das ist abgeschaltet, sofern der Betreiber es nicht einschaltet.
Einen Code verifizieren
Abschnitt betitelt „Einen Code verifizieren“Ein Code, den jemand auf einem anderen Knoten hält, wird ganz normal verifiziert. Die Wörter selbst werden nicht gesendet; ein Hash wird gesendet, und der Knoten, dem der Code gehört, antwortet.
Ein einmal verwendbarer Gastcode wird auf dem Knoten, dem er gehört, genau einmal verbraucht, egal wie viele Server gleichzeitig anfragen.
Beacons überqueren ebenfalls Server und werden auf dieselbe Weise beantwortet. Ein Beacon ist eine Lebendigkeitsprüfung und kein Einmalcode, deshalb wird er nie verbraucht und kann so oft aufgelöst werden, wie danach gefragt wird. Siegel reisen nicht über Server hinweg; sie werden über ihre eigene Route aufgelöst.
Persönliche Seiten und Freigabelinks
Abschnitt betitelt „Persönliche Seiten und Freigabelinks“Jemand auf einem anderen Knoten kann deine persönliche Seite oder einen Freigabelink erreichen und um eine Verbindung bitten.
Dein Knoten entscheidet. Die eigene Richtlinie des Links gilt, deine Zulassungsliste gilt, und wenn der Link auf manuelle Genehmigung gestellt ist, wirst du gefragt — genau wie bei jemandem auf deinem eigenen Server. Auch deine Mengenbegrenzungen gelten. Eine abgelehnte Anfrage hinterlässt nichts — kein Schattenkonto, keine schwebende Zeile, keine Benachrichtigung.
Konto löschen, Gerät entfernen
Abschnitt betitelt „Konto löschen, Gerät entfernen“Wenn jemand sein Konto löscht, sagt sein Knoten es den anderen, und jeder entfernt, was er dazu gespeichert hatte: Mitgliedschaften, zwischengelagerte Einladungen, den Datensatz dieser Identität.
Wird ein Gerät entfernt, wird die Entfernung angekündigt, damit andere Knoten nichts mehr vom Schlüssel dieses Geräts akzeptieren. Ein Knoten verzeichnet die Entfernung selbst für Geräte, die er nie gesehen hat.
Was über Server hinweg nicht funktioniert
Abschnitt betitelt „Was über Server hinweg nicht funktioniert“Manche Vorgänge sind benannt und werden erkannt, aber sind nicht gebaut. Ein Knoten, der so einen empfängt, lehnt ihn ab und teilt dem Absender mit, dass er nicht implementiert ist; nichts bleibt halb erledigt, und der Absender kann es später erneut versuchen, sobald beide Seiten ihn haben.
Heute nicht implementiert:
- Das Übertragen des Eigentums an einer Verbindung auf jemanden bei einem anderen Knoten, oder ihre Übergabe.
- Sponsoring — das Gewähren, Widerrufen oder Erfragen einer Berechtigung, die ein Knoten einer Person auf einem anderen gibt.
- Die Ankündigung, dass ein Identitätsschlüssel rotiert wurde, oder dass sich Identitätsdetails geändert haben.
- Der langsamere Ausweichweg, um eine Freigabe zuzustellen, wenn der direkte nicht griff, sowie das Abholen einer Freigabe, die auf dem anderen Server wartend liegen geblieben ist.
Was ein Betreiber abschalten kann
Abschnitt betitelt „Was ein Betreiber abschalten kann“Jede dieser Schnittstellen ist eine Einstellung auf dem Knoten, der sie empfängt. Ein Betreiber kann die Code-Abfrage, eingehende Ansprüche auf Freigabelinks, eingehende Einladungen, Gruppenaustausch oder das Auffinden selbst abschalten.
Abgeschaltet schlägt die Funktion für die andere Seite nicht laut fehl — sie antwortet, als gäbe es dort nichts. Das ist Absicht: Ein Knoten, der nicht teilnimmt, soll nicht anzeigen, was er zurückhält.
Föderierte Einladungen werden per E-Mail zugestellt, deshalb bleiben diese Schnittstellen bei einem Knoten ohne konfigurierten E-Mail-Transport abgeschaltet, bis einer eingerichtet ist. Das Auffinden ist die Ausnahme. Ein Knoten stellt es ab dem Moment der Installation bereit, und es abzuschalten ist eine eigene Entscheidung.