O TatuChat é um aplicativo cliente baseado no FluffyChat, disponível para Android, Linux, Web e Windows. Nosso compromisso é com a sua privacidade e segurança.
O Protocolo Matrix
O TatuChat utiliza o protocolo Matrix. Isso significa que o aplicativo é apenas um cliente que pode ser conectado a qualquer servidor Matrix compatível. A responsabilidade pelo tratamento dos dados nos servidores recai sobre o respectivo acordo de proteção de dados do servidor escolhido pelo usuário.
Os desenvolvedores do TatuChat não garantem a confiabilidade de servidores de terceiros. O TatuChat comunica-se exclusivamente com o servidor selecionado pelo usuário e com serviços de mapa (como OpenStreetMap) quando a função de localização é ativada. Mais informações em: matrix.org.
Banco de Dados Local
O TatuChat armazena em cache alguns dados recebidos do servidor em um banco de dados local (sqflite no mobile/desktop, ou IndexedDB na versão Web) no dispositivo do usuário.
O aplicativo tenta sempre criptografar esse banco de dados local utilizando SQLCipher, armazenando a chave de criptografia de forma segura no armazenamento protegido do dispositivo (Secure Storage / Keychain). Isso garante que, mesmo que alguém tenha acesso físico ao seu aparelho, seus dados em cache permaneçam protegidos.
Criptografia e Segurança
Toda a comunicação de conteúdo entre o TatuChat e qualquer servidor é feita de forma segura, utilizando criptografia de transporte (TLS) para protegê-la em trânsito.
Além disso, o TatuChat utiliza Criptografia de Ponta-a-Ponta (E2EE) utilizando a biblioteca Vodozemac, habilitada por padrão para chats privados. Uma vez habilitada em uma sala, a criptografia não pode ser desativada, e o servidor perde completamente a capacidade de ler o conteúdo de suas mensagens, fotos ou arquivos.
Notificações Push
Para fornecer alertas em tempo real em dispositivos móveis, o TatuChat utiliza serviços de Push (como Firebase Cloud Messaging no Android). O fluxo ocorre da seguinte forma para minimizar a exposição de dados:
- O formato utilizado para o push é o
event_id_only. - Isso significa que o servidor envia apenas um ID de Evento, ID da Sala, contagem de mensagens não lidas e identificação do dispositivo.
- Nenhum conteúdo da mensagem (texto ou mídia) transita pelo serviço de Push de terceiros (como Google/Firebase).
- O aplicativo é acordado em segundo plano e busca o conteúdo diretamente e de forma segura (criptografada) do servidor Matrix.
Permissões do Aplicativo
Para funcionar corretamente, o aplicativo solicita as seguintes permissões nos dispositivos:
- Acesso à Internet: Essencial para comunicar-se com o Servidor Matrix.
- Vibração: Utilizada para notificações locais.
- Gravar Áudio: Necessário apenas se você desejar enviar mensagens de voz nos chats.
- Armazenamento (Ler/Escrever): Necessário para enviar arquivos (fotos, vídeos) do seu dispositivo e para salvar mídias recebidas no seu aparelho.
- Localização: Solicitada apenas se você usar a função de compartilhar sua localização atual em uma conversa. Os dados de GPS são enviados via Matrix, sujeitos à mesma criptografia do chat.
- Câmera: Para tirar fotos diretamente no app ou ler QR Codes de verificação de chaves de criptografia cruzada.
Termos de Uso (Resumo)
O TatuChat é um aplicativo cliente para a rede de mensagens Matrix. Ele não fornece nem opera servidores de mensagens próprios.
Os desenvolvedores do TatuChat (fork baseado no FluffyChat) não se responsabilizam por quaisquer danos, perda de dados, interrupções de serviço ou outros problemas decorrentes do uso do aplicativo ou dos servidores aos quais você se conecta. Ao usar o TatuChat, você concorda em usar o aplicativo em conformidade com as leis aplicáveis e as políticas do servidor escolhido.
O TatuChat é um software de código aberto, e seu desenvolvimento é voltado para a comunidade. Se você encontrar vulnerabilidades ou tiver dúvidas sobre o tratamento de dados, por favor, utilize o repositório oficial no Gitea para abrir uma Issue.