Política de Privacidade
Você é um número.
Isso é tudo que sabemos.
O Numid foi projetado do zero para não saber quem você é. Esta política não é uma lista de promessas — é uma descrição técnica do que o sistema coleta, processa e descarta. Se em algum ponto você encontrar uma contradição entre o que está aqui e o comportamento do app, isso é um bug e deve ser reportado.
01
Quem opera o Numid
O Numid é um projeto independente em desenvolvimento ativo. O servidor backend roda em infraestrutura Railway. Não há empresa formal constituída neste momento — o projeto é operado pelo desenvolvedor individual responsável pelo repositório.
Esta política se aplica ao app Android Numid e ao backend associado. Versões futuras (iOS, web) serão cobertas por atualizações desta política.
02
O que coletamos — e o que não coletamos
A tabela abaixo descreve cada categoria de dado, onde é armazenado e por quanto tempo.
| Dado | Onde fica | Duração | Status |
|---|---|---|---|
| Número de identidade (#ID) | Servidor (PostgreSQL) + dispositivo | Enquanto conta ativa | necessário |
| Chave pública X25519 | Servidor (PostgreSQL) | Enquanto conta ativa | necessário |
| Chave privada Ed25519 / X25519 | Somente no dispositivo (SQLCipher) | Nunca sai do dispositivo | local |
| Mensagens criptografadas (não entregues) | Servidor (Redis, temporário) | Até entrega ou 7 dias | temporário |
| Conteúdo das mensagens (texto/áudio) | Servidor nunca acessa | — | criptografado E2E |
| IP de conexão | Memória do servidor (sessão WebSocket) | Apenas durante conexão ativa | não persistido |
| Nome, e-mail, telefone, localização | — | — | não coletado |
| Dados de uso / analytics | — | — | não coletado |
03
Como a criptografia funciona
Todo o sistema criptográfico do Numid roda no seu dispositivo. O servidor funciona como um roteador cego — entrega envelopes lacrados sem poder ler o conteúdo.
Na primeira abertura, o app gera uma seed BIP39 localmente. Dessa seed derivamos dois pares de chaves: Ed25519 (assinatura) e X25519 (troca de chaves ECDH). A chave privada nunca sai do armazenamento SQLCipher do dispositivo.
Cada mensagem gera uma chave efêmera X25519. O conteúdo é cifrado com AES-256-GCM usando a chave derivada do ECDH entre a chave efêmera do remetente e a chave pública permanente do destinatário. O servidor recebe o encrypted_payload, a ephemeral_public_key e o nonce — sem acesso ao plaintext.
Grupos usam criptografia individual por membro — uma cópia cifrada separada para cada participante com a chave pública de cada um. O servidor processa N envelopes independentes, sem acesso ao conteúdo comum. (Em finalização na v0.2)
04
Armazenamento local no dispositivo
O histórico de conversas, chaves criptográficas e configurações ficam em um banco de dados SQLCipher no seu dispositivo. O SQLCipher é uma versão criptografada do SQLite — o arquivo de banco de dados é cifrado em repouso com uma chave derivada do PIN do app.
O Numid não solicita acesso à câmera, microfone, localização, contatos, armazenamento externo ou qualquer outra permissão além do estritamente necessário para a funcionalidade de mensagens.
android:allowBackup="false" para impedir que dados sensíveis sejam incluídos.05
Servidor e infraestrutura
O backend Numid roda em Railway (infraestrutura em nuvem). O banco de dados é PostgreSQL e o cache de mensagens em trânsito usa Redis. Toda comunicação entre o app e o servidor usa TLS.
Mensagens não entregues ficam cifradas no Redis por no máximo 7 dias, após os quais são automaticamente descartadas. Mensagens entregues são removidas imediatamente após o ACK de entrega.
Não usamos CDNs de terceiros, SDKs de analytics, pixels de rastreamento ou qualquer serviço externo que processe dados dos usuários além da infraestrutura de hospedagem.
06
Fotos e mídia
O Numid implementará fotos de visualização única (view-once) na v0.2. O comportamento será:
Mensagens de áudio seguem o mesmo fluxo de criptografia E2E das mensagens de texto — o servidor nunca processa o áudio em plaintext.
07
Retenção de dados e exclusão de conta
Não há cadastro com e-mail ou telefone, portanto não há recuperação por credenciais. A identidade no Numid é derivada da sua seed phrase de 12 palavras, gerada localmente no primeiro uso.
Para recuperar a conta em um novo dispositivo: importe a seed phrase de 12 palavras no app. As chaves criptográficas serão reconstituídas e o acesso restaurado. Sem a seed, não há recuperação — nem por nós. Guarde-a em local seguro, offline e fora do dispositivo.
Para excluir seus dados do servidor: o app oferece a opção de revogar sua conta, que apaga seu número e chave pública do banco de dados. Dados locais (histórico, chaves) são apagados ao desinstalar ou limpar os dados do app no Android.
Contas inativas por 90 dias terão o número liberado de volta ao pool (o ID fica disponível para novos usuários). Os dados associados são removidos.
08
Menores de idade
O Numid não é destinado a menores de 13 anos. Como não coletamos dados pessoais, não temos como verificar a idade dos usuários — mas ao usar o app, você declara ter pelo menos 13 anos ou a idade mínima exigida pela legislação do seu país.
09
Transferências internacionais de dados
O servidor Railway pode estar hospedado em data centers fora do Brasil. Os dados armazenados (número de identidade e chave pública) são tecnicamente pseudônimos — não permitem identificar uma pessoa natural sem acesso às chaves privadas no dispositivo.
Não compartilhamos dados com terceiros. Não vendemos dados. Não há modelo de negócio baseado em dados dos usuários.
10
Código-fonte — em breve
O repositório do Numid ainda não está público. Será aberto antes do lançamento da v0.3. Auditabilidade pública é parte fundamental da proposta do projeto — não uma feature opcional.
Enquanto o código não está público, esta política é a documentação disponível sobre o funcionamento do sistema. Qualquer discrepância entre o documentado aqui e o comportamento real do app deve ser reportada.
11
Alterações a esta política
Mudanças significativas serão comunicadas através do app (notificação na próxima abertura) e registradas com controle de versão no repositório público quando disponível. A data de vigência no topo do documento será atualizada.
Alterações que representem redução de privacidade em relação à versão anterior serão marcadas explicitamente como tal.