Política de privacidade do Dish para Android
Vigente desde 2026-09-06. Esta política se aplica à aplicação Dish para Android publicada pela TinkerNorth ("nós", "TinkerNorth", "Dish") e distribuída via Google Play e 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ções → Diagnósticos → Compartilhar 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.
Todo o resto que o app faz acontece no seu aparelho ou entre o seu aparelho e os servidores Satellite, hosts Moonlight ou hosts Bluetooth com os quais você pareou explicitamente na sua própria rede local. O fluxo criptografado do controle, e o áudio do microfone e do alto-falante do controle quando você os liga, são apenas tráfego local; nós não vemos nem processamos isso.
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:
- Sem nome, endereço de e-mail, número de telefone ou credenciais de conta.
- Sem ID de publicidade (AAID), Android ID, IMEI ou outros IDs de rastreamento de publicidade.
- Sem localização precisa ou aproximada.
- Sem contatos, calendário, fotos ou arquivos. O áudio do microfone só é capturado enquanto o microfone de um controle está ligado, vai apenas para o PC com o qual você pareou e nunca é armazenado nem enviado para nós (seção 2).
- Sem analytics gerais de uso. Não rodamos Firebase Analytics, Google Analytics ou qualquer outro pipeline de rastreamento de eventos. Os únicos dados fora do dispositivo são o escopo do Crashlytics apenas para crashes descrito na seção 5.
- Sem dados de publicidade e sem publicidade no app.
- Sem metadados sobre os jogos que você joga, os controles que você usa ou os horários em que os usa.
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:
- Entradas de controle. Botões apertados, posições dos sticks analógicos e pressão dos gatilhos do overlay de toque na tela ou de um controle físico conectado ao seu celular. Estes são criptografados ponta a ponta (ChaCha20-Poly1305) e enviados apenas para os servidores Satellite com os quais você pareou, sobre UDP na sua LAN.
- Leituras de sensor de movimento. Se você ativar o encaminhamento de giroscópio / acelerômetro, a saída da IMU do celular é amostrada a até 250 Hz, criptografada e enviada para o Satellite pareado. Isso está desligado por padrão e é alternado na atividade de overlay do app.
- Estado da bateria. O app lê o nível da bateria do seu celular e o status de carregamento do
BatteryManagerdo Android para que ele possa encaminhar uma capacidade de bateria para o seu Satellite a cada 30 segundos e em transições de estado. Isso é enviado criptografado apenas para o Satellite pareado. - Lista de Satellites pareados. Quando você pareia com um Satellite, o app armazena o endereço IP do satélite, porta, nome de exibição, identificador de dispositivo e a chave simétrica de 256 bits por satélite derivada durante o handshake de pareamento X25519. Isso é mantido nas
SharedPreferencespor app do Android e está sandboxed ao app. - Hosts Bluetooth lembrados. Se você usa o recurso de passthrough Bluetooth HID, o app armazena o endereço MAC e o nome de cada host lembrado em
SharedPreferencespara que você possa reconectar sem reparear. - Hosts Moonlight lembrados. Se você parear com um host Sunshine, Apollo ou Wolf, o app guarda o nome, o endereço, as portas, o id do host, o último app aberto lá e o tipo de controle escolhido em
SharedPreferences, para você reconectar sem parear de novo. - Identidade de cliente Moonlight. Um par de chaves RSA com um certificado autoassinado, mais um id de cliente aleatório, gerados uma única vez. A chave privada fica no Android Keystore, de onde não pode ser exportada; o certificado e o id ficam no armazenamento privado do app. Eles provam a um host Moonlight que este é o celular com o qual ele pareou, e só são enviados aos hosts Moonlight com os quais você pareia, nunca para nós.
- Microfone e alto-falante do controle. Enquanto a chave Microfone de um controle está ligada, a permissão foi concedida, o controle está transmitindo para um Satellite e não está mutado, o app captura o microfone do celular em janelas de 20 ms, codifica cada uma com Opus e envia pela mesma sessão UDP criptografada das entradas do seu controle, de modo que chega ao PC como o microfone do próprio controle. Som do controle é o caminho inverso: o que o jogo toca no alto-falante do controle é decodificado e reproduzido no seu celular. Nada é gravado em disco e nada é mantido depois que uma janela é enviada ou reproduzida. Mutar interrompe a captura; um controle mutado não envia nenhum pacote de áudio.
- Servidores LAN descobertos. O endereço IP, porta e nome de qualquer Satellite anunciado na sua rede local via mDNS ou broadcast UDP, mantido em memória pela duração do ciclo de descoberta. Não persistido através de inicializações a menos que você escolha parear.
- Preferências do app. Tipo de controle por slot (Xbox / PlayStation / Switch Pro), as chaves Microfone e Som do controle de cada controle (o microfone vem desligado por padrão), layouts do overlay de toque por jogo, escolha de idioma. Guardadas em
SharedPreferencesno seu aparelho. - Logs do Android. Como todo app Android, o Dish escreve mensagens de diagnóstico no log do sistema Android (
logcat). Esses nunca saem do seu dispositivo; eles são visíveis para você (e para qualquer um com acesso de USB debugging ao seu celular), mas não são transmitidos para lugar nenhum.
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.
INTERNET. Necessária para enviar pacotes UDP criptografados de controle para um Satellite na sua LAN e para realizar o handshake HTTPS de pareamento. Não contatamos nenhum servidor que operamos.ACCESS_NETWORK_STATE. Permite que o app perceba quando você não tem Wi-Fi e mostre um banner útil em vez de falhar silenciosamente.ACCESS_WIFI_STATE. Usada para detectar se você está em Wi-Fi, para que o app possa te avisar que o Satellite está inalcançável por dados móveis.CHANGE_WIFI_MULTICAST_STATE. Necessária para descoberta mDNS / Bonjour de servidores Satellite na sua LAN. Sem ela, o único caminho de descoberta é o broadcast UDP legado.ACCESS_LOCAL_NETWORK. Versões mais novas do Android colocam atrás desta permissão a descoberta de aparelhos na sua rede local e a conexão com eles. Versões anteriores a consideram implícita emINTERNET.WAKE_LOCK. Mantém a tela / CPU acordadas durante uma sessão de streaming ativa para que um botão apertado não seja atrasado pelo Doze.FOREGROUND_SERVICEeFOREGROUND_SERVICE_CONNECTED_DEVICE. O Android exige um serviço de primeiro plano para manter uma sessão de dispositivo conectado de longa duração viva quando o app está em segundo plano. O tipo de serviço connected-device combina com o caso de uso controlador-para-host.POST_NOTIFICATIONS(Android 13+). Posta a notificação de sessão em andamento exigida pelo serviço de primeiro plano, mais banners opcionais para mudanças de estado de conexão. Você pode recusar e o app ainda funciona; a notificação só não fica visível.VIBRATE. Roteia eventos de vibração encaminhados do seu jogo para o(s) vibrador(es) do celular para que você os sinta na sua mão.RECORD_AUDIOeFOREGROUND_SERVICE_MICROPHONE. Para agir como o microfone do próprio controle emulado, para que o chat de voz no seu PC ouça você pelo controle. Pedida em tempo de execução, só quando você liga o Microfone em um controle; recusar deixa todo o resto funcionando. O tipo de serviço em primeiro plano de microfone só é reivindicado enquanto um controle com o Microfone ligado está transmitindo, para a sessão continuar funcionando com o app em segundo plano.BLUETOOTH/BLUETOOTH_ADMIN(Android 11 e anteriores),BLUETOOTH_CONNECTeBLUETOOTH_SCAN(Android 12+). Necessárias só se você parear um controle Bluetooth ao seu celular ou usar o passthrough Bluetooth HID para registrar o seu celular como controle Bluetooth virtual em outro aparelho.BLUETOOTH_SCANé declarada comneverForLocation: não deduzimos a sua localização a partir dos resultados de varredura e não coletamos dados de varredura.
O app não pede nenhuma destas permissões: localização (precisa ou aproximada), câmera, contatos, calendário, SMS, registro de chamadas, sensores corporais, arquivos / mídia. O microfone é a única permissão sensível que ele pede, só quando você liga o microfone de um controle, e não é usado para mais nada. Se uma versão futura precisar de outra permissão, esta política será atualizada antes do lançamento.
4. Comportamento de rede
O Dish para Android gera tráfego de rede em cinco lugares:
- Descoberta de LAN. O app envia e escuta consultas mDNS / Bonjour no endereço multicast
224.0.0.251:5353, e escuta beacons legados de broadcast UDP na porta 9879. Esse tráfego fica na sua rede local. - Handshake de pareamento. Quando você toca em um Satellite descoberto e insere o PIN de 4 dígitos exibido no Satellite, o app faz uma única requisição HTTPS POST ao IP do Satellite na porta TCP 9443. O corpo da requisição contém uma chave pública X25519 de 32 bytes, o PIN, o identificador do dispositivo e o rótulo do dispositivo. O certificado do Satellite é autoassinado e não é validado contra uma CA pública; a confiança é estabelecida pelo PIN, que é consumido uma vez e depois destruído.
- Sessão de streaming. Depois de pareado, o app envia pacotes UDP autenticados com ChaCha20-Poly1305 para o IP do Satellite na porta 9876 e escuta no mesmo socket os pacotes de retorno (vibração, lightbar, efeitos de gatilho, luzes de jogador, eventos de status). Os heartbeats saem a cada 2 segundos. Quando você liga o microfone ou o alto-falante de um controle, o áudio codificado em Opus viaja pela mesma sessão criptografada nas duas direções.
- Hosts Moonlight. O Dish também pode ser o controle de um host Sunshine, Apollo ou Wolf, falando o protocolo Moonlight (GameStream) em vez do protocolo do Satellite. Os hosts são encontrados por mDNS (
_nvstream._tcp) ou adicionados pelo endereço. O pareamento segue esse protocolo: algumas requisições HTTP ao host na porta 47989, que o protocolo fixa como HTTP em texto puro porque ainda não existe um segredo compartilhado. O PIN nunca passa pela rede; os dois lados derivam uma chave dele e provam que a têm. Daí em diante, toda chamada é TLS mútuo na porta 47984 com o certificado de cliente do celular, e o certificado do host fica fixado, de modo que um host trocado é recusado. Para abrir uma sessão de controle, o app inicia ou retoma um aplicativo no host e então envia as entradas do seu controle, movimento, touchpad e bateria pelo canal de controle criptografado (AES-GCM) do protocolo. O host também transmite a tela e o áudio dele nas configurações mais baixas que permite, porque o protocolo precisa de um fluxo para manter a sessão aberta; o Dish descarta esses pacotes sem decodificar e nunca os armazena nem mostra. O host fica sabendo o id de cliente do celular, um nome de aparelho e o certificado de cliente. Tudo isso fica na sua rede local. - Relatos de crash. Se (e apenas se) o app falhar ou tiver ANR, o SDK do Firebase Crashlytics incluído faz upload de um relato de crash para o Google. O escopo detalhado e exclusões estão na seção 5. Não há caminho de telemetria de operação normal: sem endpoint de analytics, sem endpoint de "verificar atualizações", sem endpoint de configuração remota. Verificações de atualização são feitas pela Google Play Store ou por você manualmente.
Tudo o que passa pela pilha de URLs do Android é travado por um network_security_config.xml explícito que nega texto puro para qualquer host, para que uma regressão futura não consiga rebaixar silenciosamente uma conexão para HTTP simples. Duas coisas ficam fora dessa pilha: o fio UDP criptografado, que carrega a própria autenticação, e a fase de pareamento do Moonlight, que o protocolo GameStream fixa como HTTP em texto puro e que não carrega nenhum segredo.
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 stack trace (Kotlin e/ou nativo).
- Modelo do dispositivo, fabricante, versão do Android, idioma, RAM livre e disco livre no momento do crash.
- O código de versão e nome de versão do app.
- Um ID de Instalação do Firebase: um UUID gerado automaticamente que nos permite contar instalações únicas afetadas sem te identificar pessoalmente.
- As últimas linhas de log que explicitamente sinalizamos como relevantes. Não fazemos upload de conteúdo geral de
logcat.
O Crashlytics não recebe:
- Os nomes, IPs ou endereços MAC dos Satellites, hosts Moonlight ou hosts Bluetooth com os quais você pareia.
- Seus eventos de entrada de controle, incluindo streams de movimento e touchpad.
- Seu SSID de Wi-Fi, BSSID ou endereço IP.
- Qualquer informação de contato, endereço de e-mail ou nome.
- O conteúdo do fio UDP criptografado de controle.
- Qualquer áudio de microfone ou alto-falante, ou áudio de qualquer tipo.
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:
- AndroidX (Google): bibliotecas padrão de suporte do Android.
- Material Components for Android (Google): widgets Material 3 de UI.
- AndroidX GameActivity (Google): ponte nativa de game-loop.
- libsodium (construído do código-fonte via NDK): a biblioteca de primitivas criptográficas, usada para ChaCha20-Poly1305 e X25519. Não inicia nenhum tráfego de rede.
- libopus (compilado do código-fonte via NDK): o codec do microfone e do alto-falante do controle. Não inicia nenhum tráfego de rede.
- Firebase Crashlytics + Firebase Installations (Google): apenas relato de crash + ANR, escopo detalhado na seção 5. O SDK é sempre incluído no APK; ele só inicializa quando o build foi montado com um
google-services.jsonválido. Sem esse arquivo (por exemplo, qualquer um que construa do código-fonte sem um projeto Firebase), o Crashlytics fica inerte em runtime e nada sai do dispositivo.
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:
- As chaves compartilhadas dos Satellites pareados, os hosts Bluetooth e Moonlight lembrados e a identidade de cliente Moonlight (arquivo
connection_store.xmle o Android Keystore) ficam excluídos do backup automático e da transferência entre aparelhos, para que o material de criptografia nunca saia do seu aparelho. Ao trocar de celular, o certo é parear de novo. - A preferência de opt-out de relato de crash (arquivo
user_preferences.xml) é incluída no backup em nuvem, para que um "não obrigado" deliberado se carregue para um dispositivo de substituição sem que você precise virar o toggle de novo.
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:
- Parar a coleta (direito a objetar / retirar consentimento): abra o app, toque no ícone de engrenagem na tela principal, então em Configurações sob Diagnósticos desligue Compartilhar relatos de crash. A preferência tem efeito pelo resto da sessão imediatamente e é reaplicada antes que qualquer crash possa ser carregado a cada inicialização subsequente do app. Desinstalar o app ou construir do código-fonte sem um
google-services.jsonsão caminhos equivalentes de parar a coleta. - Acesso, correção, eliminação, portabilidade: mande um e-mail para privacy@tinkernorth.com com a data / hora aproximada do crash e o modelo do seu aparelho. Não mostramos o ID de Instalação do Firebase na UI do app, então identificamos relatos por timestamp + modelo do aparelho em vez de pedir que você cave o ID de logs de debug. Verificaremos se algum relato bate e responderemos em até 30 dias conforme exigido pelo Art. 12(3) da GDPR.
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