Tra due server
Qualcuno sul tuo nodo e qualcuno su un altro nodo sono, dal punto di vista dell’app, persone comuni nella lista l’uno dell’altro. Quasi tutto quello che segue è invisibile a loro.
Essere trovati
Sezione intitolata “Essere trovati”Una persona si trova tramite il suo handle — il suo nome presso il suo server di origine. Il suo nodo risponde con la sua chiave di identità pubblica e dove vive, ed è sufficiente perché l’altro nodo la raggiunga.
Nessuno è trovabile tramite l’indirizzo email tra server, e nessuno compare in un elenco. Devi conoscere l’handle.
Connessioni
Sezione intitolata “Connessioni”Puoi invitare in una connessione qualcuno su un altro nodo, e lui può invitare te.
L’invito resta in sospeso sul loro lato. Non viene creato nulla — nessun account, nessuna connessione, nessuna appartenenza — finché non lo accettano loro stessi. Accettare è ciò che autorizza tutto il resto; un messaggio dal loro server da solo non può far comparire una connessione sul tuo.
Una volta accettato, entrambi i lati custodiscono la connessione ed entrambi vedono parole di codice corrispondenti. I membri che entrano e escono, e l’eliminazione della connessione, vengono trasmessi all’altro lato.
Un invito inviato tra server raggiunge solo chi ha già un account. Non ne crea mai uno. L’unica eccezione è descritta in Che cosa passa tra i server — un nodo può offrire l’invito a trusted.codes così che la persona possa registrarsi lì, ed è disattivato a meno che l’operatore non lo attivi.
Verificare un codice
Sezione intitolata “Verificare un codice”Un codice posseduto da qualcuno su un altro nodo si verifica normalmente. Le parole stesse non vengono inviate; viene inviato un hash, e risponde il nodo che possiede il codice.
Un codice ospite monouso viene consumato sul nodo che lo possiede, una sola volta, per quanti server lo chiedano nello stesso momento.
Anche i fari attraversano i server e ricevono risposta allo stesso modo. Un faro è un controllo di presenza piuttosto che un codice monouso, quindi non viene mai consumato e può essere risolto tutte le volte che viene chiesto. I sigilli non attraversano i server; vengono risolti tramite la loro rotta propria.
Pagine personali e link condivisibili
Sezione intitolata “Pagine personali e link condivisibili”Qualcuno su un altro nodo può raggiungere la tua pagina personale o un link condivisibile e chiedere di connettersi.
Decide il tuo nodo. Si applica la politica propria del link, si applica la tua allowlist, e se il link è impostato su approvazione manuale ti viene chiesto, esattamente come per qualcuno sul tuo stesso server. Si applicano anche i tuoi limiti di consenso. Una richiesta rifiutata non lascia nulla dietro di sé — nessun account ombra, nessuna riga in sospeso, nessuna notifica.
Eliminare un account, rimuovere un dispositivo
Sezione intitolata “Eliminare un account, rimuovere un dispositivo”Quando qualcuno elimina il proprio account, il suo nodo lo comunica agli altri, e ciascuno rimuove ciò che aveva: appartenenze, inviti in sospeso, il record di quell’identità.
Quando un dispositivo viene rimosso, la rimozione viene annunciata così che gli altri nodi smettano di accettare qualsiasi cosa dalla chiave di quel dispositivo. Un nodo registra la rimozione anche per dispositivi che non ha mai visto.
Che cosa non funziona ancora tra server
Sezione intitolata “Che cosa non funziona ancora tra server”Alcuni scambi sono definiti e riconosciuti ma non ancora costruiti. Un nodo che ne riceve uno lo rifiuta e comunica al mittente che non è implementato; niente resta a metà e il mittente può riprovare più avanti, quando entrambi i lati lo avranno.
Non implementato oggi:
- Trasferire la proprietà di una connessione a qualcuno su un altro nodo, o cederla.
- Sponsorizzazione — concedere, revocare o chiedere informazioni su un diritto che un nodo dà a una persona su un altro.
- Annunciare che una chiave di identità è stata ruotata, o che i dettagli dell’identità sono cambiati.
- La rotta di fallback più lenta per consegnare una condivisione quando quella diretta non si applica, e raccogliere una condivisione lasciata in attesa sull’altro server.
Che cosa un operatore può disattivare
Sezione intitolata “Che cosa un operatore può disattivare”Ciascuna di queste superfici è un’impostazione sul nodo che la riceve. Un operatore può disattivare la ricerca dei codici, le richieste in entrata sui link condivisibili, gli inviti in entrata, gli scambi di gruppo, o la discovery stessa.
Disattivata, la funzione non fallisce rumorosamente per l’altro lato — risponde come se non ci fosse nulla. È voluto: un nodo che non partecipa non deve pubblicizzare che cosa sta trattenendo.
Gli inviti federati vengono consegnati via email, quindi un nodo senza trasporto email configurato tiene disattivate quelle superfici finché non ne ha uno. La discovery fa eccezione. Un nodo la serve dal momento in cui viene installato, e disattivarla è una decisione separata.