FlyControl: privacidade e termos de uso
A política de privacidade diz o que o app coleta, quem mais recebe e como apagar. Os termos de uso dizem o que é grátis, o que é pago e o que você pode fazer com o app.
Política de privacidade
Atualizado em
O FlyControl é um cliente não oficial do Fly.io. Ele não tem conta própria nem servidor. A única coisa que guarda é o token do Fly.io que você informa, e esse token vai do seu celular direto para o Fly.io, e para nenhum outro lugar. Fora isso, o app envia um conjunto de estatísticas de uso anônimas e, quando algo quebra, um relatório de falha.
Eu, Tiago Danin, sou o desenvolvedor e o controlador desses dados, nos termos da LGPD (Lei 13.709/2018). Se você está na União Europeia, o GDPR te dá os mesmos direitos e eu respondo do mesmo jeito. Escreva para TiagoDanin@outlook.com sobre qualquer coisa disso. O FlyControl não é afiliado, endossado nem mantido pelo Fly.io.
O que você informa ao app
Seu token do Fly.io
Para conectar, você cola um token do Fly.io, normalmente um token de organização gerado com fly tokens create org, ou a saída de fly auth token. Antes de salvar, o app confere com o Fly.io se o token funciona e lista as organizações dele.
O token fica no armazenamento criptografado do celular, o Android Keystore ou o Keychain do iOS, junto com o nome que você dá à conta e os identificadores e nomes das organizações. No iOS ele fica restrito a este aparelho e não é restaurado em outro. Dá para conectar mais de uma conta; cada uma é guardada do mesmo jeito.
O token é enviado só para a API do Fly.io, em api.machines.dev e api.fly.io, no cabeçalho de autorização de cada requisição. Eu nunca o recebo.
O que o app carrega do Fly.io
Com o seu token, o app pede ao Fly.io seus apps, máquinas, regiões, logs, métricas e histórico de deploys. O histórico de deploys inclui o e-mail de quem fez cada release, mostrado nos detalhes do deploy. Tudo isso fica na memória enquanto o app está aberto e não é gravado no aparelho. Quando você inicia, para, reinicia ou destrói uma máquina, o comando vai para o Fly.io do mesmo jeito.
O Fly.io trata essas requisições sob a política de privacidade dele.
O que mais fica no seu celular
O app salva sua preferência de aparência (claro, escuro ou do sistema), a organização selecionada e se você está no modo de demonstração. Ele só lê a área de transferência quando você toca em Colar na tela de conexão, e só escreve nela quando você copia uma linha de log ou um valor.
Ele também guarda alguns números para ele mesmo: quantas vezes você abriu o app, em qual abertura ele pediu avaliação pela última vez e os dias da sua primeira e da sua última abertura. Eles não saem do celular do jeito que estão; as estatísticas abaixo só levam faixas feitas a partir deles, como "2 a 7 dias desde a última abertura", e o mês da primeira abertura.
Na 3ª, na 5ª e na 10ª vez que você abre o app com uma conta conectada, ele pode pedir à loja (Google Play, ou App Store no iPhone) que mostre o cartão de avaliação. É a loja que decide se o cartão aparece. Suas estrelas e o comentário, se houver, vão para a loja, sob os termos dela, e o app nunca fica sabendo se você avaliou nem o que escreveu.
Estatísticas de uso
O Google Analytics para Firebase registra como o app é usado: conectar (e por que uma conexão falhou), entrar no modo demonstração, trocar, remover ou desconectar contas, mudar de organização, as telas que você abre, quantos apps ou máquinas uma lista tem (em faixas como "2 a 5"), abrir um app ou uma máquina, os comandos de máquina que você executa e se deram certo, o período de métricas que você escolhe, abrir os logs e filtrá-los por nível, puxar para atualizar, o tipo de erro que uma tela mostra e a configuração de aparência. Ele também registra se você está no modo demonstração.
Na tela de conexão, ele registra se você usou o botão Colar e se a área de transferência tinha texto, o tipo de token colado (lido pelo prefixo, como um token de organização), quantas tentativas a conexão levou, mais ou menos quanto tempo você ficou na tela e se você abriu a ajuda do token ou saiu de adicionar conta sem terminar. Ele também registra a primeira busca em Apps ou Máquinas e se ela não achou nada (nunca o que você digitou), os estados de máquina que você filtra, abrir máquinas a partir de uma região, abrir um deploy (com o status dele), cancelar um comando de máquina, uma máquina que ligou ou desligou fora do app, um fluxo de logs que começa, uma linha de log que você copia (só o nível dela), métricas que não carregam, quanto tempo o Fly.io levou para responder em faixas, cada abertura com os dias desde a última e desde a primeira em faixas, e quando um cartão de avaliação foi pedido. Cada estatística leva junto se é o modo demonstração, a configuração de aparência, faixas de quantas contas, organizações, apps e máquinas você tem e o mês da sua primeira abertura. Ele nunca registra seu token, nomes ou IDs das suas organizações, apps ou máquinas, linhas de log, valores de métricas nem nada que venha do Fly.io.
Quando o app trava, o Firebase Crashlytics envia um relatório de falha: o rastro técnico do erro, o modelo do aparelho, o sistema operacional, a versão do app e um ID que o Crashlytics cria para esta instalação. Um pedido de avaliação que falha também é relatado assim. O relatório não leva ID de usuário nem nada que venha do Fly.io. As versões de desenvolvimento do app não enviam nenhum.
Como qualquer app que usa o SDK, ele também registra eventos automáticos, como a primeira abertura e cada sessão, junto com um ID desta instalação, modelo do aparelho, sistema operacional, versão do app e localização aproximada. No Android, o SDK pode ler a origem da instalação (como você chegou ao app no Google Play). O app desliga o ID de publicidade, então o SDK não lê nem envia esse ID. O app não envia ID de usuário e não usa esses dados para publicidade.
O Google opera o Firebase e trata esses dados em meu nome, em servidores que podem estar fora do Brasil, inclusive nos Estados Unidos. Os termos deles: privacidade do Firebase e Política de Privacidade do Google. As estatísticas e os relatórios de falha são mantidos pelo prazo de retenção configurado no Firebase, depois do qual o Google os apaga.
Não tem anúncio nem notificação. Não vendo, não alugo e não compartilho dados com ninguém.
Para que é usado
Seu token e seus dados do Fly.io servem só para mostrar os seus próprios recursos e executar os comandos que você escolhe, que é o serviço que você pediu. As estatísticas de uso e os relatórios de falha servem para achar bugs e ver quais recursos as pessoas usam, com base no meu legítimo interesse em manter o app funcionando.
Apagar
No app, remova uma conta, ou desconecte todas, e os tokens guardados são apagados do aparelho. Desinstalar o app também apaga. O token continua existindo no Fly.io até você revogá-lo lá, com fly tokens revoke ou no painel do Fly.io. Faça isso se perder o celular.
As estatísticas de uso e os relatórios de falha não levam nome nem conta, então em geral não consigo saber quais são seus; mesmo assim, você pode me perguntar o que existe, pedir que eu apague ou se opor ao tratamento. Você ainda pode me escrever com qualquer dúvida sobre seus direitos, e eu respondo em até 15 dias. Você também pode reclamar na ANPD, a autoridade nacional de proteção de dados.
Segurança
As requisições ao Fly.io são criptografadas no caminho, e o token fica no armazenamento criptografado do sistema. Nenhum sistema é totalmente seguro. Use um token com o menor escopo que funcione para você.
Crianças
O FlyControl é feito para adultos que mantêm infraestrutura no Fly.io. Não é direcionado a crianças, e não coleto de propósito dados de menores de 18 anos.
Mudanças
Se esta política mudar, a data no topo muda junto. Uma mudança que afete o que é coletado ou para onde vai será descrita aqui antes de a versão que a traz ser publicada.
Contato
Tiago Danin, TiagoDanin@outlook.com.
Termos de uso
Atualizado em
Estes termos valem para qualquer pessoa que instale ou use o FlyControl no Android ou no iOS. Conectar uma conta significa aceitá-los. Se não aceitar, desinstale o app.
Quem oferece o app
Tiago Danin, pessoa física, no Brasil, que desenvolve e publica o FlyControl. "Eu" e "me" abaixo se referem a ele. "Você" é quem usa o app.
O que o FlyControl é
Um cliente independente da API do Fly.io. Ele lista seus apps e máquinas, mostra logs, métricas e deploys, e deixa você iniciar, parar, reiniciar ou destruir uma máquina.
O FlyControl não é afiliado, endossado nem mantido pelo Fly.io. Fly.io é marca do seu titular. Para problemas com a sua conta, cobrança ou infraestrutura no Fly.io, fale com o Fly.io, não comigo.
Preço
Gratuito, sem anúncio e sem compras.
Você mexe em infraestrutura real
Cada comando roda nos seus recursos de verdade no Fly.io. Parar uma máquina derruba o seu serviço. Destruir uma máquina é definitivo e não pode ser desfeito pelo app nem por mim. O app pede confirmação antes de destruir, e a decisão continua sendo sua.
Você responde pelo token que conecta, pelas permissões que ele carrega e por tudo o que for feito com ele pelo app, inclusive custos que o Fly.io te cobrar. Use um token com o menor escopo que funcione, e revogue-o no Fly.io se perder o celular.
O Fly.io pode mudar
O FlyControl depende da API do Fly.io, dos limites dela e dos termos do Fly.io. Parte do que ele usa, como o endpoint de logs, não tem documentação oficial. Se o Fly.io mudar ou limitar a API, recursos podem parar de funcionar até eu adaptar o app, ou de vez. O seu uso do próprio Fly.io segue os termos do Fly.io.
O que você pode fazer com ele
Concedo a você uma licença pessoal, gratuita, não exclusiva e revogável para usar o FlyControl nos seus aparelhos. Você não pode revendê-lo, redistribuí-lo nem usá-lo em contas que não tem autorização para gerenciar. O nome, o ícone e o design são meus.
Responsabilidade
O FlyControl é oferecido do jeito que está. Os dados mostrados vêm do Fly.io e podem estar atrasados ou incompletos. Na medida em que a lei brasileira permite, não respondo por serviço fora do ar, perda de dados, máquinas destruídas, cobranças do Fly.io ou qualquer outro dano causado por comandos que você envia ou por confiar no que o app mostra. Nada aqui tira um direito que a lei te dá e que contrato nenhum pode tirar, como os do Código de Defesa do Consumidor.
Privacidade
O que o app guarda e para onde vai está descrito na política de privacidade desta mesma página.
Mudanças
Posso atualizar estes termos. A data no topo muda quando isso acontece. Continuar usando o FlyControl depois disso significa aceitar a nova versão.
Lei aplicável
A lei brasileira rege estes termos. O que um e-mail não resolver vai para o foro da comarca de Belém, Pará, sem prejuízo do seu direito, como consumidor, de processar no lugar onde mora.
Contato
Tiago Danin, TiagoDanin@outlook.com.
Este site tem documentos próprios, separados dos do app: privacidade e termos do site.