Entre deux serveurs
Quelqu’un sur ton nœud et quelqu’un sur un autre nœud sont, du point de vue de l’application, des personnes ordinaires dans la liste l’une de l’autre. La plupart de ce qui suit leur est invisible.
Être trouvé
Section intitulée « Être trouvé »Une personne est trouvée par son identifiant — son nom sur son serveur d’origine. Son nœud répond avec sa clé d’identité publique et l’endroit où elle vit, et ça suffit à l’autre nœud pour l’adresser.
Personne n’est trouvé par adresse e-mail entre serveurs, et personne n’est listé. Il faut connaître l’identifiant.
Connexions
Section intitulée « Connexions »Tu peux inviter quelqu’un sur un autre nœud à te rejoindre dans une connexion, et cette personne peut t’inviter aussi.
L’invitation est mise en attente de son côté. Rien n’est créé — ni compte, ni connexion, ni appartenance — tant qu’elle ne l’accepte pas elle-même. Accepter est ce qui autorise tout ce qui suit ; un message venu de son serveur seul ne peut pas faire apparaître une connexion sur le tien.
Une fois acceptée, les deux côtés détiennent la connexion et voient des codes qui correspondent. Les membres qui rejoignent ou quittent, et la suppression de la connexion, sont répercutés de l’autre côté.
Une invitation envoyée entre serveurs n’atteint que quelqu’un qui a déjà un compte. Elle n’en crée jamais un. La seule exception est décrite dans Ce qui passe entre les serveurs — un nœud peut proposer l’invitation à trusted.codes à la place, pour que la personne puisse s’y inscrire, et c’est désactivé sauf si l’exploitant l’active.
Vérifier un code
Section intitulée « Vérifier un code »Un code détenu par quelqu’un sur un autre nœud se vérifie normalement. Les mots eux-mêmes ne voyagent pas ; un hash, oui. Le nœud propriétaire du code répond.
Un code invité à usage unique est consommé sur le nœud qui le possède, une seule fois, quel que soit le nombre de serveurs qui interrogent au même instant.
Les balises traversent aussi les serveurs, et sont traitées de la même façon. Une balise est un contrôle de présence plutôt qu’un code à usage unique, donc elle n’est jamais consommée et peut être résolue aussi souvent qu’on la demande. Les sceaux ne voyagent pas entre serveurs ; ils sont résolus par leur propre circuit.
Pages personnelles et liens de partage
Section intitulée « Pages personnelles et liens de partage »Quelqu’un sur un autre nœud peut atteindre ta page personnelle ou un lien de partage et demander à se connecter.
Ton nœud décide. La politique propre au lien s’applique, ta liste d’autorisation s’applique, et si le lien est réglé sur approbation manuelle on te demande ton avis, exactement comme pour quelqu’un sur ton propre serveur. Tes limites d’allocation s’appliquent aussi. Une demande refusée ne laisse rien derrière elle — pas de compte fantôme, pas de ligne en attente, pas de notification.
Supprimer un compte, retirer un appareil
Section intitulée « Supprimer un compte, retirer un appareil »Quand quelqu’un supprime son compte, son nœud le dit aux autres, et chacun retire ce qu’il détenait : appartenances, invitations en attente, trace de cette identité.
Quand un appareil est retiré, le retrait est annoncé pour que les autres nœuds cessent d’accepter quoi que ce soit venant de la clé de cet appareil. Un nœud enregistre le retrait même pour des appareils qu’il n’a jamais vus.
Ce qui ne fonctionne pas entre serveurs
Section intitulée « Ce qui ne fonctionne pas entre serveurs »Certains échanges sont nommés et reconnus mais pas construits. Un nœud qui en reçoit un le refuse et dit à l’expéditeur que ce n’est pas implémenté ; rien n’est à moitié fait et l’expéditeur peut réessayer plus tard, une fois que les deux côtés l’auront.
Pas implémenté aujourd’hui :
- Transférer la propriété d’une connexion à quelqu’un sur un autre nœud, ou la céder.
- Le parrainage — accorder, révoquer ou interroger un droit qu’un nœud accorde à une personne sur un autre.
- Annoncer qu’une clé d’identité a été renouvelée, ou que des détails d’identité ont changé.
- Le circuit de repli plus lent pour livrer un partage quand le circuit direct ne s’appliquait pas, et récupérer un partage laissé en attente sur l’autre serveur.
Ce qu’un exploitant peut désactiver
Section intitulée « Ce qu’un exploitant peut désactiver »Chacune de ces surfaces est un réglage sur le nœud qui la reçoit. Un exploitant peut désactiver la recherche de code, les demandes entrantes sur les liens de partage, les invitations entrantes, les échanges de groupes, ou la découverte elle-même.
Désactivée, la fonctionnalité n’échoue pas bruyamment pour l’autre côté — elle répond comme s’il n’y avait rien là. C’est voulu : un nœud qui ne participe pas ne doit pas annoncer ce qu’il retient.
Les invitations fédérées sont livrées par e-mail, donc un nœud sans transport e-mail configuré garde ces surfaces désactivées tant qu’aucun n’est en place. La découverte fait exception. Un nœud la sert dès son installation, et la désactiver est une décision à part.