Comunicação segura e privada para todos

Sobre o Chatting

O Chatting é um aplicativo de mensagens instantâneas desenvolvido com foco em privacidade, segurança e facilidade de uso. Nossa missão é proporcionar uma plataforma de comunicação que respeite integralmente a privacidade dos usuários, mantendo seus dados seguros e sob seu controle.

Compromisso com a privacidade: Seus dados pertencem apenas a você. Não compartilhamos, vendemos ou fornecemos suas informações para terceiros, instituições ou governos.

Política de Privacidade

Coleta de Dados

O Chatting coleta apenas os dados mínimos necessários para o funcionamento do serviço:

Armazenamento de Dados

Todos os dados são armazenados localmente no seu dispositivo usando criptografia SQLite. As mensagens são criptografadas de ponta a ponta, o que significa que apenas você e o destinatário podem ler o conteúdo das mensagens.

Suas mensagens são armazenadas exclusivamente no seu dispositivo. Nossos servidores funcionam apenas como intermediários temporários para entrega de mensagens e não mantêm registros permanentes das conversas.

Não Compartilhamento de Dados

O Chatting tem um compromisso rigoroso de não compartilhar dados com terceiros:

Segurança de Dados

Implementamos medidas rigorosas de segurança para proteger seus dados:

Importante: Nunca solicitamos sua senha ou dados pessoais por mensagens. Desconfie de qualquer solicitação desse tipo.

Restrições e Limitações do Aplicativo

Requisitos do Sistema

Limitações Técnicas

Restrições de Uso

O Chatting não pode ser utilizado para:

O Chatting respeita a liberdade de expressão, mas não tolera o uso do aplicativo para atividades ilegais ou prejudiciais.

Documentação Técnica

Arquitetura do Aplicativo

O Chatting é desenvolvido seguindo a arquitetura MVVM (Model-View-ViewModel) com os seguintes componentes principais:

Banco de Dados

O Chatting utiliza o Room Persistence Library para gerenciar o banco de dados SQLite local. As principais entidades incluem:

// Exemplo de estrutura de entidades
@Entity(tableName = "users")
data class User(
    @PrimaryKey val userId: String,
    val username: String,
    val profilePicUrl: String?
)

@Entity(tableName = "chats")
data class Chat(
    @PrimaryKey val chatId: String,
    val chatName: String,
    val isGroup: Boolean,
    val lastMessageTime: Long
)

@Entity(
    tableName = "messages",
    foreignKeys = [
        ForeignKey(
            entity = Chat::class,
            parentColumns = ["chatId"],
            childColumns = ["chatId"],
            onDelete = ForeignKey.CASCADE
        )
    ]
)
data class Message(
    @PrimaryKey val messageId: String,
    val chatId: String,
    val senderId: String,
    val content: String,
    val timestamp: Long,
    val isRead: Boolean
)

Tratamento de Erros

O aplicativo implementa um sistema robusto de tratamento de erros, incluindo:

Para garantir a integridade dos dados, todas as operações de banco de dados que envolvem múltiplas tabelas são realizadas dentro de transações atômicas.

Solução de Problemas Comuns

Erro de Restrição de Chave Estrangeira

Se você encontrar o erro SQLiteConstraintException: FOREIGN KEY constraint failed, isso geralmente indica que:

Solução recomendada:

// Implementar transações para garantir a ordem correta de inserção
@Transaction
suspend fun insertChatAndMessages(chat: Chat, messages: List) {
    chatDao.insert(chat) // Insere o registro pai primeiro
    messageDao.insertAllMessages(messages) // Insere os registros filhos depois
}

Recursos e Funcionalidades

Mensagens Criptografadas

Todas as mensagens são protegidas com criptografia de ponta a ponta, garantindo que apenas você e o destinatário possam ler o conteúdo.

Chamadas Seguras

Realize chamadas de voz e vídeo com a mesma proteção de criptografia aplicada às mensagens de texto.

Grupos

Crie grupos com até 500 participantes para conversas coletivas, mantendo o mesmo nível de privacidade e segurança.

Compartilhamento de Mídia

Compartilhe fotos, vídeos e documentos de forma segura, com criptografia aplicada a todos os tipos de arquivos.

Mensagens Temporárias

Configure mensagens para desaparecerem automaticamente após um período determinado, aumentando ainda mais sua privacidade.

Backup Local

Faça backup de suas conversas localmente no seu dispositivo, sem depender de serviços de nuvem de terceiros.