Jurídico
Política de privacidade
O que o aplicativo MiExpenses e este site fazem com dados. Escrito a partir da leitura do aplicativo e do servidor, e não do preenchimento de um modelo — por isso ele nomeia as coisas que um modelo teria deixado de fora.
Última atualização:
1Quem é o responsável
O MiExpenses é feito e mantido por uma pessoa, Alexander Volkov. Não há empresa por trás disso. É ele o controlador dos dados de tudo o que está descrito aqui, e dúvidas, pedidos de cópia dos seus dados e pedidos de exclusão vão todos para o mesmo endereço: contacts@mve.suxlv2.space.
2O que este documento abrange
Ele abrange o aplicativo Android MiExpenses e este site. O site é feito de páginas estáticas: não executa scripts, não carrega fontes, imagens ou arquivos de outros servidores e não faz nenhuma requisição a ninguém além do servidor que entrega a página a você. Ler o site não grava cookies e não conta a ninguém que você esteve aqui. Tudo o que vem abaixo é sobre o aplicativo.
3O que você nos dá
O aplicativo precisa de uma conta, então a primeira coisa que ele pede é um endereço de e-mail e uma senha, ou a entrada com o Google. Entrar com o Google nos dá esse mesmo único campo: o aplicativo lê apenas o endereço de e-mail da credencial do Google, e o token do Google em si fica no telefone. O restante é o que você escolhe durante a configuração inicial.
Guardado na conta:
- O seu endereço de e-mail. Ele é o nome da conta e a chave sob a qual todo o resto é guardado.
- O seu país. Escolhido na configuração inicial ou preenchido pela consulta descrita mais adiante.
- A sua moeda. Valores lançados em outras moedas são convertidos para ela nos totais.
- A sua unidade de distância: quilômetros ou milhas.
- A sua unidade de volume: litros, galões imperiais ou galões americanos.
- Se o MiExpenses Premium está ativo na conta.
4O que você registra no aplicativo
Tudo o que você lança sobre um veículo e os custos dele é armazenado no nosso servidor, e não apenas no seu telefone. Isso inclui campos que muita gente supõe que fiquem no aparelho.
- Veículo: nome, tipo, marca, modelo, ano, cilindrada, capacidades dos tanques e tipos de combustível, leitura do odômetro e, se você os preencher, a placa e o VIN.
- Despesa: data, categoria e subcategoria, odômetro, valor e moeda, e o comentário em texto livre.
- Abastecimento: além disso, o preço por unidade, o volume, o tipo de combustível e as marcações de tanque cheio e de não incluir nas estatísticas.
- Lembretes, as subcategorias de despesa que você cria e os registros de compartilhamento.
- A sugestão enviada pelo aplicativo: a avaliação em estrelas, o seu texto e o seu identificador de usuário.
- Com os limites mensais e os modelos de despesa é diferente. Eles chegam ao servidor só enquanto o MiExpenses Premium estiver ativo na conta; sem ele, ficam no telefone, e é também por isso que um segundo telefone não os mostra.
5O que o aplicativo coleta por conta própria
Três coisas acontecem sem que você peça, e duas delas não podem ser desligadas dentro do aplicativo.
- Um token push. O Firebase Cloud Messaging emite um token para a sua instalação, e o aplicativo o envia ao nosso servidor junto com o seu endereço de e-mail, que é a chave sob a qual ele é guardado. O envio acontece depois que você entra na conta, quando o token muda e depois de uma reinicialização do aparelho, tendo você permitido as notificações ou não.
- Uma consulta de país pelo endereço IP. Na configuração inicial e a cada abertura da tela inicial com conexão funcionando, o aplicativo pergunta a um serviço de geolocalização terceiro a que país pertence o seu endereço IP. Existem três serviços desses, e o aplicativo os procura um a um até que algum responda; nenhum deles é nosso, e cada um deles vê o seu endereço IP. Este documento não os nomeia: qual deles responde é um detalhe de implementação, ao passo que o que sai do seu telefone é o mesmo de um jeito ou de outro. Nada pede o seu consentimento, não existe configuração para desligar isso, e a resposta só é gravada no seu perfil quando o seu país ainda não está definido.
- Publicidade. O SDK Google Mobile Ads é iniciado toda vez que a tela inicial abre, inclusive nas sessões em que nenhum anúncio chega a ser solicitado. Há exatamente um espaço publicitário no aplicativo: um vídeo premiado em tela cheia antes de a lista de estatísticas globais abrir, exibido a contas sem a marcação de pagas. A solicitação é montada com as configurações padrão, ou seja, ela não é marcada como não personalizada, e nenhum formulário de consentimento é exibido. O que esse SDK recolhe vai para o Google, não para nós, e são os termos do próprio Google que tratam disso.
6Análise de uso e relatórios de falhas
O SDK do Firebase Analytics faz parte da compilação, mas uma marcação no manifesto do aplicativo desliga a coleta de dados. O aplicativo também não envia eventos de análise próprios: não há no código-fonte dele uma única chamada de evento ou de propriedade de usuário.
Não existe relatório de falhas nem monitoramento de desempenho de espécie alguma: nem Crashlytics, nem equivalente de terceiros, nem tratador de falhas feito em casa. Se o aplicativo travar no seu telefone, nenhum stack trace chega até nós e não ficamos sabendo. O único jeito de sabermos de um problema é você nos escrever.
7Estatísticas globais
O aplicativo tem uma tela que coloca um veículo ao lado da mesma marca e do mesmo modelo pertencentes a outras pessoas. Ela funciona porque o nosso servidor mantém uma linha para cada veículo que se qualifica e mostra essa lista a outras pessoas que usam o aplicativo.
Um veículo entra na lista somente depois de pelo menos dez registros, trinta dias de histórico, atividade nos últimos sessenta dias e pelo menos mil unidades de distância. A marca e o modelo dele também precisam estar no catálogo do servidor, e a conta precisa ter a marcação de paga do nosso lado. As linhas não são combinadas em médias: cada linha é um veículo.
O que uma linha contém e o que ela não contém:
- Um identificador numérico do proprietário, o país, a marca, o modelo e o ano de fabricação.
- Os totais daquele veículo: distância, volume de combustível e custo.
- Ela não contém a placa, o VIN, o seu endereço de e-mail nem nenhuma despesa individual.
- Não existe no aplicativo nenhuma opção que mantenha o seu veículo fora dessa lista.
8A compra do Premium
Se você comprar o MiExpenses Premium, o pagamento em si é tratado pelo Google Play: não vemos o seu cartão nem os seus dados de cobrança, e nenhum dinheiro passa por nós. Duas coisas, ainda assim, envolvem a gente. Ao Google Play é dado o número sob o qual a sua conta está guardada, para que ele possa dizer ao nosso servidor a que conta pertence uma compra; e o aplicativo envia ao nosso servidor o token de compra emitido pelo Google Play, que o servidor confere com o Google e depois marca a conta como paga. Essa marca fica guardada na sua conta, e é ela que abre os recursos pagos em todos os aparelhos em que você entrar.
9Para onde os dados vão
Tudo o que o aplicativo armazena vai para os servidores do próprio desenvolvedor, por HTTPS. Existem dois pontos de entrada; o aplicativo escolhe entre eles sozinho, e você pode fixar um deles nas configurações. Não há armazenamento em nuvem de terceiros nessa cadeia: nem Google Drive, nem Dropbox, nem serviço de arquivos de espécie alguma. Este documento não nomeia nem os endereços desses servidores nem um país de armazenamento: os endereços são infraestrutura, que pode mudar sem que nada mude para você, e o país seria uma afirmação que não temos como sustentar com nada que você pudesse conferir.
Os dados saem do seu telefone para:
- O nosso próprio servidor, por HTTPS. A sua conta, os veículos, as despesas, os lembretes, as categorias e os registros de compartilhamento ficam ali.
- O Firebase Authentication, para a entrada por e-mail e a entrada com o Google.
- O Firebase Cloud Messaging, para o token push e para as mensagens de ativação, que não levam dados pessoais próprios.
- O Google AdMob, para o único vídeo premiado descrito acima.
- Um de três serviços de geolocalização terceiros, para a consulta de país pelo endereço IP.
- Google Play, para a compra do MiExpenses Premium e para conferir que ela continua de pé.
10Como isso é protegido
O tráfego entre o aplicativo e o servidor é HTTPS, e a versão publicada recusa HTTP simples. As senhas são tratadas pelo Firebase Authentication e nunca chegam ao nosso servidor, que não tem campo de senha nem coluna de senha; para a entrada por e-mail, o Firebase ainda exige um endereço confirmado. No telefone, a cópia em cache do registro da sua conta no arquivo de configurações é criptografada com AES/GCM sob uma chave criada e guardada no Android Keystore, de modo que ela não pode ser lida a partir de uma cópia desse arquivo.
Essa é a lista inteira, e vale ser exato sobre o que ela não é. Isto não é criptografia de ponta a ponta e não é conhecimento zero: os dados são legíveis no servidor, e o desenvolvedor pode lê-los. O banco de dados de despesas no seu telefone é um banco comum, sem criptografia, protegido pelo sandbox de aplicativos do Android e pela criptografia do próprio aparelho. A fixação de certificados não é usada. Se algum detalhe for sensível o bastante para que isso importe, a resposta segura é não digitá-lo.
11Compartilhar um veículo
Você pode dar a outra pessoa cadastrada acesso a um dos seus veículos em um de três níveis: visualização, adição de despesas ou transferência da propriedade. O compartilhamento vale para o veículo inteiro. Registros individuais não podem ser retidos dele.
- O convite é criado a partir de um endereço de e-mail que você digita, e esse endereço fica armazenado no nosso servidor como parte do registro de compartilhamento.
- Um convite pendente já movimenta dados. A partir do momento em que o convite existe, o servidor trata aquela conta como tendo acesso, então o telefone dela baixa e guarda o veículo e os lançamentos dele na sincronização seguinte. O aplicativo esconde o veículo dessa pessoa até que ela aceite, mas a essa altura os dados já estão no aparelho dela.
- Depois de aceito, ela vê o cartão do veículo, todas as despesas e lembretes ligados a ele, inclusive os lançamentos feitos por outros participantes, e as suas categorias de despesa.
- Um lançamento marcado como Não incluir nas estatísticas não é um lançamento privado. Ele é armazenado e sincronizado como qualquer outro, fica visível para todos com quem o veículo é compartilhado e aparece na exportação em CSV.
- Revogar o acesso remove o veículo do aplicativo da outra pessoa imediatamente e a impede de alterar qualquer coisa dali em diante. Isso não alcança o que o telefone dela já baixou, e o próprio registro de compartilhamento permanece no nosso servidor, marcado como excluído.
- A transferência da propriedade é definitiva e não pode ser desfeita. O PIN que a confirma é armazenado no nosso servidor em texto puro e comparado sem diferenciar maiúsculas de minúsculas, então trate-o como um aperto de mão, e não como uma senha.
12Backup do aparelho
A partir da versão 5.0.0, o aplicativo se exclui do sistema de backup do Android: tanto o backup em nuvem para a sua conta do Google quanto a transferência entre aparelhos ficam desligados para todas as partes dos dados do aplicativo. As versões até a 4.1.0, inclusive, não faziam essa exclusão, então, se você usa o aplicativo há algum tempo, uma cópia do banco de dados local e das configurações dele pode já estar em um backup do Google. Essa cópia está na sua conta do Google, e não na nossa, e é removida do jeito que o Google permite remover backups de aplicativos. As ferramentas de transferência criadas pelos fabricantes de telefones funcionam fora do sistema de backup do Android e não são alcançadas por essa configuração.
13Por quanto tempo isso é guardado, e a exclusão
Os dados ficam no servidor enquanto a conta existir. Excluir um veículo, uma despesa, um lembrete, uma categoria ou um registro de compartilhamento dentro do aplicativo é uma exclusão lógica no servidor: a linha deixa de ser mostrada e deixa de ser sincronizada, mas é mantida e marcada como excluída.
Não existe no aplicativo uma tela de exclusão da conta, e o servidor também não tem um endpoint para isso. A exclusão é um pedido por e-mail para contacts@mve.suxlv2.space, atendido pela única pessoa que lê aquele endereço. Esse é todo o procedimento, e fingir o contrário seria mais fácil de escrever do que de cumprir.
Na prática:
- Excluir dentro do aplicativo: o lançamento sai do seu aplicativo e do aplicativo de quem tem o compartilhamento, e é mantido no servidor marcado como excluído.
- Sair da conta: nada é excluído em lugar nenhum. Os lançamentos que ainda estão na fila de envio se perdem se você sair antes que eles sejam enviados, e o aplicativo avisa você sobre isso antes.
- Desinstalar: a cópia local vai embora. Entrar na conta de novo traz de volta o que o servidor guarda, inclusive os limites mensais e os modelos de despesa, se o Premium os tiver salvado lá; tudo o que nunca chegou ao servidor está perdido.
- Excluir a conta e os dados dela no servidor: escreva para contacts@mve.suxlv2.space.
14Os seus direitos
Você pode perguntar o que está guardado a seu respeito, pedir uma correção, pedir uma cópia, pedir a exclusão ou se opor a parte do tratamento. Há um único endereço para tudo isso: contacts@mve.suxlv2.space. Escreva do endereço sob o qual a conta está cadastrada, porque esse endereço é o único identificador que temos de você.
- Acesso e cópia. O aplicativo exporta um veículo por vez para CSV ou para um relatório em PDF, e o CSV é o mais completo dos dois. Para o que a exportação não cobrir, peça por e-mail.
- Correção. A maioria dos campos pode ser corrigida no próprio aplicativo. Onde isso não for possível, peça por e-mail.
- Exclusão. Por e-mail, como descrito na seção acima.
- Oposição. Por e-mail, inclusive a oposição a que o seu veículo apareça na lista de estatísticas globais: não há no aplicativo uma opção para isso, então tem de ser um pedido.
15Mudanças nesta política
Quando este documento muda, a data no alto da página muda com ele, e essa data é a única marca: o aplicativo não empurra atualizações da política para você. Se alguma mudança vier a significar que algo novo passa a ser coletado, isso será descrito aqui com o mesmo detalhe de todo o resto, antes de a mudança chegar ao aplicativo.

