Política de privacidade
Versão do documento: 2026-09-08. Vigência a partir de 2026-09-08.
1. Controlador dos dados
O controlador dos dados pessoais tratados pelo fluentes.app é Danella Consultoria, CNPJ 49.420.083/0001-95.
Para exercer direitos de titular de dados ou tirar dúvidas sobre esta política, o canal de contato com o encarregado (DPO) é contato@fluentes.app.
2. Quais dados coletamos e por quê
A tabela abaixo lista, campo a campo, os dados pessoais que o banco de dados do fluentes.app efetivamente armazena hoje.
| Onde fica | Campo | O que é | Para que serve |
|---|---|---|---|
| Conta | google_id | Identificador único da conta Google usada no login, presente só em contas criadas com login social | Reconhecer a conta em logins futuros, sem usar senha |
| Conta | Endereço de e-mail, presente só em contas criadas com cadastro por e-mail e senha | Identificar a conta no login por senha e enviar o link de redefinição de senha | |
| Conta | password_hash | Hash da senha (argon2id), nunca a senha em texto puro, presente só em contas criadas com cadastro por e-mail e senha | Confirmar a senha informada no login sem guardar a senha de verdade |
| Conta | name | Nome vindo da conta Google no primeiro login, ou informado no cadastro por e-mail e senha, editável depois | Identificar o usuário para as demais pessoas nas salas |
| Conta | avatar_url | Link da foto de perfil da conta Google, editável depois | Exibir o avatar do usuário no aplicativo |
| Conta | level | Nível de inglês declarado (iniciante, intermediário, avançado) | Recomendar e filtrar salas compatíveis com o nível do usuário |
| Conta | birth_date | Data de nascimento completa, informada no primeiro login | Verificar que o usuário tem 18 anos ou mais antes de liberar o cadastro |
| Conta | created_at | Data de criação da conta | Controle interno e resposta a pedidos de acesso |
| Conta | last_seen_at | Marca de atividade da conta | Controle interno de atividade da conta |
| Conta | banned | Sinalizador de conta banida | Bloquear o acesso de contas banidas em todas as rotas |
| Conta | suspenso_ate | Data e hora em que termina a suspensão da conta, automática ou aplicada pela equipe após análise de denúncias, quando houver | Bloquear o acesso de contas suspensas até essa data em todas as rotas |
| Consentimento | terms_version | Versão dos termos aceita no cadastro | Provar qual versão dos termos o usuário aceitou |
| Consentimento | ip | Endereço IP de origem no momento do aceite, capturado pelo servidor | Registrar evidência técnica do consentimento |
| Consentimento | created_at | Data e hora do aceite | Registrar evidência técnica do consentimento |
| Sessão | token_hash (tabela de refresh tokens) | Hash do token de sessão de longa duração, nunca o token em texto puro | Manter o usuário logado com segurança, sem guardar o token de verdade |
| Sessão | expires_at / revoked_at | Validade e revogação do token de sessão | Encerrar sessões antigas ou revogadas |
| Segurança do login | nonce usado no login com o Google | Valor de uso único do login social | Impedir que um mesmo login com Google seja reaproveitado por um invasor |
| Recuperação de senha | token_hash (tabela de tokens de redefinição de senha) | Hash do token enviado por e-mail para redefinir a senha, nunca o token em texto puro | Confirmar o pedido de redefinição sem guardar o token de verdade |
| Recuperação de senha | expires_at / used_at | Validade e uso do token de redefinição de senha | Garantir que o token expire em 30 minutos e não possa ser reaproveitado |
| Salas | participação em sala (entrada e saída) | Em qual sala o usuário está ou esteve, e quando entrou e saiu | Fazer o controle de vagas da sala e a presença em tempo real |
| Chat | mensagens de texto enviadas nas salas | Conteúdo da mensagem, sala, autor e data/hora | Exibir o chat de texto da sala em tempo real e o histórico recente |
| Moderação | denúncias | Quem denunciou, quem foi denunciado, sala, motivo, data e status | Aplicar a remoção automática após 3 denúncias distintas na sessão e permitir análise humana posterior |
| Moderação | suspensões | Usuário suspenso ou banido, de forma automática ou pela equipe, tipo, início, fim, contagem de denúncias que motivaram a medida e decisão da revisão humana | Aplicar a suspensão automática por acúmulo de denúncias, registrar a suspensão aplicada pela equipe e registrar a revisão humana de cada caso |
Um detalhe importante sobre minimização de dados: o fluentes.app oferece duas formas de criar conta, login com o Google ou cadastro com e-mail e senha, e o que é armazenado depende de qual delas o usuário escolheu. No login com o Google, o processo retorna também um endereço de e-mail associado à conta Google usada no login, mas o fluentes.app lê esse e-mail apenas durante a validação do login e não o grava no banco de dados: quem entra só pelo Google continua sem ter o e-mail armazenado. Já no cadastro por e-mail e senha, o e-mail informado é armazenado, porque é o dado usado para localizar a conta em logins futuros e para enviar o link de redefinição de senha.
A data de nascimento completa é armazenada, mas só é exibida ao próprio usuário, na exportação de dados descrita na seção 9. Ela não aparece no perfil público nem é visível para outras pessoas usuárias.
Nenhum outro dado além dos listados acima é coletado hoje pelo fluentes.app: não pedimos telefone, endereço, CPF ou qualquer outro contato externo.
3. Áudio das salas de voz
O fluentes.app não grava o áudio das salas de voz. A conexão de voz entre participantes acontece através de infraestrutura própria de mídia em tempo real (LiveKit, hospedada e operada pelo próprio fluentes.app), sem armazenamento do áudio transmitido.
4. Bases legais de tratamento (LGPD, art. 7)
- Consentimento: o cadastro só se completa depois que o usuário aceita estes termos e a Política de Privacidade. O aceite fica registrado com versão, IP e data/hora.
- Execução de contrato: dados de perfil, nível, participação em salas, chat e emissão do token de acesso à sala de voz são tratados porque são necessários para prestar o próprio serviço que o usuário contratou ao se cadastrar.
- Cumprimento de obrigação legal: a coleta e verificação da data de nascimento decorre da exigência legal de idade mínima de 18 anos para uso do serviço (Estatuto da Criança e do Adolescente, ECA Digital).
- Legítimo interesse: o registro de denúncias, o bloqueio de contas banidas, o hash de tokens de sessão e o controle de nonce de login se apoiam no legítimo interesse do fluentes.app e das demais pessoas usuárias em manter o ambiente seguro e prevenir fraude e abuso, sempre de forma proporcional a essa finalidade.
5. Com quem compartilhamos dados
- Google: o login usa o Google Sign In. O Google atua como provedor de autenticação e recebe, no processo de login, os dados que o próprio protocolo de login exige. O fluentes.app não compartilha com o Google nenhum dado adicional armazenado em seu banco, como mensagens de chat ou denúncias.
- LiveKit: a infraestrutura de mídia de voz é o LiveKit, auto hospedada pelo fluentes.app em servidor próprio. Isso significa que o áudio ao vivo não passa por uma empresa terceira externa, e sim por infraestrutura operada pelo próprio controlador.
- O fluentes.app não vende dados pessoais a terceiros, não compartilha dados para fins de publicidade de terceiros e não usa os dados coletados para nenhuma finalidade além das descritas nesta política.
6. Transferência internacional de dados
O Google LLC, responsável pelo serviço de login usado pelo fluentes.app, é uma empresa sediada nos Estados Unidos, e o processamento do login pode envolver o tratamento de dados em servidores fora do Brasil, conforme as políticas de privacidade do próprio Google. Essa transferência ocorre apenas no que for estritamente necessário para o funcionamento do login social. O mecanismo de salvaguarda aplicável a essa transferência, conforme o art. 33 da LGPD, será detalhado por Danella Consultoria, CNPJ 49.420.083/0001-95 após revisão jurídica.
7. Por quanto tempo guardamos os dados
- Os dados de conta (perfil, nível, data de nascimento, consentimento) ficam armazenados enquanto a conta existir.
- Tokens de sessão (refresh token) expiram automaticamente em até 30 dias e podem ser revogados antes disso pelo próprio usuário ao encerrar a sessão.
- O nonce de uso único do login com Google expira em 1 hora e existe apenas para impedir reuso do login.
- Mensagens de chat e denúncias ficam armazenadas por prazo indeterminado enquanto a sala e a conta existirem, para manter o histórico de conversa das salas e o histórico de moderação.
- Ao excluir a conta, os dados são tratados conforme a seção 8.
8. Exclusão de conta: o que é apagado e o que é anonimizado
O usuário pode excluir sua conta a qualquer momento pelo endpoint DELETE /me, disponível no aplicativo.
Ao excluir a conta:
- São apagados de forma definitiva: o registro de perfil (nome, foto, nível, data de nascimento, status de banimento, e e-mail e hash de senha quando a conta foi criada por cadastro com e-mail e senha), o histórico de participação em salas, os tokens de sessão, os tokens de redefinição de senha e o registro de consentimento associados àquela conta.
- São anonimizados, e não apagados: as mensagens de chat que o usuário enviou e as denúncias em que ele aparece como denunciante ou denunciado. O vínculo com a identidade do usuário é removido dessas mensagens e denúncias, mas o conteúdo em si permanece, para preservar o histórico de conversa das demais pessoas que estiveram na sala e para manter a evidência de eventuais denúncias e decisões de moderação. Após a exclusão, essas mensagens e denúncias deixam de identificar o usuário que saiu.
9. Direitos do titular de dados
Conforme o art. 18 da LGPD, o usuário tem direito a:
- Confirmação e acesso: confirmar se o fluentes.app trata seus dados e acessar quais dados são esses.
- Correção: corrigir dados incompletos, inexatos ou desatualizados.
- Exclusão: eliminar os dados tratados com base em consentimento.
- Portabilidade: receber os dados em formato estruturado.
- Revogação do consentimento e informação sobre compartilhamento: saber com quem os dados são compartilhados e revogar o consentimento dado.
Como exercer cada direito no fluentes.app hoje:
- Acesso ao perfil básico: GET /me, dentro do aplicativo.
- Correção de nome, foto ou nível: PATCH /me, dentro do aplicativo.
- Acesso completo e portabilidade: GET /me/dados, que devolve todos os dados de perfil armazenados (nome, foto, nível, data de nascimento, data de criação da conta, última atividade, status de banimento e de suspensão) em formato estruturado.
- Exclusão: DELETE /me, dentro do aplicativo, conforme detalhado na seção 8.
- Outras solicitações (dúvida sobre compartilhamento, correção de dado que não está disponível para edição no próprio app, ou qualquer pedido que a interface do aplicativo não atenda diretamente): pelo e-mail contato@fluentes.app.
Durante o bloqueio, seja por suspensão ou por banimento, a conta não acessa nenhuma função do aplicativo, inclusive a exportação e a exclusão de dados. Pedidos feitos nesse período, incluindo os direitos listados acima, devem ser enviados para contato@fluentes.app.
10. Segurança dos dados
- Toda comunicação com o fluentes.app é feita sobre TLS.
- Quem entra pelo Google continua sem senha de acesso ao fluentes.app, pois o login é feito exclusivamente pelo Google. Para quem opta pelo cadastro com e-mail e senha, a senha nunca é armazenada em texto puro, apenas seu hash (argon2id), e nunca aparece em log ou em resposta da API. Uma solicitação de redefinição de senha gera um token opaco de uso único, válido por 30 minutos, também guardado apenas como hash; ao redefinir a senha com sucesso, todas as sessões ativas daquela conta são revogadas.
- O token de sessão de longa duração (refresh token) nunca é armazenado em texto puro no banco de dados, apenas seu hash. Se um refresh token revogado for reutilizado, todas as sessões ativas daquele usuário são revogadas por segurança.
- O login com o Google usa um valor de uso único (nonce) para impedir que o mesmo login seja reaproveitado por terceiros.
- Há limite de taxa de requisições: por IP nas rotas de login, e por usuário nas rotas de escrita, para dificultar abuso automatizado.
- Contas banidas são bloqueadas antes de qualquer outra lógica da aplicação ser executada.
- Os dados pessoais tratados pelo fluentes.app não são vendidos a terceiros.
11. Cookies e armazenamento local
- O aplicativo Android do fluentes.app não usa cookies. A sessão é mantida em memória pelo próprio aplicativo enquanto ele está em uso.
- A versão web do fluentes.app também não usa cookies para manter a sessão do usuário. Em vez disso, o token de acesso e o token de sessão de longa duração ficam guardados no localStorage do navegador, ou seja, no armazenamento local do próprio navegador do usuário, e não são enviados automaticamente a outros sites.
12. Uso por menores de idade
O fluentes.app é destinado exclusivamente a pessoas com 18 anos completos ou mais. O cadastro exige data de nascimento e é recusado pelo servidor quando a idade informada é menor que 18 anos. Caso o fluentes.app identifique que uma conta foi criada com data de nascimento falsa por uma pessoa menor de idade, a conta poderá ser banida e excluída.
13. Alterações nesta política
Esta política é versionada junto com os termos de uso. Alterações relevantes geram uma nova versão publicada e, quando exigido por lei, um novo consentimento será solicitado ao usuário.
14. Contato
Para exercer direitos de titular de dados ou tirar dúvidas sobre esta política, escreva para contato@fluentes.app. O controlador responsável pelo fluentes.app é Danella Consultoria, CNPJ 49.420.083/0001-95.