Política de Privacidade do DuoCoach (versão de teste do beta fechado)
- Versão do documento: versão de teste do beta fechado, de 11/11/2026. É a mesma versão dos Termos de Uso (um aceite só).
- Controlador (responsável pelo tratamento): a equipe do DuoCoach. A identificação completa será informada aqui antes do lançamento público.
- Contato para privacidade: support@duocoach.app
- Endereço público desta política: https://duocoach.app/privacidade.html
1. Resumo
O DuoCoach funciona sem conta na nuvem e sem servidor: nesta versão, os dados ficam apenas no seu aparelho. O app não usa internet na variante distribuída, não tem publicidade nem SDKs de análise ou de relatório de falhas, e não vende nem compartilha dados. Dados só saem do aparelho quando você exporta um arquivo, compartilha um cartão de treino ou liga o Health Connect e escolhe o destino. A biblioteca de treinos, as animações e o planejador ficam dentro do app e rodam no aparelho, sem enviar nada a ninguém.
Inteligência artificial e planejamento automatizado (09/11/2026). Os treinos e as imagens do app foram gerados com apoio de IA, e o plano é montado de forma automatizada a partir dos seus dados de treino e das suas respostas. Esse tratamento acontece no seu aparelho; nenhum dado seu é enviado a serviço de IA externo. Os resultados podem conter erros e devem ser revistos por um profissional (veja a seção 7-A dos Termos de Uso). Você pode pedir a revisão de uma decisão tomada unicamente por tratamento automatizado (seção 11).
2. Dados tratados, finalidade e onde ficam
Todos os arquivos abaixo ficam na área privada do app, no seu aparelho.
| Dado | Exemplo | Finalidade | Onde fica |
|---|---|---|---|
| Aceite dos Termos | versão do texto aceito e instante do aceite; e-mail só de versões antigas | registrar o consentimento | preferências do app (duo_account_v1) |
| Perfil do atleta | nome, data de nascimento, sexo, peso, altura, unidades, modalidades, onde treina, equipamentos, confirmação "18 anos ou mais" com a data, FC máxima, FTP, FC de limiar, limiar de corrida, tempos de 3 a 42 km, CSS (cada um com valor, origem e data de início: histórico de FTP e de limiares) | calcular zonas, cargas e treinos | duo_athlete_profile_v1.json |
| Foto do perfil (opcional) | imagem reduzida a no máximo 512 px | mostrar no app | profile_avatar.jpg |
| Histórico de peso | peso e data de cada atualização ou confirmação | W/kg de cada treino pelo peso da data; lembrete a cada 3 semanas | duo_weight_history_v1.json |
| Zonas e limiares editados | limites de zonas de FC e de ritmo em bpm e min/km | treino guiado e consulta | duo_zones_v1.json (só existe se você editou) |
| Disponibilidade | dias da semana, até 2 janelas por dia (modalidade, ambiente, tempo máximo, fixa ou flexível), volume desejado e teto semanal, exceções por data com nome opcional | montar planos que cabem na sua rotina | duo_availability_v1.json |
| Plano de treino | objetivo, modalidade, data de prova, dias, sessões planejadas e feitas; rascunho antes de executar | montar e acompanhar o plano | duo_plan_v1.json e duo_plan_draft_v1.json |
| Plano do planejador novo | respostas do assistente, sessões propostas, suposições e dados ausentes; resumo técnico da última geração (tempos, contagens, erros) | planejamento explicável, local | pasta duo_planner_v1/ (duo_planner_ativo.json, duo_planner_shadow_last.properties) |
| Treinos realizados | potência, cadência, frequência cardíaca, tempos, treino escolhido, intensidade e modo | histórico, métricas (IF, TSS, NP), análise | arquivos CSV em duo_sessions/ |
| Sessão em andamento e resumos | estado para retomar um treino interrompido; resumos e curva de potência já calculados (aceleram a tela) | retomar e acelerar a Análise | duo_session_state_v1.json, duo_summary_cache/, duo_power_curve_v1.txt |
| Esforço percebido (RPE) | nota de 1 a 10 | carga e evolução | duo_rpe/ e no próprio CSV |
| Relato de fim de treino | motivos (cansaço, sono, doença, falta de tempo, equipamento, treino difícil), por que encerrou antes, local e intensidade de dor | ajustar os próximos treinos | arquivo <treino>.survey.json ao lado do CSV |
| Check-in diário (opcional) | horas e qualidade do sono, VFC, FC de repouso, passos, fadiga, desconforto, estresse, disposição, "sintoma preocupante hoje", tempo disponível | prontidão e sugestões | duo_checkins_v1.json |
| Pulso do Dia | mensagens mostradas, famílias, datas e evidências usadas | não repetir mensagens; explicar "por que estou vendo isto" | duo_pulse_history_v1.json |
| Treinos registrados à mão e importados | data, modalidade, duração, distância, RPE, observação; do relógio (.FIT): ambiente, FC média e máxima, subida, marcas de 1, 5 e 10 km, séries da piscina; sem GPS | completar o histórico | duo_manual_workouts_v1.json |
| Health Connect (opcional) | se está ligado; sono e estágios e FC de repouso dos últimos 90 dias; peso mais recente; treinos de outros apps aguardando o seu "Importar"; IDs de treinos já importados ou gravados | mostrar sono e recuperação "do relógio"; evitar treinos duplicados | duo_health_v1.txt |
| Decisões sobre o FTP estimado | sugestão pendente; cada decisão (aceitar ou manter), com valor, data e as evidências usadas | não repetir sugestão decidida; histórico de FTP | duo_ftp_suggestion_v1.txt e duo_ftp_decisions_v1.txt |
| Sensores lembrados | nome e endereço Bluetooth do rolo, medidor e cinta de FC | reconectar automaticamente | duo_device_memory_v1 |
| Preferências | tema, idioma, nomes de treino, permissões já pedidas | experiência do app | duo_ui, duo_workout_names_v1, duo_permissions_v1 |
| Diagnóstico | eventos técnicos de conexão (sem conteúdo do perfil; aparelhos Bluetooth que não são sensores esportivos aparecem só como contagem) | resolver problemas de conexão | memória do app (até 1.000 eventos) e, desde a 0.43.64.5, um registro LOCAL e limitado (dois arquivos de até 64 KB, numa pasta do app que não entra em backup) que sobrevive se o app cair, para o diagnóstico poder mostrar o que aconteceu antes; nunca guarda perfil, valores do treino, caminhos de arquivo nem a mensagem de uma falha, e não sai do aparelho a menos que você exporte; some com "Apagar meus dados" |
| Registro do ajuste de potência (modo de teste) | observações do ajuste do rolo, em arquivo à parte, desligado por padrão | estudo interno do controle do rolo | powermatch-sombra/, duo_powermatch_v1 |
Não são dados seus (e não saem nem entram pela rede): a biblioteca de treinos (edição 2026.11.2, 7.173 treinos no catálogo, dos quais 6.773 aparecem no app desde a 0.43.54) e as animações dos exercícios, que vêm dentro do app, somente para leitura.
Dados sensíveis (LGPD, art. 11)
Frequência cardíaca, sono, VFC, peso, dor e sintomas informados no relato e no check-in, e o que o Health Connect entrega podem ser dados de saúde. São usados só para o seu treino, no seu aparelho. Para esses dados, propomos pedir o seu consentimento de forma específica e destacada, separada do aceite geral, no momento em que você usar cada recurso pela primeira vez (check-in, relato com dor ou sintoma, Health Connect), e permitir que você retire o consentimento a qualquer momento (desligando o recurso ou apagando os dados).
3. Bases legais (LGPD) — proposta
| Tratamento | Base legal proposta |
|---|---|
| Aceite, versão e instante | execução do contrato de uso (art. 7º, V) e exercício regular de direitos, para provar o aceite (art. 7º, VI) |
| Perfil, plano, planejador, biblioteca, histórico de treinos, RPE, zonas, disponibilidade | execução do contrato (art. 7º, V): o app não funciona sem eles |
| Dados de saúde (sono, VFC, FC, dor, sintoma, peso, check-in) | consentimento específico e destacado (art. 11, I) |
| Health Connect (ler e gravar) | consentimento (art. 7º, I e art. 11, I), opcional, desligado por padrão, revogável |
| Foto do perfil (opcional) | consentimento (art. 7º, I) |
| Diagnóstico técnico (memória do app e registro local limitado que some com "Apagar meus dados"; exportar é ato seu) | legítimo interesse (art. 7º, IX) ou consentimento ao exportar |
| Novidades por e-mail | não existe hoje. Se vier, só com consentimento próprio, separado e desmarcado |
4. Permissões do Android
- Bluetooth (procurar e conectar): falar com rolo, medidor de potência e cinta de FC. O app não usa o Bluetooth para localizar você (a permissão de busca é declarada "never for location").
- Localização (somente Android 11 ou anterior): o próprio Android exige esta permissão para procurar dispositivos Bluetooth nessas versões. O DuoCoach não usa nem guarda a sua localização.
- Notificações (Android 13+, opcional): mostrar "Treino em andamento" enquanto um treino continua com a tela bloqueada ou em outro app. O app pergunta no máximo 2 vezes.
- Serviço em primeiro plano (dispositivo conectado): manter o treino com o rolo e sensores ativo fora da tela.
- Health Connect (opcional, só na versão da loja): leitura de sono, FC de repouso, FC, treinos e peso; escrita de treino, FC e potência. Cada permissão é pedida pelo Android só depois que você liga o recurso em Perfil › Integrações. Não pedimos VFC, passos, VO₂ máx., histórico antigo nem leitura em segundo plano.
- Importar .FIT, backup e exportações: usam o seletor de arquivos do Android; o app só acessa o arquivo que você escolher, sem permissão extra de armazenamento.
- Não há permissão de internet na versão distribuída.
5. Health Connect (opcional)
Desligado por padrão. Se você ligar: o DuoCoach lê sono (com estágios), FC de repouso, peso e treinos de outros apps; grava os seus treinos concluídos (com FC e potência, se houver). Outros apps que você autorizar no Health Connect poderão ler o que o DuoCoach gravou. Desligar o recurso apaga o que o DuoCoach leu; o que ele já gravou no Health Connect só se apaga no próprio Health Connect. Esses dados não são usados para publicidade e não são vendidos. O estado do Health Connect não entra no backup (cada aparelho tem o seu).
6. Importação de atividade do relógio (.FIT)
Você escolhe um arquivo .FIT de atividade (corrida, ciclismo ou natação, até 8 MB) e o app o lê no próprio aparelho. Só métricas ficam guardadas (início, duração, distância, FC média e máxima, subida, ambiente, marcas de 1, 5 e 10 km, séries da piscina). A posição GPS (latitude e longitude) é descartada na leitura e nunca fica no aparelho. Não há mapa nem trajeto.
7. Exportações (saída voluntária) e compartilhamento
Você pode exportar CSV de treinos, backup .zip, atividades e treinos em .FIT (relógio), treinos em .zwo, diagnóstico e compartilhar um cartão de treino (imagem, pela folha de compartilhar do Android). Os arquivos vão para onde você escolher (pasta do aparelho, nuvem, e-mail). A partir daí, quem tiver o arquivo consegue lê-lo, salvo o backup .zip protegido por senha (seção 8): sem a senha, ele não abre. O backup exportado sem senha não é criptografado. Apagar dados no app não apaga cópias já exportadas.
Compartilhamento com terceiros: nenhum. Não vendemos nem cedemos dados, não temos publicidade, análise nem relatório de falhas. A Google Play e o Android têm as próprias políticas para o que fazem na instalação e na atualização do app.
Transferência internacional: nenhuma na versão distribuída, que não envia dados por rede.
8. Backup: o que leva e o que não leva
O backup (.zip, formato duo-backup-v2 desde a 0.43.52; o app continua lendo o duo-backup-v1) leva: perfil, histórico de peso, treinos gravados com RPE e relato de fim de treino, check-ins, treinos registrados ou importados, plano ativo, histórico do Pulso do Dia, a decisão sobre o FTP estimado (ftp_suggestion.txt), a disponibilidade (availability.json), as zonas editadas (zones.json), o plano do planejador novo (planner/ativo.json) e, desde a 0.43.40, o histórico do plano, a foto do perfil e Meus treinos. Não leva: sensores memorizados, estado do Health Connect, a data do último backup e a escolha de lembrete (ficam só no aparelho). Importar é aditivo e "tudo ou nada": nada local é sobrescrito, e um plano só volta num aparelho sem plano.
Senha opcional (0.43.52). Ao exportar, o app oferece proteger o backup com uma senha (recomendado, não obrigatório). Com senha, o arquivo inteiro é cifrado no seu aparelho (AES-256-GCM, em blocos; a chave sai da senha por PBKDF2-HMAC-SHA256 com 600.000 iterações e um sal aleatório por arquivo). Isso detecta arquivo alterado ou cortado e senha errada. A senha nunca é gravada nem enviada: o DuoCoach não a conhece e não tem chave mestra. Se você esquecer a senha, não há como recuperar o backup. Sem senha, o arquivo continua sendo um .zip comum que qualquer pessoa com o arquivo lê. O app só guarda, no aparelho, a data do último backup e se ele teve senha, para avisar quando passarem 30 dias sem backup (aviso dentro do app, sem notificação do sistema).
9. Retenção e exclusão
Os dados ficam até você apagá-los. Você pode:
- usar Definições › Apagar meus dados (pede confirmação; fica bloqueado durante um treino, enquanto o rolo sai do ERG e durante um backup). Ele apaga deste aparelho perfil, foto, e-mail (se houver, de versões antigas), histórico de treinos, RPE e relatos, plano e planejador, histórico de peso, disponibilidade, zonas, check-ins, treinos registrados, estado do Health Connect, decisões de FTP, sensores lembrados, diagnósticos, preferências e o registro de aceite; o app fecha e reabre no começo, e o aceite é pedido de novo;
- limpar os dados do app nas configurações do Android;
- desinstalar o app.
Regras de tempo: os dados de sono e FC de repouso do Health Connect guardados no app são mantidos por 90 dias; exceções de disponibilidade que já passaram saem sozinhas; o diagnóstico fica na memória do app e num registro local limitado (dois arquivos de até 64 KB, fora do backup, apagado por "Apagar meus dados"); nada disso sai do aparelho a menos que você exporte. Trocar o e-mail (versões antigas) não apaga perfil nem histórico. Não apaga cópias que você exportou, nem o que o DuoCoach gravou no Health Connect (apague lá). O app não participa do backup na nuvem do Google nem da transferência automática entre aparelhos do Android 12+ (allowBackup=false e dataExtractionRules excluindo tudo): para trocar de celular, use o backup .zip manual.
10. Segurança
Os dados ficam na área privada do app no Android, que outros apps não leem. Não há tráfego de rede. Os arquivos são gravados de forma atômica (arquivo temporário, fsync e conferência) para não ficarem pela metade, e o app não participa do backup na nuvem do Google. O arquivo local não tem criptografia própria além da proteção do próprio Android no aparelho, e o backup .zip só é criptografado se você escolher uma senha ao exportar (seção 8): sem senha, é um .zip comum, então guarde-o com cuidado. Hoje não temos acesso aos seus dados, que ficam no seu aparelho.
11. Seus direitos (LGPD, art. 18) e como exercê-los
| Direito | Como exercer |
|---|---|
| Confirmação e acesso | tudo o que o app sabe sobre você está nas telas (Perfil, Histórico, Análise) e no backup/CSV que você exporta |
| Correção | Perfil › Editar perfil, e correção de treinos e check-ins nas telas respectivas |
| Portabilidade | exportar CSV e backup .zip (e .FIT para o relógio) |
| Eliminação, anonimização ou bloqueio | Definições › Apagar meus dados, ou desinstalar |
| Informação sobre compartilhamento | nenhum; só ocorre quando você exporta ou liga o Health Connect |
| Revogação do consentimento | desligar o Health Connect (Perfil › Integrações), apagar o dado ou Apagar meus dados |
| Revisão de decisão automatizada (art. 20) | support@duocoach.app: peça a revisão de um plano ou de uma sugestão gerada unicamente de forma automatizada; você também decide se aceita ou não cada mudança no plano |
| Oposição e reclamação | support@duocoach.app; você também pode reclamar à Autoridade Nacional de Proteção de Dados (ANPD) |
Como não há servidor, a maior parte dos direitos é exercida diretamente no app. Pedidos por e-mail (support@duocoach.app) são respondidos no prazo da lei. Não temos acesso aos dados que ficam só no seu aparelho, por isso não conseguimos consultá-los ou apagá-los por você: orientamos como fazer no app.
12. Menores de idade
O DuoCoach é só para maiores de 18 anos. O cadastro pede a data de nascimento e a confirmação de que você tem 18 anos ou mais; quem informar menos de 18 não consegue salvar o perfil. Não pedimos documento nem verificamos a idade além dessa declaração. Se soubermos que um menor de 18 usa o app, orientaremos a apagar os dados e a parar de usar.
13. Cookies, análise e publicidade
Não usamos cookies, publicidade, análise de uso, rastreadores nem SDK de relatório de falhas.
14. Alterações desta política
Mudanças relevantes geram nova versão (a mesma dos Termos); o app deve pedir novo aceite quando a versão muda, mostrando o que mudou, e sempre deixa você exportar ou apagar os dados mesmo sem aceitar.
15. Quando houver conta e servidor (previsto para o 1º trimestre de 2027)
Esta política vai mudar quando existir conta na nuvem, e você será convidado a aceitar a nova versão antes de criar uma conta. Passam a ser tratados: e-mail verificado, identificação da sessão e do aparelho, e os dados que você escolher enviar (incluindo dados de saúde). Será preciso informar: finalidade, base legal, retenção, exclusão da conta pela web e dentro do app, transferência internacional (verificar onde ficam o provedor, o suporte e os subcontratados, mesmo que o servidor fique na região de São Paulo) e a atualização do formulário Segurança dos dados da Google Play.
