Possono leggerlo solo tu e i tuoi destinatari

Cryptico è una messaggistica anonima per web, Android e iPhone: nessun numero di telefono, nessuna e-mail, nessun nome reale. Ogni messaggio è cifrato end-to-end e il codice del server non è in grado di decifrarne nemmeno uno, neanche se lo volessimo.

Senza registrazione e senza numero di telefono: si apre direttamente nel browser.

Il client web in una finestra larga del browser: a sinistra un elenco di chat, a destra una conversazione di gruppo aperta.

Un account è una frase, non una persona

Per iscriverti non serve nulla. Cryptico genera un'identità casuale e una frase di recupero di dodici parole, e quella frase è l'account: ogni tua chiave deriva da lì. Nessun numero da verificare, nessun indirizzo da confermare, nessun profilo che colleghi tutto questo a te. Il nome utente è facoltativo: prendine uno se vuoi farti trovare, lascia perdere se non vuoi.

01

Quattro cose per cui possiamo davvero metterci la faccia

  • 01

    Il server non può leggere i tuoi messaggi

    È una proprietà della compilazione, non una politica. Nel binario del server non finisce nemmeno la definizione del corpo di un messaggio, quindi non contiene alcun percorso di codice capace di decifrarlo. Un controllo nella nostra pipeline fa fallire la build se questo smette di essere vero.

    check-proto-content-boundary.mjs
  • 02

    Mai identificatori del mondo reale

    Nessun numero di telefono, nessun indirizzo e-mail, nessun nome reale: né nell'app, né nel database, né nel protocollo. Un controllo automatico respinge qualsiasi modifica che ne aggiunga uno. Un campo per il numero di telefono era finito una volta in una bozza della scheda contatto; è stato rimosso e il suo posto ritirato per sempre.

    check-forbidden-columns.mjs
  • 03

    Signal Protocol, con accordo di chiavi post-quantistico

    PQXDH per l'handshake, il Double Ratchet per i messaggi, le Sender Keys per i gruppi. Ogni sessione aggiunge uno scambio post-quantistico Kyber-1024 sopra quello classico — non come opzione, ma in ogni handshake — così il traffico registrato oggi non diventerà leggibile per un futuro computer quantistico. Ciò che segue l'handshake è crittografia convenzionale: per questo parliamo di accordo di chiavi post-quantistico e non lo rivendichiamo per l'intero percorso.

    libsignal · PQXDH · Kyber-1024
  • 04

    Chiamate che nemmeno i nostri server possono ascoltare

    Le chiamate uno a uno passano direttamente tra i dispositivi; nessun server tocca il flusso. Le chiamate di gruppo attraversano il nostro server multimediale, ma ogni fotogramma è cifrato prima di arrivarci, con una chiave che quel server non riceve mai. Un controllo di build tiene le chiavi multimediali completamente fuori dal codice del server.

    check-call-media-key-boundary.mjs
02

Che cosa ci puoi fare davvero

Una messaggistica, non una dimostrazione. Tutto ciò che è in elenco è nel prodotto, su ogni piattaforma in cui ha senso.

  • Chat che si comportano da chat

    Testo con menzioni, risposte, modifiche, eliminazione per tutti, reazioni, inoltro, selezione multipla e segnalibri personali. Conferme di consegna e di lettura, indicatore di scrittura, bozze, ricerca in una chat e in tutte insieme. Sondaggi, liste di controllo, un punto sulla mappa e una scheda contatto quando il testo semplice non basta.

  • Gruppi fino a 128 persone

    Crea un gruppo, aggiungi e rimuovi persone, invita con un link dotato di scadenza e limite di utilizzi, menziona una persona o tutti. Il server distribuisce i messaggi e non viene mai a sapere il nome del gruppo, la sua descrizione o a chi l'hai intitolato.

  • File, foto e voce

    Otto tipi di allegato fino a 100 MiB ciascuno — foto, video, messaggio vocale, video messaggio, file, GIF, sticker, audio — con album e contenuti nascosti. Ogni file è chiuso sul tuo dispositivo con una chiave monouso propria e verificato contro manomissioni prima di essere aperto.

  • Mini-app dentro la messaggistica

    Un catalogo, installazione con un tocco e un ambiente di esecuzione isolato, più una console per sviluppatori e un pulsante di segnalazione anonima. Un'app la cui somma di controllo non corrisponde al manifesto non parte affatto.

  • Un blocco che blocca sul serio

    Il messaggio di un mittente bloccato non ti raggiunge mai in una chat privata, e lui non scopre mai che non è arrivato. Un blocco dura 180 giorni, e ogni tentativo di scriverti lo prolunga.

  • Fino a dieci dispositivi su un account

    Collega un nuovo dispositivo con la frase, guarda l'elenco completo, scollegane uno qualsiasi — anche quando non ti resta più alcuna sessione funzionante. Contatti, cartelle, elenco chat, blocchi e impostazioni viaggiano cifrati. Il tuo archivio dei messaggi in gran parte no: quello sta sotto «ciò che non promettiamo».

03

Chiamate, a due e in gruppo

Audio e video, fotocamera frontale e posteriore, fino a otto riquadri video insieme, mano alzata, condivisione dello schermo, indicatori di microfono e fotocamera su ogni riquadro. Il flusso passa da un relay per impostazione predefinita, così l'altra parte non vede il tuo indirizzo.

Una chiamata di gruppo con quattro partecipanti; uno di loro ha la mano alzata.Una chiamata di gruppo su un telefono.
04

Cartelle, chat fissate e chat silenziose

Cartelle basate su regole, chat fissate, chat silenziate, una vista dei media condivisi e un banner di connessione che dice la verità sul tuo collegamento. Una menzione passa comunque attraverso una chat silenziata: è voluto.

L'editor delle cartelle, con le regole di filtro che decidono quali chat vi finiscono.L'elenco delle chat su un telefono, con la schermata per creare un nuovo gruppo.
05

Come funziona davvero

La versione breve, per chi preferisce verificare invece di fidarsi.

Impostazioni di privacy: conferme di lettura, un PIN e un timer di blocco automatico.Impostazioni di privacy su un telefono: sblocco biometrico, blocco automatico e il numero di sicurezza usato per verificare un contatto.
Handshake
PQXDH: Curve25519 più una pre-chiave Kyber-1024, in ogni singola sessione, così l'accordo di chiavi è resistente al quantistico fin dal primo messaggio.
Messaggi
Il Double Ratchet: ogni messaggio fa avanzare le chiavi, così una chiave recuperata in seguito non apre ciò che è venuto prima.
Gruppi
Sender Keys, fino a 128 membri. Il server conosce l'elenco dei membri perché deve distribuire i messaggi; il nome del gruppo non lo conosce.
Chiamate di gruppo
I fotogrammi vengono cifrati prima di raggiungere il nostro server multimediale. La chiave la genera il dispositivo che avvia la chiamata, la distribuisce la messaggistica stessa, e cambia ogni volta che qualcuno entra o esce.
File e foto
AES-256-GCM con una chiave nuova per ogni file, trasportata dentro la busta cifrata, e una verifica SHA-256 prima di decifrare qualunque cosa. L'archivio conserva byte che non è in grado di interpretare.
Sul tuo dispositivo
Il database locale dei messaggi è cifrato a riposo: SQLCipher su Android e iPhone, AES-256-GCM nel browser.
La tua frase di recupero
Dodici parole. Ogni chiave dell'account deriva da lì: BIP39, poi Argon2id con 64 MiB e tre passate per ogni tentativo, ed è questo a rendere la forza bruta antieconomica. Il server non conserva nulla che possa invertirla.
Verificare la persona
Un numero di sicurezza di 60 cifre per ogni conversazione e un codice di sei cifre mostrato durante una chiamata, perché uno di voi due lo legga ad alta voce. Il codice della chiamata è calcolato solo da quella connessione, quindi è diverso ogni volta.
Blocco dell'app
Un PIN di quattro cifre avvolto in Argon2id e AES-256-GCM, cinque tentativi, biometria dove il dispositivo la offre e un blocco automatico dopo l'inattività. Il PIN apre il dispositivo; la frase possiede l'account.
Impostazioni e contatti
Sincronizzati come testo cifrato sotto una chiave derivata dalla tua frase di recupero: perfino il nome di ogni record è un hash con chiave anziché testo. Il server conserva blob opachi, non campi.
Librerie
Android e iPhone usano la libreria ufficiale di Signal. Per i browser Signal non ne pubblica alcuna build, perciò il motore web lo compiliamo noi dai sorgenti di Signal, fissati a una versione esatta — una riga cambiata perché compili qui, e nulla toccato nella crittografia.
06

Ciò che non promettiamo

La pagina iniziale di ogni messaggistica racconta che cosa protegge. Questa racconta anche che cosa non protegge, perché le parti che non possiamo sistemare sono quelle che ti servono di più.

  • Possiamo vedere chi parla con chi

    La crittografia end-to-end nasconde ciò che dici, non il fatto che l'hai detto. Per consegnare un messaggio il server deve sapere chi lo riceve e quando. Conserva anche la composizione dei gruppi, perché senza di essa la distribuzione è impossibile. Non possiamo sostenere onestamente di non sapere chi parla con chi. Quello che possiamo sostenere è che il contenuto non lo vediamo mai e che il codice del server non è nemmeno in grado di interpretarlo.

  • Le notifiche push rivelano i tempi a Google e Apple

    Le notifiche su Android passano da Firebase Cloud Messaging e quelle su iPhone dal servizio di Apple. La notifica non porta testo né mittente, ma il trasportatore vede quale dispositivo è stato svegliato e a che ora, e tanto basta per ricostruire chi parla con chi correlando i tempi. L'anonimato dell'account non copre il fatto e l'orario della comunicazione finché la sveglia arriva dal servizio di qualcun altro.

  • La tua cronologia ti segue a malapena

    Accedendo da un nuovo dispositivo recuperi identità, profilo, contatti, cartelle, elenco chat, blocchi e parte delle impostazioni, ma non l'archivio dei messaggi. Le persone con cui parli ne rimandano una fetta superficiale, non più profonda di trenta giorni, e questo è tutto. Non esiste un backup della cronologia lato server: è una scelta di progetto.

  • Se perdi la frase, nessuno può aiutarti

    L'assistenza non può farti rientrare, perché dalla nostra parte non c'è nulla con cui farlo: nessun numero, nessun indirizzo, nessun suggerimento per la password. Dodici parole sono l'intero account. È il prezzo di tutto il resto di questa pagina, e preferiamo che tu lo sappia prima di iscriverti, non dopo.

  • Teniamo dei registri, ma non su di te

    Teniamo registri operativi del servizio, senza contenuto dei messaggi, senza corpi cifrati, senza chiavi e senza frasi di recupero. «Nessun registro» sarebbe falso; «nessun contenuto nei registri» è vero, ed è questa la promessa che facciamo.

07

Dove funziona

Una conversazione di gruppo aperta su un telefono.Una chiamata di gruppo su un telefono.Una schermata di invito su un telefono, con un codice QR e un codice di invito da passare.
08

Le domande che la gente fa davvero

Quanto costa?

Niente. Non c'è un piano a pagamento, non ci sono pubblicità né vendite aggiuntive: gli unici limiti sono tecnici, come 100 MiB per file e trenta giorni di conservazione per quel file. Se un piano a pagamento dovesse mai arrivare, lo diremo prima, non dopo.

Il codice è pubblico?

Non ancora. Sarà pubblicato quando lo sviluppo si sarà assestato. Fino a quel giorno non ci descriviamo come software a sorgente aperto: non potresti verificare l'affermazione, e non ti chiederemo di prenderla per fede. Quando il repository diventerà pubblico, il suo indirizzo sarà proprio qui.

Che succede se perdo la frase di recupero?

L'account è perduto. Non c'è un link di reimpostazione né un modo per l'assistenza di farti rientrare: una via di recupero controllata da noi sarebbe una via d'ingresso anche per qualcun altro.

Chi può scrivermi?

Serve il tuo nome utente, un link di invito che hai consegnato o il tuo codice QR. Se preferisci non farti trovare affatto, non prendere un nome utente. Puoi bloccare chiunque, e un mittente bloccato smette di raggiungerti.

Posso controllare di parlare con la persona giusta?

Sì, in due modi. Ogni conversazione ha un numero di sicurezza di 60 cifre che entrambe le parti possono confrontare una volta, e durante una chiamata i due schermi mostrano lo stesso codice di sei cifre: uno lo legge ad alta voce, l'altro verifica. Il codice della chiamata è nuovo a ogni chiamata.

Posso usarlo su più di un dispositivo?

Sì, fino a dieci. Ognuno si collega con la frase di recupero, e ognuno può essere scollegato dall'elenco. Contatti, cartelle, elenco chat e impostazioni arrivano cifrati; il tuo archivio dei messaggi in gran parte no.

Mi profilate o vendete qualcosa?

Non ci sono pubblicità né vendita di dati. Questa pagina non porta alcuna analitica e nessuno script di terze parti: non parte una sola richiesta verso il server di qualcun altro.

Avvisami quando è pronto

Un messaggio, il giorno in cui ci sarà qualcosa che valga la pena installare. Nessuna newsletter, nessuna sequenza di e-mail e nessun servizio di invio esterno: l'indirizzo resta nel nostro database e non va da nessun'altra parte.

Non inviamo una conferma, quindi un refuso significa silenzio. Controlla l'indirizzo prima di inviarlo.