Política de Privacidade — No Panic
Data de vigência: A ser definida antes do envio às lojas
Última atualização: 2026-05-07
Editor: No Panic Labs (nome de trabalho temporário até a finalização da entidade legal), Ucrânia.
Contato de suporte: denysdubov88@gmail.com (também o único canal para solicitações de privacidade / LGPD / GDPR).
URL canônica: https://denid88.github.io/nopanic-app/privacy-policy.pt-br.html
Esta Política de Privacidade explica como a No Panic Labs ("nós", "nosso") lida com informações em conexão com o aplicativo móvel No Panic (o "App"). Ao usar o App você reconhece que leu esta Política.
Projetamos o No Panic para ser respeitoso com a privacidade por padrão:
- Sem cadastro, sem inscrição, sem login. O App é totalmente anônimo.
- Sem publicidade e sem SDK de relatório de falhas. O App não lê seu ID de publicidade (IDFA / GAID) diretamente. No iOS, se — e somente se — você optar pela análise, o App apresenta o aviso App Tracking Transparency (ATT) da Apple para que o Firebase Analytics possa incluir o IDFA em sua medição; recusar o aviso ATT é totalmente respeitado e o App continua funcionando da mesma forma.
- A análise é estritamente opcional. O App usa Firebase Analytics para entender o uso agregado, mas a coleta está desativada por padrão e só liga depois que você aceita explicitamente — durante o onboarding ou mais tarde em Ajustes → Privacidade. Você pode desativar novamente a qualquer momento e o SDK é instruído a parar de coletar imediatamente.
- Entradas do diário e favoritos permanecem no seu dispositivo. Nunca são enviados a nós.
- Os serviços externos com os quais o App conversa são: o provedor de assinatura (RevenueCat + Apple / Google) quando você interage com o paywall, Google Fonts ao carregar a tipografia, e — apenas se você consentiu — Firebase Analytics.
Leia abaixo para os detalhes.
1. Quem é o controlador
O controlador de dados é a No Panic Labs, estabelecida na Ucrânia. Contato: denysdubov88@gmail.com. Não nomeamos um Encarregado de Proteção de Dados formal — todas as solicitações de privacidade vão para o mesmo e-mail.
2. O que o App armazena no seu dispositivo
O App mantém as seguintes informações somente localmente no seu dispositivo. Não recebemos nem lemos esses dados.
| Armazenamento | O que contém | Por quê |
|---|---|---|
SharedPreferences (iOS NSUserDefaults / Android SharedPreferences) — não criptografado |
Flag onboarding_completed |
Pular onboarding após o primeiro uso. |
SharedPreferences |
pro_entitlement_cache — instantâneo JSON do seu direito Pro mais recente (flag ativo, data de expiração, flag de renovação, ID de produto, flag de teste) |
Mostrar o estado de bloqueio correto na inicialização a frio, inclusive offline. |
SharedPreferences |
affirmation_favorites — IDs das afirmações que você favoritou |
Permitir revisitar seus favoritos. |
SharedPreferences |
affirmation_of_day_id + affirmation_of_day_date |
Mostrar uma "afirmação do dia" estável. |
SharedPreferences |
analytics_consent — booleano; false por padrão, definido como true apenas após seu consentimento explícito |
Controla a coleta do Firebase Analytics (ver §3.4). |
Banco SQLite local nopanic_journal.db, tabela journal_entries |
Texto do diário, emoji de humor opcional, timestamps de criação/atualização, ID local autoincrementada | Alimenta a função Diário. |
Banco SQLite local nopanic_medication.db |
Nomes de medicamentos, dosagens, agendamentos e histórico de doses que você insere no Rastreador de Medicação | Alimenta a função Rastreador de Medicação. Armazenado apenas no seu dispositivo; nunca transmitido aos nossos servidores, serviços de terceiros ou provedores de análise. |
| Cache de áudio gerenciado pelo SO | Estado de reprodução em cache para arquivos de áudio empacotados | Reprodução fluida dos exercícios. |
| Cache local do Firebase Analytics (somente se o consentimento de análise for concedido) | Um Firebase Instance ID pseudônimo com escopo de app e uma fila de eventos aguardando upload | Buffer de análise entre uploads de rede. Limpo quando você revoga o consentimento ou desinstala. |
Tudo acima é removido quando você desinstala o App ou usa a ação "Limpar dados" / "Descarregar app" do seu sistema operacional.
O App não coleta nem armazena:
- seu nome, endereço de e-mail, telefone ou localização precisa;
- ID de publicidade (IDFA / GAID) — o App não lê o IDFA ou GAID por si só. No iOS, ao tocar "Concordar" na tela de Consentimento de Análise, o App apresenta o aviso App Tracking Transparency (ATT) da Apple para que o Firebase Analytics possa acessar o IDFA para fins de medição; se você recusar o aviso ATT, ou recusar a análise por completo, o IDFA não é compartilhado com o Firebase. No Android, o App não solicita nem lê o Google Advertising ID (GAID);
- contatos, calendários, fotos, entrada de microfone ou câmera;
- histórico de navegação ou qualquer uso fora do App;
- tokens push (o App não tem notificações push).
Dados de medicação — Nomes, dosagens, agendamentos e histórico de doses que você insere no Rastreador de Medicação são armazenados apenas no seu dispositivo usando o banco local (SQLite). Nunca são transmitidos aos nossos servidores, serviços de terceiros ou provedores de análise. Contagens de eventos anonimizadas (p. ex., que uma dose foi registrada) podem ser enviadas se você optou pela análise, mas nunca o nome do medicamento nem qualquer detalhe identificador.
3. Terceiros que podem processar dados sobre você
Usar o App aciona um conjunto mínimo e específico de interações com terceiros. Listamos exaustivamente.
3.1 Apple (App Store) e Google (Google Play)
- O que processam: suas transações de compra e assinatura, recibos de transação, sua conta de loja (Apple ID / conta Google) e qualquer telemetria que a plataforma do seu dispositivo colete no nível do SO.
- Por quê: cobrança, gestão de assinatura, reembolsos.
- Onde: regido pelas próprias políticas de privacidade da Apple e do Google.
- Nossa visibilidade: podemos ver resultados anônimos de compras via RevenueCat (ver abaixo). Não vemos seu nome, e-mail ou detalhes de pagamento.
3.2 RevenueCat
- O que processam: um RevenueCat App User ID pseudônimo que o SDK gera no seu dispositivo, seus eventos de compra, status de assinatura, plataforma e país, e a chave de API RevenueCat em uso. Veja a política de privacidade da RevenueCat para o panorama completo.
- Por quê: usamos RevenueCat para configurar produtos de assinatura, verificar se você atualmente tem o direito
proe lidar com os fluxos de compra / restauração, sem construir nosso próprio backend de validação de recibos. - Quando o App contata o RevenueCat: ao iniciar o app (para buscar o direito atual e armazená-lo em cache), ao abrir o paywall (para carregar ofertas de produtos) e quando você toca em Assinar ou Restaurar.
- Onde: servidores RevenueCat. A infraestrutura da RevenueCat fica principalmente nos Estados Unidos; as transferências são cobertas pelos termos padrão de proteção de dados.
3.3 Google Fonts (busca de fonte em tempo de execução)
- O que processam: uma requisição HTTP padrão para o CDN de fontes do Google para a tipografia "Quicksand", incluindo seu endereço IP e metadados básicos da requisição.
- Por quê: o App usa o pacote
google_fonts, que busca o arquivo da fonte no primeiro uso. Uma vez obtido, é armazenado em cache localmente pelo pacote. - Nota: se você desabilitar isso, alguns textos voltam para fontes do sistema. Podemos enviar a fonte como recurso empacotado em uma versão futura para remover essa chamada externa.
3.4 Firebase Analytics (somente com consentimento)
- O que é: o SDK Firebase Analytics do Google (
firebase_core+firebase_analytics), integrado para nos ajudar a entender o uso agregado — quais funções as pessoas usam, onde os fluxos são abandonados, quais exercícios mais ajudam. Nenhum conteúdo bruto (texto do diário, favoritos, mensagens) jamais sai do dispositivo. - Modelo de consentimento: desativado por padrão. O SDK é inicializado com a coleta desligada. Mostramos uma tela de Consentimento de Análise durante o onboarding e o mesmo interruptor em Ajustes → Privacidade. Só após você tocar "Concordar" / ativar o interruptor chamamos
setAnalyticsCollectionEnabled(true). Revogar o consentimento chamasetAnalyticsCollectionEnabled(false)imediatamente e suprime todas as chamadas de evento e propriedade de usuário no processo. - App Tracking Transparency (somente iOS): quando você toca "Concordar" na tela de Consentimento de Análise no iOS, o App chama a API ATT da Apple (via pacote
app_tracking_transparency) para mostrar o aviso do sistema. Sua escolha rege se o Firebase Analytics pode associar o identificador de publicidade (IDFA) aos eventos de análise. Se você tocar "Pedir ao app para não rastrear" (ou tinha o rastreamento desativado globalmente), o IDFA nunca é compartilhado com o Firebase — a análise continua funcionando usando apenas o Firebase Instance ID pseudônimo. Nunca lemos o IDFA nós mesmos. Para nossa própria medição de taxas de opt-in, anexamos o resultado (authorized/denied/restricted/not_determined/not_supported) como parâmetroatt_statusno eventoanalytics_consent_set. Você pode alterar sua escolha de rastreamento a qualquer momento em Ajustes do iOS → Privacidade e Segurança → Rastreamento. - O que é coletado (somente enquanto habilitado):
- Visualizações de tela (via
FirebaseAnalyticsObserverdo Firebase conectado ao GoRouter). - Eventos de produto que registramos explicitamente — p. ex.
emergency_tapped,panic_flow_started/panic_flow_tip_viewed/panic_flow_completed/panic_flow_exited,exercise_opened/exercise_session_started/exercise_session_completed,games_opened/game_started/game_completed/game_exited,journal_entry_saved(com contagem de palavras em faixas como1-25, nunca a contagem bruta ou o texto),affirmation_favorited,paywall_shown/paywall_subscribe_tapped/purchase/restore_completed,settings_opened,legal_opened,support_opened,language_changed,onboarding_*,analytics_consent_shown/analytics_consent_set. A lista completa está emlib/core/services/analytics_event.dart. - Parâmetros de evento limitados a metadados não identificadores: IDs de cenário, índices de dica, IDs de preset, nomes de exercício, nomes de jogo (p. ex.
snake,tetris,bubble_pop,mandala,memory_pairs), pontuações numéricas de jogo (p. ex. tamanho da cobra, linhas eliminadas no tetris, % de precisão no bubble-pop, jogadas em memory-pairs), IDs de produto, moeda, valor do plano, duração em segundos, percentual de progresso, faixa de contagem de palavras, origem de abertura de tela, código de idioma de/para, resultado ATT (att_status:authorized/denied/restricted/not_determined/not_supported). - Propriedades de usuário:
has_pro(true / false — se você atualmente tem o direito Pro),app_language(seu código de idioma da UI),onboarding_completed(true / false). - Identificadores coletados automaticamente pelo Firebase: um Firebase Instance ID pseudônimo (escopo do app, reiniciado ao desinstalar ou revogar consentimento), endereço IP (usado para geo aproximada e depois descartado conforme a política de retenção do Google), modelo do dispositivo, versão do SO, versão do app.
- Visualizações de tela (via
- O que nunca é enviado: texto do diário, títulos do diário, texto de afirmação, conteúdo de dicas, notas, áudio reproduzido, listas de favoritos, localização precisa, ID de publicidade, e-mail, telefone, ou qualquer identificador atrelado ao seu nome.
- Onde: servidores Firebase do Google (Estados Unidos e outras regiões do Google), regidos pela política de privacidade do Google e termos de processamento de dados do Firebase.
- Retenção: configuramos o projeto Firebase para usar a janela padrão de retenção de dados de usuário do Google (atualmente 14 meses para dados em nível de usuário); os dados agregados de relatórios são retidos indefinidamente.
- Como desativar: Ajustes → Privacidade → interruptor Análise. Isso muda
analytics_consentparafalse, chamasetAnalyticsCollectionEnabled(false)e o SDK para de coletar neste dispositivo.
3.5 Serviços que não rodam
Para transparência, o App não inclui:
- Amplitude, Mixpanel, PostHog ou qualquer SDK de análise além do Firebase Analytics descrito em §3.4;
- Sentry, Crashlytics, Bugsnag ou qualquer outro SDK de relatório de falhas;
- SDKs de publicidade;
- SDKs de login social;
- SDK do Facebook, SDK do TikTok, AppsFlyer, Adjust, Branch ou SDKs de atribuição semelhantes;
- serviços de notificação push (mensageria FCM/APNs não é integrada, mesmo que Firebase Core esteja presente).
4. Permissões que o App solicita
O App não solicita microfone, câmera, localização, contatos, fotos, calendário ou Bluetooth. No iOS, o App solicita a permissão App Tracking Transparency (ATT) da Apple — somente quando você afirmativamente opta pela análise na tela de Consentimento de Análise, nunca na primeira inicialização e nunca se você recusar a análise. O propósito é descrito em §3.4.
O App reproduz áudio empacotado usando APIs padrão do SO. Para habilitar reprodução em segundo plano para o exercício Sono — para que a música continue tocando quando você bloquear a tela e os controles de tela de bloqueio / Central de Controle / Notificação permaneçam disponíveis — o App declara as seguintes capacidades de SO sem aviso: no Android, as permissões WAKE_LOCK, FOREGROUND_SERVICE e FOREGROUND_SERVICE_MEDIA_PLAYBACK e um serviço em primeiro plano de reprodução de mídia (fornecido pelo pacote audio_service); no iOS, o valor audio no array UIBackgroundModes do Info.plist. Nenhuma dessas capacidades exibe um aviso interativo de permissão ou concede ao App acesso a quaisquer dados seus — apenas permitem que o próprio motor de áudio do App continue tocando enquanto o App está em segundo plano ou a tela está apagada.
5. Crianças
O App não é direcionado a crianças menores de 13 anos e não coleta conscientemente dados pessoais delas. Se acreditar que uma criança abaixo da idade mínima usou o App, contate-nos para que possamos ajudar.
6. Seus direitos legais (LGPD, GDPR, UA, UK GDPR, CCPA)
Como o App não associa nenhum dado à sua identidade, muitos direitos tradicionais (acesso, exportação, eliminação de "seus dados pessoais") não se aplicam no sentido habitual — não há registro do lado do servidor vinculado a você. Você tem, ainda assim, direito a:
- Acesso / portabilidade: exporte suas entradas do Diário manualmente copiando-as do App. Uma função de exportação integrada ainda não está disponível; contate-nos se precisar de ajuda.
- Eliminação: exclua entradas individuais do Diário dentro do App; exclua todos os dados do App desinstalando, usando a ação "Limpar dados" / "Descarregar app" / "Redefinir" do seu SO, ou redefinindo o dispositivo.
- Dados de assinatura: para registros de compra e assinatura mantidos pela Apple, Google ou RevenueCat, exerça seus direitos diretamente com esses provedores — eles podem identificá-lo pela conta da loja. Auxiliaremos se você nos contatar.
- Objeção / restrição / reclamação: você pode se opor ao tratamento ou restringi-lo. No Brasil, sob a LGPD, você pode contatar a Autoridade Nacional de Proteção de Dados (ANPD). Se estiver na UE/EEE, Reino Unido ou Suíça, também pode registrar reclamação junto à sua autoridade nacional de proteção de dados. Residentes da Califórnia podem exercer direitos CCPA; não "vendemos" nem "compartilhamos" informações pessoais para publicidade comportamental cross-contexto.
Para exercer qualquer direito, envie e-mail para denysdubov88@gmail.com.
7. Base legal (UE/EEE, Reino Unido, Suíça, Brasil)
Onde o GDPR, LGPD ou lei equivalente se aplica, as bases legais para o tratamento mínimo descrito acima são:
- Contrato (Art. 6(1)(b) GDPR / Art. 7, V LGPD) — fornecer o App e, quando aplicável, processar sua assinatura.
- Interesse legítimo (Art. 6(1)(f) GDPR / Art. 7, IX LGPD) — cachear o estado do direito para o App funcionar offline, buscar a fonte usada pela UI e manter a integridade do paywall.
- Consentimento (Art. 6(1)(a) GDPR / Art. 7, I LGPD) — a única base legal para Firebase Analytics. A coleta fica desligada por padrão e só é ativada após seu consentimento afirmativo na tela de Consentimento de Análise (ou em Ajustes → Privacidade). Você pode retirar o consentimento a qualquer momento com o mesmo interruptor, sem efeito sobre sua capacidade de usar o App. A retirada não afeta a licitude do tratamento realizado antes da retirada.
8. Transferências internacionais
O próprio App armazena dados no seu dispositivo no seu país de residência. Quando você interage com o paywall, RevenueCat e App Store / Google Play podem transferir dados internacionalmente (principalmente para os Estados Unidos) sob suas próprias salvaguardas (Cláusulas Contratuais Padrão e mecanismos equivalentes). Se você habilitou a análise, o Firebase Analytics também transfere dados de eventos para a infraestrutura do Google (principalmente para os Estados Unidos) sob as Cláusulas Contratuais Padrão do Google e mecanismos equivalentes.
9. Retenção
- Dados no dispositivo: mantidos até você os excluir ou desinstalar o App.
- RevenueCat: mantidos conforme a política de retenção da RevenueCat para dados de assinatura.
- Apple / Google: mantidos conforme suas respectivas políticas.
- Firebase Analytics (somente se você optou): dados em nível de usuário mantidos pela janela padrão de 14 meses configurada em nosso projeto Firebase; dados agregados de relatório mantidos indefinidamente. Revogar o consentimento ou desinstalar para a coleta adicional; eventos já enviados podem ser excluídos sob solicitação (ver §6).
- Correspondência de suporte: se você nos escrever para denysdubov88@gmail.com, mantemos o tópico de e-mail por até 24 meses e então o excluímos.
10. Segurança
Mantemos o processamento no servidor ao mínimo e dependemos do sandboxing da Apple e do Google para proteger dados armazenados no seu dispositivo. As entradas do Diário não são criptografadas pelo App além do que o sistema operacional fornece em repouso; se seu dispositivo suporta criptografia de disco completo e você habilitou um código de acesso, seus dados se beneficiam disso. Recomendamos manter seu SO atualizado e usar código de acesso ou bloqueio biométrico.
11. Mudanças nesta Política
Podemos atualizar esta Política conforme o App evolui. Mudanças serão refletidas na data "Última atualização" acima e, se materiais, destacadas no App ou na ficha da loja. O uso continuado após a vigência da Política atualizada constitui reconhecimento.
12. Contato
Perguntas, solicitações ou queixas sobre esta Política: denysdubov88@gmail.com.
Apêndice A — Inventário técnico (para completude)
Esta seção espelha o que um desenvolvedor ou auditor veria no código, para que nada no App fique não divulgado.
- Plataforma: Flutter (Dart
^3.11.3), distribuído globalmente na Apple App Store e Google Play; nome do pacote / identificador de bundleapp.nopanic. - Pacotes de terceiros usados que podem tocar rede ou armazenamento do SO:
purchases_flutter(RevenueCat),firebase_core+firebase_analytics(Firebase Analytics — condicionado ao consentimento opt-in),app_tracking_transparency(somente iOS — mostra o aviso ATT do sistema quando a análise é optada, como descrito em §3.4),google_fonts(busca de fonte em tempo de execução),just_audio+audio_service+audio_session(reprodução local de áudio, incluindo reprodução em segundo plano e controles de tela de bloqueio / Central de Controle / Notificação para o exercício Sono via umAudioHandlerpersonalizado; outros exercícios usam apenasjust_audiosimples),shared_preferences(armazenamento chave-valor local, incluindo a flaganalytics_consent),sqflite(SQLite local),url_launcher(abre URLs externas no navegador do sistema quando você toca em Termos, Privacidade ou Suporte),package_info_plus(lê a versão/build local do app). - URLs externas abertas (somente quando você as toca): a URL de Termos, a URL de Privacidade e o link
mailto:do e-mail de Suporte. - Chaves de API: uma chave pública do SDK RevenueCat é compilada no build via
--dart-define. A configuração do Firebase (GoogleService-Info.plist/google-services.json) é empacotada em tempo de build. Essas chaves identificam o app, não você. - Nenhum backend de propriedade do Editor processa dados de usuário no momento da escrita; dados de análise são processados pelo Google em nosso nome apenas após consentimento explícito.
Apêndice B — Resumo de eliminação de dados (para revisão de loja)
Se um revisor de loja perguntar "como um usuário exclui seus dados?":
- Dentro do App: abra Diário, exclua entradas individualmente. No Rastreador de Medicação, exclua medicamentos e entradas do histórico de doses individualmente.
- Desinstale o App ou use a ação "Limpar dados" (Android) / "Descarregar App + Excluir" (iOS) do seu dispositivo. Isso remove todos os dados do App no dispositivo, incluindo entradas do Diário, favoritos de afirmação, flag de onboarding, cache de direito Pro, flag
analytics_consente o Firebase Instance ID. - Para parar a coleta de análise em andamento, abra Ajustes → Privacidade e desative o interruptor Análise. Para também excluir eventos de análise já enviados, envie e-mail para denysdubov88@gmail.com e iniciaremos uma solicitação de exclusão contra o projeto Firebase.
- Para cancelar ou excluir dados de assinatura mantidos pela Apple, Google ou RevenueCat, use as ferramentas de gestão de assinatura na sua conta da App Store ou Google Play, ou envie e-mail para denysdubov88@gmail.com para assistência.