O que o servidor sabe sobre si
Comecemos pelo básico. O servidor do Solo2 sabe exatamente três coisas sobre si: o seu nome de utilizador, o seu identificador único e um hash da sua palavra-passe. Um hash é uma transformação matemática irreversível — o servidor pode verificar que a sua palavra-passe está correta sem saber qual é. A sua palavra-passe real só existe na sua cabeça e no seu dispositivo.
E é isso. O servidor não sabe com quem fala. Não sabe quantos túneis tem. Não sabe os nomes dos seus contactos. Essa informação só existe dentro do seu cofre, encriptada no seu dispositivo. O servidor não conseguiria abri-la mesmo que quisesse.
As caixas de correio
Imagine uma parede com caixas de correio numeradas, como numa estação de correios antiga. Quando a sua app quer ligar-se a alguém, deixa uma nota numa caixa de correio dizendo 'Quero falar com o utilizador X'. Nada mais. Não diz quem é. Não diz sobre o que quer falar. Apenas uma nota numa caixa de correio.
Periodicamente, todas as apps ligadas ao Solo2 verificam as caixas de correio para ver se alguém deixou uma nota para elas. É como parar na estação de correios e perguntar: 'Há alguma coisa para mim?'. Se o seu contacto encontra a sua nota, pede ao servidor o endereço IP que deixou. O servidor fornece-o, e essa informação é apagada da memória imediatamente. Nunca é escrita em nenhum disco. Vive na memória temporária do servidor durante os milissegundos necessários para responder.
A partir desse ponto, o servidor desaparece
Quando ambos os dispositivos sabem o endereço um do outro, falam diretamente entre si. O servidor já não participa. Não retransmite mensagens. Não as armazena. Não sabe se a ligação foi estabelecida ou não. Não sabe quanto tempo dura. Não sabe quantas mensagens são trocadas nem qual o seu tamanho.
Tanto que, se o servidor se desligasse nesse momento, os dois utilizadores continuariam a falar exatamente da mesma forma. A conversa não depende do servidor. Só dependia dele para que os dois dispositivos se encontrassem. Uma vez ligados, o servidor é irrelevante.
A conversa é segura antes mesmo de começar
Quando duas pessoas criam um túnel no Solo2, os seus dispositivos trocam chaves criptográficas públicas. A partir desse momento, cada mensagem é encriptada com a chave do destinatário — e só o destinatário a pode desencriptar. Isto acontece antes de qualquer conversa começar. As chaves estão prontas desde o momento em que o túnel é criado.
É por isso que, quando os dois dispositivos se ligam diretamente, a comunicação já está protegida. Não precisam de negociar nada. Não precisam de pedir permissão ao servidor. As chaves são deles, nos seus dispositivos, e mais ninguém as tem.
O que isto significa na prática
Significa que não há registo das suas conversas em nenhum servidor. Sem metadata para analisar. Sem histórico para entregar a uma ordem judicial. Sem base de dados para hackear. O servidor do Solo2 não pode entregar o que não tem. E não tem nada porque nunca teve.
Da próxima vez que alguém lhe disser que uma app 'encripta as suas mensagens ponto a ponto', pergunte o que acontece com tudo o resto. Quem sabe com quem fala. Quem sabe a que horas. Quem sabe com que frequência. Se a resposta for 'o nosso servidor, mas não o usamos para nada mau' — isso é uma promessa. No Solo2, a resposta é diferente: ninguém sabe. Porque não há ninguém a quem perguntar.