Privacidade · Dish para Android

Política de privacidade do Dish para Android

Vigente desde 2026-05-21. Esta política se aplica à aplicação Dish para Android publicada pela TinkerNorth ("nós", "TinkerNorth", "Dish") e distribuída via GitHub Releases. Se você está lendo isto de dentro do app, também pode encontrar a versão mais recente em https://dish.tinkernorth.com/privacy/dish-android/.

A versão curta

O Dish para Android não coleta nenhuma informação pessoal, identificadores de dispositivo, analytics de uso ou dados de publicidade. Não tem sistema de contas. O único processador operado pela TinkerNorth que ele contata é o Firebase Crashlytics, e apenas quando o app falha. Nunca durante o uso normal.

Os relatos de crash carregam um stack trace, o modelo do aparelho, a versão do Android e um UUID de instalação gerado automaticamente. Eles não carregam a sua entrada de controle, os nomes ou endereços IP dos Satellites com os quais você pareia, seu SSID de Wi-Fi ou qualquer informação de contato. O escopo completo do Crashlytics está na seção 5 abaixo. Você pode optar por sair a qualquer momento pelo ícone de engrenagem na tela principal → ConfiguraçõesDiagnósticosCompartilhar relatos de crash; a escolha persiste através de inicializações e é honrada antes que qualquer crash possa ser carregado na próxima inicialização.

Tudo o mais que o app faz acontece no seu dispositivo ou entre o seu dispositivo e os servidores Satellite com os quais você explicitamente pareou na sua própria LAN. O stream UDP criptografado de controle é tráfego local apenas; não o vemos nem o processamos.

A versão mais longa abaixo explica exatamente o que o app faz no dispositivo, quais permissões ele requisita e por quê, onde os dados vivem e quais são os seus direitos sob a GDPR (UE), UK GDPR, CCPA / CPRA (Califórnia) e LGPD (Brasil).

Quem somos

A TinkerNorth é um projeto de um único desenvolvedor que publica o Dish e a suíte Satellite como software gratuito e de código aberto. Não operamos um serviço comercial vinculado ao Dish para Android. Para perguntas de privacidade, contate privacy@tinkernorth.com.

1. Informações que não coletamos

Para clareza, aqui está o que o Dish para Android não coleta, embora muitos apps nesta categoria coletem:

2. Informações processadas localmente no seu dispositivo

As seguintes informações são processadas localmente no seu dispositivo. Elas não saem do seu dispositivo, exceto onde explicitamente notado que vão para um servidor Satellite com o qual você pareou na sua própria LAN:

3. Permissões que o app requisita, e por quê

As permissões que o Dish para Android declara em seu AndroidManifest.xml estão listadas abaixo com a razão exata pela qual cada uma existe.

O app não requisita nenhuma destas permissões: localização (precisa ou aproximada), câmera, microfone, contatos, calendário, SMS, registro de chamadas, sensores corporais, arquivos / mídia. Se uma futura versão precisar de alguma delas, esta política será atualizada antes do lançamento.

4. Comportamento de rede

O Dish para Android inicia tráfego de rede em quatro lugares:

Todo tráfego HTTPS de saída também é restringido por um network_security_config.xml explícito que nega texto puro para todo host, então uma regressão futura não pode silenciosamente degradar uma conexão para HTTP puro.

5. Relato de crash (Firebase Crashlytics)

O Dish para Android usa o Firebase Crashlytics (fornecido pela Google LLC) para coletar relatos de crash e ANR para que possamos diagnosticar bugs que escapam dos testes. O Crashlytics é o único fluxo de dados do seu dispositivo para um processador operado pela TinkerNorth.

Quando o app falha (uma exceção Kotlin não tratada, um sinal fatal na camada nativa JNI ou um evento de Application Not Responding), o Crashlytics faz upload de:

O Crashlytics não recebe:

O Crashlytics retém dados de crash por 90 dias, depois os deleta. Veja a Política de Privacidade e Segurança do Firebase do Google para o papel do Google como processador. A TinkerNorth é a controladora de dados; o Google é o processador.

Optando por sair. Toque no ícone de engrenagem na tela principal, então em Configurações sob Diagnósticos desligue Compartilhar relatos de crash. O interruptor está ligado por padrão. Desligá-lo chama FirebaseCrashlytics.setCrashlyticsCollectionEnabled(false) e persiste a escolha em armazenamento privado do app. A próxima inicialização do app aplica a preferência salva antes de qualquer caminho de código que poderia produzir um relato de crash, e o controlador observa a preferência pelo resto da sessão para que um opt-out no meio da sessão tome efeito imediatamente. A preferência é incluída no backup em nuvem do Android, então sobrevive a transferências de dispositivo. Relatos de crash já coletados antes de você optar por sair permanecem no Firebase até que sua retenção padrão de 90 dias expire, então são deletados.

Variantes de build que vêm sem um google-services.json (por exemplo, qualquer um que construa do código-fonte por conta própria) não têm SDK do Crashlytics inicializado, mesmo se o toggle estiver ligado. O controlador detecta isso via FirebaseApp.getApps e fica inerte.

Não rodamos o Firebase Analytics. Crashlytics e Analytics são produtos Firebase separados e este app faz link apenas com o Crashlytics. Mantivemos deliberadamente a dependência firebase-analytics fora do build, porque incluí-la coletaria automaticamente eventos (first_open, session_start, screen_view, app_remove, etc.) e puxaria com.google.android.gms.permission.AD_ID para o manifesto de produção. Nenhum dos dois é verdade hoje. Se o Analytics for adicionado, esta política será atualizada antes que a mudança seja lançada.

6. Serviços e SDKs de terceiros

Dependências que vêm dentro do APK:

O Firebase Analytics está deliberadamente fora do build. Incluí-lo coletaria automaticamente eventos e puxaria a permissão AD_ID para o manifesto, ambos os quais conflitam com esta política. O arquivo app/build.gradle.kts tem um comentário explicando a escolha para que um futuro contribuidor veja a restrição antes de readicionar a dependência.

A lista completa de dependências está em app/build.gradle.kts no repositório dish-android e no software bill of materials (SPDX + CycloneDX) enviado com toda versão com tag.

Se você obteve o Dish para Android pelo Google Play, a própria Play Store é regida pela política de privacidade do Google. Isso é separado desta política e fora do nosso controle.

7. Dados que compartilhamos

Não vendemos, alugamos ou compartilhamos informações pessoais para publicidade, marketing ou qualquer propósito comercial. Não temos relações com redes de publicidade, fornecedores de analytics, fornecedores de detecção de fraude ou parceiros de marketing. O único terceiro que jamais recebe qualquer dado deste app é o Google LLC, atuando como processador para o Firebase Crashlytics sob o escopo descrito na seção 5.

8. Retenção de dados

Dados no dispositivo vivem até você desinstalar o app ou usar a opção "Limpar armazenamento" do Android em Configurações > Apps > Dish.

Duas peças de dados privados do app interagem com o backup em nuvem do Android de forma diferente:

O Crashlytics retém relatos de crash por 90 dias na infraestrutura do Google, depois os deleta.

9. Privacidade infantil

O Dish para Android não é direcionado a crianças menores de 13 anos (ou abaixo da idade equivalente na sua jurisdição: 14 na Coreia do Sul, 16 na maior parte da UE). O escopo do Crashlytics descrito na seção 5 não contém nenhuma informação que pudesse identificar uma criança como criança (sem nome, sem data de nascimento, sem e-mail). Se você acredita que dados de uma criança foram coletados por este app, mande um e-mail para privacy@tinkernorth.com com o ID de Instalação do Firebase ou um timestamp recente de crash e nós purgaremos os relatos associados.

10. Transferências internacionais

Dados no dispositivo não saem do seu dispositivo. O payload do relato de crash do Crashlytics é enviado para o Google LLC e pode ser processado em qualquer país onde o Google opera infraestrutura, incluindo os Estados Unidos. Transferências da EEE / Reino Unido para os EUA se apoiam em Cláusulas Contratuais Padrão; veja os Termos de Processamento e Segurança de Dados do Google para a documentação completa do mecanismo de transferência.

11. Seus direitos

11.1 GDPR (Espaço Econômico Europeu)

Se você está na EEE, o Regulamento Geral de Proteção de Dados (GDPR) te dá os direitos de acesso, retificação, eliminação, restrição de processamento, portabilidade de dados e objeção. Os únicos dados pessoais que processamos para usuários na EEE são o ID de Instalação do Firebase e o payload do relato de crash descrito na seção 5. Para exercer qualquer um desses direitos:

Bases legais. O processamento local no dispositivo (entrada de controle, chaves de pareamento, hosts lembrados) se apoia no seu consentimento, expresso ao instalar o app e conceder permissões, e na execução de um contrato quando você pede para o app parear e transmitir para o seu Satellite. O processamento do Crashlytics se apoia no nosso interesse legítimo (Art. 6(1)(f) da GDPR) em manter um app funcionando, balanceado contra o estrito escopo sem PII descrito na seção 5.

Transferências internacionais. Dados do Crashlytics são processados pelo Google LLC, que pode transferir dados para fora da EEE sob Cláusulas Contratuais Padrão. Veja os Termos de Processamento e Segurança de Dados do Google.

Você tem o direito de registrar uma reclamação na sua autoridade nacional de proteção de dados. Uma lista é mantida pelo Conselho Europeu de Proteção de Dados.

11.2 UK GDPR (Reino Unido)

Se você está no Reino Unido, a UK GDPR espelha os direitos da seção 11.1 acima. Sua autoridade supervisora é o Information Commissioner's Office (ICO). O mesmo escopo do Crashlytics e mecânicas de opt-out se aplicam.

11.3 CCPA / CPRA (Califórnia)

Se você é residente da Califórnia, a California Consumer Privacy Act (conforme alterada pela CPRA) te dá os direitos de saber, deletar, corrigir, optar por sair da venda ou compartilhamento e limitar o uso de informações pessoais sensíveis. Nós não vendemos nem compartilhamos informações pessoais (conforme definido sob CCPA / CPRA), e não o fizemos nos 12 meses anteriores. Nenhum link "Do Not Sell or Share My Personal Information" é necessário porque não há venda ou compartilhamento dos quais optar por sair.

Para exercer um "direito de saber" ou "direito de deletar" contra o escopo de relato de crash na seção 5, mande um e-mail para privacy@tinkernorth.com com seu ID de Instalação do Firebase (ou um timestamp recente de crash e modelo do aparelho). Você também pode designar um agente autorizado para fazer um pedido em seu nome.

11.4 Outros estados dos EUA

Residentes da Virgínia (VCDPA), Colorado (CPA), Connecticut (CTDPA), Utah (UCPA), Texas (TDPSA) e outros estados com leis abrangentes de privacidade têm direitos equivalentes. O mesmo escopo do Crashlytics e mecânicas de opt-out se aplicam.

11.5 LGPD (Brasil)

Se você está no Brasil, a Lei Geral de Proteção de Dados (LGPD) te dá os direitos de confirmação, acesso, correção, anonimização, portabilidade e eliminação. O mesmo escopo do Crashlytics e mecânicas de opt-out se aplicam. Para exercer qualquer direito, mande um e-mail para privacy@tinkernorth.com. Nosso contato de DPO é o mesmo endereço.

12. Segurança

Cada pacote trocado entre Dish e Satellite é selado com ChaCha20-Poly1305 IETF usando uma chave simétrica de 256 bits derivada de uma troca de chaves X25519 semeada por um PIN de pareamento de quatro dígitos. A chave nunca sai do seu dispositivo ou do Satellite pareado, e o PIN é destruído depois do pareamento. Para o modelo de ameaças completo veja /security/ neste site.

Para reportar uma vulnerabilidade, veja o SECURITY.md no repositório do Satellite.

13. Mudanças nesta política

Atualizaremos esta política se o comportamento do app mudar de uma forma que afete o que está descrito aqui. Mudanças materiais serão anunciadas nas notas de lançamento do app e a data "Vigente desde" no topo desta página será atualizada. A versão anterior de cada política é preservada no histórico git deste site.

14. Contato

Privacidade: privacy@tinkernorth.com
Segurança: veja o SECURITY.md no repositório do Satellite
Geral: abra uma issue no GitHub em o repositório dish-android

← Voltar ao índice de privacidade