Política de Privacidade do WhiskerCheck

Última atualização: 10 de outubro de 2026.

Esta política explica o que o WhiskerCheck faz com os seus dados. Ela foi escrita a partir do que o código faz de verdade, não do que gostaríamos que ele fizesse.

Quem é o responsável

Miguel Gamarra, pessoa física. Endereço: Proviv. Res. La Esperanza, Carabayllo, Lima 15121, Perú. Contato para qualquer assunto de privacidade: privacy@whiskercheck.com.

O mais importante

O que fica guardado no seu celular

Quase tudo isto vive no armazenamento normal do app, sem criptografia adicional. As duas últimas linhas são a exceção e vão para o Keychain do celular, que é o lugar onde o iOS guarda o que não deve se perder nem ser copiado para outro aparelho:

Dado O que é
Perfil de cada pet nome, espécie, peso de hoje e, se você preencher, raça, sexo e data de nascimento
Foto de cada pet uma cópia própria dentro do app, não um link para o seu rolo da câmera
Histórico de peso cada pesagem com a sua data, para poder desenhar a curva
Vacinas, vermifugação, medicação e consultas o quê, quando foi feito, quando é a próxima vez e as suas anotações
Diário o que você escrever, com a sua data
Revisão da casa o que você marcou como colocado fora do alcance dele
Histórico os últimos 100 escaneamentos: o veredito inteiro, com o pet e o peso que ele tinha naquele dia, e quanto comeu, se você informou
Idioma, país e aparência se você os mudou na mão nos ajustes
Se você compartilha métricas o que você escolheu em Ajustes → Privacidade
Identificadores do Firebase os que o SDK dele gera para esta instalação. Quem os põe é ele, não nós, e eles só são enviados se as métricas estiverem ativadas
Identificador do app veja a seção seguinte
Quantos escaneamentos grátis você já gastou um número de 0 a 5, e nada mais: nem o que você escaneou nem quando. No Keychain
Identificador do RevenueCat o que o SDK deles gera se você chegar a abrir o muro de pagamento. No Keychain, e quem o põe é ele, não nós

Os lembretes de vacina ou medicação não são um dado desta tabela: quem os programa é o seu celular, não o nosso servidor. Quando você apaga um registro ou apaga tudo, o app os cancela.

Desta tabela, ao nosso servidor chegam com cada escaneamento o identificador do app, a espécie e o peso do pet, o seu idioma, o país se você o escolheu na mão e a quantidade se você a informar, e com cada requisição se você está no plano grátis ou Pro, que o app sabe pela assinatura. E ficam guardados com o escaneamento. Quem conta isso é a seção “O que é enviado ao nosso servidor”. Para outros, algumas linhas saem, sim. O identificador do RevenueCat vai para o RevenueCat. E, se as métricas estiverem ativadas, vão para o Google o identificador do app, os do Firebase, o seu idioma, a sua aparência, o país, se você o escolheu na mão, e quantos escaneamentos grátis você já gastou. Quem conta isso são as seções “As métricas” e “Quem mais vê alguma coisa”.

Você pode apagar todas as linhas de cima em Ajustes → “Apagar tudo o que está neste celular”, ou desinstalando o app, menos as duas últimas. Essas duas vivem no Keychain, e o Keychain sobrevive às duas coisas.

“Apagar tudo” respeita, além disso, a sua escolha sobre as métricas, de propósito: apagar os seus dados não deve voltar a ativar o que você desativou. Desinstalar o app apaga essa escolha, sim. Esse botão troca, sim, o identificador do Analytics, para que no Google o de antes e o de depois não fiquem ligados; o do Crashlytics quem gerencia é o SDK dele, e não há como trocá-lo pelo app. Sem conexão, nenhum dos dois muda: se o servidor não responder, o identificador do app fica para você poder repetir a exclusão, e com ele tudo continuaria ligado. A ligação se desfaz quando você repete com conexão.

E isso é de propósito, então dizemos sem enfeitar: se o contador fosse apagado, reinstalar daria cinco escaneamentos grátis de presente toda vez, e o muro de pagamento não existiria. Comprovado num iPhone em 7 de setembro de 2026 — ao reinstalar, voltaram o mesmo contador e a mesma assinatura, sem apertar “Restaurar compras”.

Leve em conta que, se você tiver ativado o backup do iCloud ou do Google, esses dados podem acabar indo para lá. Esse backup está na sua conta e se rege pelas condições da Apple ou do Google, não pelas nossas. O contador de escaneamentos é a exceção: ele está marcado para não ser copiado para outro celular, nem sequer num backup.

Os dois identificadores

São dois que importam, e não passamos um para o outro. Isso é o importante, e por isso vem primeiro: o RevenueCat não recebe o nosso, então não pode saber o que uma instalação escaneou.

O que mudou em setembro de 2026, e convém dizer aqui: se as métricas estiverem ativadas, o nosso viaja para o Google com elas, e com ele se você está no plano grátis ou Pro, os passos do muro de pagamento e o que sai em cada escaneamento. Nós podemos juntar isso, sim, com os reportes que você enviar e com os escaneamentos que o nosso servidor guarda, que levam o mesmo identificador: é para isso que o usamos. Quem conta isso é a seção “As métricas”.

O nosso

Ao abrir o app pela primeira vez, é gerado um número aleatório (um UUID). Não o obtemos do seu celular nem da sua conta: quem o inventa é o app. Ele serve para quatro coisas: frear o abuso —quantos escaneamentos você já fez na hora em curso—, saber que um reporte de resultado incorreto vem da mesma instalação, saber como cada instalação usa o app e o que falha para ela —o nosso servidor guarda cada escaneamento com ele— e, se você compartilha métricas, ligar o que aconteceu nessa instalação às falhas dela, aos reportes dela e aos registros do nosso servidor.

Esse “quantos escaneamentos” não tem nada a ver com os cinco grátis: são dois contadores diferentes, em dois lugares diferentes. O daqui quem cuida é o nosso servidor, vai por hora e se apaga sozinho. O dos cinco grátis quem cuida é o seu celular, e é para a vida toda; ao nosso servidor ele não chega, e ao Google só como métrica, se elas estiverem ativadas.

Nós o tratamos como dado pessoal. Ele não leva o seu nome e só o compartilhamos com o Google, para as métricas e só se elas estiverem ativadas, mas é estável e identifica a sua instalação, e, sob o GDPR, isso basta.

Se você apagar tudo pelos ajustes, o app avisa o servidor antes para que ele solte o que tiver amarrado a esse identificador, e só depois o apaga do seu celular e começa a usar um novo. Essa ordem importa: ao contrário, perderíamos a única chave para encontrar os seus dados. Se nesse momento não houver conexão, o app avisa você em vez de dar a exclusão como feita.

Desinstalar o app sem passar pelos ajustes não avisa o servidor. Se isso acontecer com você, escreva para privacy@whiskercheck.com e nós fazemos isso — vamos precisar que você nos diga quando e o que escaneou ou reportou, porque sem o identificador não conseguimos localizar isso por você. E, se você não escrever, ele é solto sozinho aos 14 meses.

O do RevenueCat

Quem cuida da assinatura é o RevenueCat, e o SDK dele gera um identificador próprio dele —começa por $RCAnonymousID— na primeira vez que o app arranca com as compras ativas.

Não passamos o nosso para ele, e isso é uma decisão, não um descuido: o SDK aceita que lhe demos um identificador de usuário, e deliberadamente não damos. Também não damos o seu e-mail, nem o seu nome, nem nenhum atributo seu, mesmo que o SDK também permita. Assim, o RevenueCat não recebe nada do que mandamos para o Google, nem o Google o identificador do RevenueCat. O que impede juntar o que cada um sabe é que ninguém passa isso para o outro, e dizemos desse jeito porque é o jeito exato: já tiramos do Firebase o identificador que a Apple dá ao seu iPhone para o nosso app, que era a única coisa que os dois recebiam igual.

Nós não lemos esse identificador em momento nenhum: de tudo o que o RevenueCat responde, o app olha só uma coisa, se a assinatura está ativa ou não. Um sim ou um não.

Este também vive no Keychain, então sobrevive a desinstalar o app e a “Apagar tudo o que está neste celular”. É isso que faz com que, ao reinstalar, a sua assinatura volte sem você ter que restaurá-la, e também o que faz com que “Apagar tudo” não alcance o RevenueCat: esse botão limpa o seu celular e o nosso servidor, não o dele. Para isso, escreva para nós.

O que é enviado ao nosso servidor

O nosso servidor está no Cloudflare Workers.

Ao escanear um código de barras: o código, o identificador do app, a espécie e o peso do pet, e o idioma. Se depois você informar quanto ele comeu, também essa quantidade.

Ao escanear um rótulo ou uma foto: o mesmo, mais a fotografia. A foto é reduzida para 1280 pixels de largura antes de ser enviada; esse reprocessamento elimina de quebra os metadados da imagem original, incluída a localização, se ela a levava.

Ao reportar um resultado incorreto: o identificador do app, o que você escaneou, o veredito que recebeu e o motivo que escolheu.

Se um escaneamento falha dentro do app —a conexão cai, a resposta não chega—: o que falhou, em que passo e quanto tempo já tinha passado, com o identificador do app.

E em cada uma dessas requisições, o app diz de si mesmo: a versão dele, a versão nativa com que roda e o pacote de atualização que tem, o sistema do celular —“ios 26.1”— e se você está no plano grátis ou Pro.

Se você é Pro, o nosso servidor sabe, mas não decide nada com isso. O app diz isso para que possamos separar como usa o app quem paga de quem não paga. O muro de pagamento continua se resolvendo inteiro no seu celular, e da compra não nos chega nada: nem o recibo, nem o preço, nem o identificador do RevenueCat.

Como em qualquer conexão à internet, a Cloudflare vê também o seu endereço IP. O nosso servidor o guarda com cada escaneamento e cada falha durante 30 dias, junto com a rede de onde você se conecta —o número da sua operadora, não a sua localização—. É o que deixa ver que um pico de requisições vem de um programa e não de pessoas, e bloqueá-lo. Ele lê também o país que a Cloudflare deduz dele —duas letras, “PE”, “ES”—, ou o que você tiver escolhido na mão nos ajustes, se o mudou.

Esse país é usado para quatro coisas: escolher o telefone de toxicologia que aparece para você numa emergência, pedir ao modelo o nome que se usa onde você está —“palta” e não “aguacate”—, guardar a resposta separada por país, para que ninguém receba o nome de outro lugar, e anotá-lo com cada escaneamento, para saber de onde o app é usado. É um país inteiro, não uma localização.

O que guardamos no servidor, e por quanto tempo

Aqui não vamos enfeitar nada.

O quê Por quanto tempo O que apaga isso hoje
Cada escaneamento: que modo, a espécie e o peso, o que saiu, o código de barras ou o que foi identificado, quanto demorou, o país, a rede, a versão do app e se você está no plano grátis ou Pro, com o identificador do app O identificador, 14 meses. O resto, indefinidamente Um processo diário automático
O seu endereço IP, com cada escaneamento e cada falha 30 dias Um processo diário automático
As falhas de um escaneamento dentro do app, com o identificador 90 dias, inteiras Um processo diário automático
Reportes de resultado incorreto O identificador e o comentário, 14 meses. O resto, indefinidamente Um processo diário automático
Códigos de barras escaneados, com a data Indefinidamente Nada
Contador antiabuso, por hora (não é o dos cinco grátis, que vive no seu celular) Pouco mais de uma hora Apaga-se sozinho
Cache de produtos 30 dias (7 se o produto não existir) Apaga-se sozinho
Nomes do que você consulta e não temos documentado, com o país Indefinidamente Nada
A resposta guardada para esses nomes 14 dias se ela disse que não consta como perigoso, 30 se alertou sobre algo Um processo diário automático
As fotos 30 dias, no registro técnico das chamadas ao modelo A Cloudflare, quando o prazo se cumpre

Sobre os códigos de barras: guardamos quais produtos alguém já consultou alguma vez, com a data, para não termos que perguntar de novo ao Open Food Facts. Essa tabela não guarda quem os escaneou; o registro de escaneamentos guarda, e quem conta isso é o parágrafo depois do próximo.

Sobre o que você consulta e não temos documentado: a nossa base não cobre tudo o que se pode escanear, então às vezes o que você escaneia não está lá. Quando isso acontece, perguntamos ao assistente e anotamos o nome daquilo que você perguntou —“banana”, “manga”— junto com a espécie e um contador de quantas vezes nos perguntaram isso. Serve para decidir o que documentar em seguida com uma fonte veterinária de verdade, em vez de escolher no olho.

Junto com o nome guarda-se também a resposta, para não pagar de novo a mesma pergunta com a espera que ela custa: a explicação, os sinais, a gravidade e com que modelo ela foi obtida. É a mesma resposta que você viu na tela, e serve para o próximo que perguntar o mesmo.

Junto com tudo isso guarda-se também o país de onde se perguntou. Está aí porque o idioma não basta para nomear as coisas: “palta” e “aguacate” são a mesma fruta e o mesmo idioma, e, se a resposta não fosse separada por país, a primeira que fosse guardada seria servida a todos os demais com o nome errado.

Essa tabela não guarda quem perguntou. Não há identificador de celular, nem foto, nem o nome nem o peso do seu pet: a palavra, a espécie, o idioma, o país, um contador e a resposta. Quem escaneou o quê fica no registro de escaneamentos, que vem a seguir.

Sobre o registro de escaneamentos: desde setembro de 2026, o nosso servidor anota cada escaneamento com o identificador do app, dê certo ou falhe. Guarda o modo, a espécie e o peso, que nível saiu e que substância o decidiu, o código de barras ou o nome do que foi identificado na foto —nunca a foto—, quanto demorou, o país, a rede, a versão do app e se você está no plano grátis ou Pro. Serve para saber como o app é usado, que instalação o usa mais, o que falha e onde, e o que falta documentar; e para ver quando um volume estranho é abuso. Sem o identificador teríamos os números, mas não poderíamos separar com quem acontece cada coisa.

Aos 30 dias tira-se dele o IP, e aos 14 meses o identificador; a linha fica, porque sem eles já não diz de quem é e continua servindo para ver tendências. É o mesmo prazo que as métricas do Google já guardam com o mesmo identificador: o nosso servidor não o retém por mais tempo que elas. E “Apagar tudo o que está neste celular” o solta na hora.

Sobre as fotos: elas não são guardadas em nenhum banco de dados nosso —não há tabela de fotos, nem pasta, nem jeito de procurar a sua—, mas também não somem no ar. A chamada ao modelo passa pelo AI Gateway da Cloudflare, que registra cada requisição com o seu conteúdo, e o conteúdo de uma requisição de foto é a foto. Esse registro é conservado por 30 dias e depois é apagado.

Ele está ligado de propósito e não vamos desligá-lo: é o que nos permite descobrir por que um escaneamento falhou, devolveu algo absurdo ou demorou vinte segundos. Sem ele, uma falha que só acontece com uma pessoa é uma falha que não dá para consertar. Nós o consultamos para isso e só para isso, ninguém de fora o olha, e ele não está associado ao seu nome nem ao seu pet.

No seu celular fica uma cópia temporária na memória interna do app, que o app apaga ao terminar cada escaneamento.

Sobre os reportes: aos 14 meses tiram-se deles o identificador do app e o comentário, e quem faz isso é um processo automático que roda todos os dias. O que sobra —que produto, que veredito, que motivo— já não diz de quem veio, e continua nos servindo para corrigir os dados. Até setembro de 2026 eram noventa dias; o prazo foi ampliado para que um reporte possa ser ligado aos escaneamentos da mesma instalação enquanto estes o estiverem.

As métricas

Desde setembro de 2026 o app mede como é usado e quando falha, com o Firebase Analytics e o Firebase Crashlytics, do Google. Sem isso não saberíamos onde o app trava, o que falha nem que partes servem de verdade, e uma falha que só acontece com poucas pessoas não daria para consertar.

Elas vêm ativadas, e você as desativa em Ajustes → Privacidade quando quiser. Desativadas, o app funciona exatamente igual e para de mandar métricas de uso na hora. Com as falhas há um detalhe: se o app fechar de repente na mesma sessão em que você as desativou, essa falha ainda pode ser enviada na próxima vez que você abrir o app. As que acontecerem com as métricas já desativadas são apagadas sem ser enviadas.

O que é enviado, em linhas gerais:

O app nunca envia por conta própria o nome do seu pet, as fotos dele, o que você escreve no diário, o comentário de um reporte, o código de barras nem a foto de um escaneamento. A única coisa que você escreve e que sai é a da busca, contada acima.

De uma compra, o SDK do Google pode registrar por conta própria o produto, o preço e a moeda. O seu meio de pagamento ninguém vê além da Apple.

O SDK do Google gera ainda identificadores próprios para esta instalação. Ele não recolhe o identificador de publicidade —o app é feito sem ele— nem o que a Apple dá ao seu iPhone para o nosso app (o IDFV), que deixamos desativado. Como fala diretamente a partir do seu celular, o Google vê também o seu endereço IP e deduz dele o seu país e a sua cidade aproximados.

O Google não usa isso para publicidade: deixamos desativados os “sinais do Google” e a personalização de anúncios. O Google Analytics conserva o que está ligado à sua instalação por 14 meses, e o Crashlytics, as falhas por 90 dias; depois isso é apagado. As contagens totais, que já não dizem de quem são, ficam.

Além disso, uma cópia desses eventos e falhas vai todo dia para o BigQuery, na nossa conta do Google Cloud, para podermos consultá-los com mais detalhe do que os relatórios do Google permitem. Essa cópia se apaga sozinha aos 60 dias.

Quem mais vê alguma coisa

Quem O que recebe Para quê
Cloudflare Tudo o que você envia, mais o seu IP. Guarda ainda, durante 30 dias, o registro de cada chamada ao modelo —com a foto dentro— Hospeda o servidor, a base e o cache, e nos deixa ver o que falhou quando algo falha
Google (Firebase) Se as métricas estiverem ativadas, o que conta a seção “As métricas”, com o identificador do app. Por falar a partir do seu celular, vê ainda o seu IP Saber o que é usado e o que falha no app
Google (Gemini) A foto; no modo foto, além disso a lista do que temos documentado e pode ser reconhecido numa imagem; e, quando não temos ficha do que foi escaneado, o nome disso com a espécie e, se havia, a lista de ingredientes. Nos dois casos vai também o seu país, em duas letras Ler o rótulo, identificar o que está na foto, ou responder pelo que não temos documentado — e chamar aquilo como se chama onde você está
Open Food Facts Só o código de barras Saber que produto é
Expo (EAS Update) Toda vez que o app arranca, a partir do seu celular: o seu IP, um identificador próprio da instalação, a versão do app e o sistema Conferir se há uma versão nova do app e baixá-la
RevenueCat O identificador anônimo dele, os eventos de compra, renovação e restauração, e o recibo da Apple com o produto, o preço e a moeda. Por falar a partir do seu celular, vê ainda o seu IP, o modelo, a versão do iOS, o seu idioma e o país da sua App Store Conferir o recibo com a Apple, decidir se a sua assinatura está ativa e devolvê-la a você ao restaurar
Apple O pagamento inteiro: quem você é para eles, o seu meio de pagamento e a transação Cobrar. Nós não vemos nada disso

Três serviços falam diretamente com o seu celular, e por isso veem o seu endereço IP: o RevenueCat; o Firebase, se as métricas estiverem ativadas; e o Expo, que toda vez que o app arranca confere se há uma versão nova do app. Eles fazem isso sozinhos, sem você tocar em nada, não como os dois links do fim desta seção, que só se abrem se você tocar neles. Nenhuma dessas chamadas passa pelo nosso servidor.

O SDK da RevenueCat manda também, por conta própria, o identificador que a Apple dá ao seu iPhone para o nosso app (o IDFV). Não somos nós que pedimos isso e não o vemos, mas ele vai, e preferimos dizer a que você descubra. Não é o identificador de publicidade: esse aqui ninguém recolhe, e é por isso que o app nunca pede permissão para rastrear você.

Nem o Gemini nem o Open Food Facts veem o seu endereço IP. Essas consultas saem do nosso servidor, não do seu celular. (O botão de procurar um veterinário perto é outra coisa e vai à parte, mais abaixo.) Eles também não recebem o identificador do app nem o peso do seu pet. A espécie chega, sim, ao Gemini em dois casos, porque é dela que depende a resposta: no modo foto, a lista de candidatas vai filtrada por espécie; e, quando perguntamos por algo que não temos documentado, a pergunta é literalmente “isto é perigoso para um cão?”.

O país chega ao Gemini por um motivo e só por esse: para que ele devolva o nome que se usa onde você está. São duas letras de um país inteiro, não uma localização, e viajam soltas —sem identificador, sem IP e sem nada do seu pet—, então não aproximam ninguém de saber quem perguntou.

Do seu pet, ao Gemini não chega nada além da espécie. Ao Firebase, se as métricas estiverem ativadas, chegam ainda quantos pets você tem, a faixa de peso e de idade do selecionado e o que a seção “As métricas” conta sobre a ração e o peso. O peso exato dele chega ao nosso servidor —é dele que sai o veredito—, é guardado com o escaneamento e não passa daí. O nome dele, a foto, a raça e o diário não chegam a ninguém.

Não usamos publicidade, identificadores de publicidade, notificações push, localização nem contatos.

Medição há de dois tipos, e eles vão com nome e tudo: as métricas do Firebase, contadas na seção delas, e a conta das assinaturas que o RevenueCat leva —quantas são compradas, quantas são renovadas, quantas são canceladas—, amarrada ao identificador anônimo dele. O do RevenueCat não usamos para mais nada, e não se junta com o que você escaneia porque não podemos juntar.

Os avisos de vacina ou medicação que você pode programar não são notificações push: não saem de nenhum servidor. Quem os agenda é o seu próprio celular, com o que você escreveu, e nós não ficamos sabendo que eles dispararam.

Os casos em que você sai daqui

Os dois desta seção têm algo em comum, e convém dizer antes: nenhum se abre sozinho. (O RevenueCat, o Firebase e o Expo falam sozinhos, sim, e isso está contado mais acima.)

Na tela de veredito há um link para a fonte do dado (ASPCA, o Manual Merck e similares). Se você tocar nele, abre aquele site, e ele vê, sim, o seu endereço IP, como em qualquer visita normal. Não somos nós que controlamos isso. O link não se abre sozinho: só se você tocar nele.

E, num veredito vermelho ou laranja, há um botão para procurar um veterinário de emergência perto. Se você tocar nele, o seu celular abre o Google Maps —ou o Apple Maps, se for o que você tem— com a busca já escrita. Dali em diante você está no app deles e nas condições deles: eles veem o seu endereço IP e, se você der permissão, a sua localização. Nós não damos essa localização a eles: o app não pede a permissão de localização e na busca não viaja nenhum dado seu, só as palavras “veterinário de emergência”. Ele também não se abre sozinho.

O site

whiskercheck.com é um site estático: páginas já escritas que são servidas como estão.

Como em qualquer site, a Cloudflare vê a requisição e o seu endereço IP porque é ela quem serve as páginas, e as conserva nos registros dela conforme a sua própria política. Nós não lemos esses registros nem os cruzamos com nada: o site não sabe quem você é, e não tem como relacionar você com o app.

Menores de idade

O WhiskerCheck não é dirigido a menores de 16 anos e eles não devem usá-lo sem autorização de quem tem a guarda deles. Não pedimos a idade e não temos como comprová-la.

Os seus direitos

Você pode nos pedir acesso aos seus dados, a retificação deles, a sua eliminação, a limitação ou oposição ao tratamento, e a sua portabilidade. Escreva para privacy@whiskercheck.com.

No nosso servidor, o que está associado à sua instalação são os seus escaneamentos, as falhas do app e os reportes que você tenha enviado, e você mesmo pode soltar isso em Ajustes → “Apagar tudo o que está neste celular”, sem escrever para nós nem esperar: as falhas são apagadas inteiras, e dos escaneamentos e reportes tiram-se o identificador, o IP e o comentário. O que sobra depois —que produto, que veredito, que motivo— já não diz de quem veio e continua nos servindo para ver tendências e corrigir os dados.

Se você quiser uma cópia do que a sua instalação tem no nosso servidor, escreva para privacy@whiskercheck.com com o identificador do app, que está no fim de Ajustes → Privacidade.

O que as métricas mandaram para o Google esse botão também não apaga. O que deixa de acontecer é isso ficar ligado ao que vem depois, porque ele troca os identificadores. Isso se apaga sozinho aos 14 meses (as falhas, aos 90 dias, e a cópia do BigQuery, aos 60). Se você quiser que saia antes, escreva para privacy@whiskercheck.com com o identificador do app, que fica no fim de Ajustes → Privacidade, e faça isso antes de apagar tudo, porque depois ele já terá mudado.

O do RevenueCat vai à parte, e esse botão não o toca. Se você já assinou alguma vez, eles têm uma ficha amarrada ao identificador anônimo deles com as suas compras e renovações. Para que a apaguem, escreva para privacy@whiskercheck.com e nós pedimos isso. Dois avisos honestos sobre isso:

E a sua assinatura em si vive na sua conta da Apple: cancelá-la ou pedir o reembolso se faz lá, não aqui.

Com que direito tratamos cada coisa

Para quem mora na União Europeia, esta é a base jurídica de cada tratamento:

O quê Por que podemos
O veredito: o que você escaneia, a espécie e o peso Execução do contrato — é literalmente o que você nos pede para fazer
O identificador do app e a cota por hora Legítimo interesse em que o serviço não seja devorado por um único cliente e a fatura não dispare
O registro de escaneamentos e de falhas, com o identificador, o IP e se você está no plano grátis ou Pro Legítimo interesse em saber como o serviço é usado, o que falha e quem abusa dele, para melhorá-lo e protegê-lo. Você o solta quando quiser em Ajustes
Os reportes de resultado incorreto Legítimo interesse em corrigir dados que podem fazer mal se estiverem errados
Os nomes do que não temos documentado Legítimo interesse em saber o que documentar depois
As métricas de uso e de falhas Legítimo interesse em saber o que falha e o que serve, para consertar e melhorar o app. Elas vêm ativadas e você pode se opor quando quiser, desativando-as em Ajustes → Privacidade
A assinatura: a compra, o recibo e saber se ela continua ativa Execução do contrato — sem isso não há como lhe dar o que você pagou
O contador de cinco escaneamentos grátis, no seu celular Execução do contrato — é a condição com a qual oferecemos a você a parte gratuita. Ele só sai do seu celular como métrica, se você as tiver ativadas
O registro contábil de uma venda Obrigação legal — sobrevive a um pedido de eliminação, e é a única coisa que sobrevive

Não pedimos consentimento antes de medir, e isso é uma decisão, não um esquecimento: as métricas vêm ativadas e se desativam com um toque. Publicidade, cookies e rastreamento entre apps não há, e o que não existe não precisa de permissão.

O app também não pede a você a permissão de rastreamento que o iOS mostra em outros apps, e isso não é esquecimento: essa permissão existe para o identificador de publicidade, e aqui não se recolhe nenhum, nem no Firebase. O do RevenueCat não vai por consentimento, e sim por contrato: é o que faz falta para lhe dar a assinatura que você comprou.

Os seus dados saem do seu país: Cloudflare, Google e RevenueCat, Inc. processam fora da União Europeia e fora do Brasil. Os três oferecem as cláusulas contratuais padrão da Comissão Europeia, que é o mecanismo com o qual essa transferência é feita; para o Brasil, o equivalente que a ANPD aprovou para transferências internacionais.

O RevenueCat e o Google, pelo Firebase, são os que convém olhar duas vezes: os dois recebem dados diretamente do seu celular, sem passar pelo nosso servidor, e o RevenueCat está nos Estados Unidos. O Expo, que também fala a partir do seu celular para as atualizações, processa igualmente fora da União Europeia e do Brasil. A Apple também fica de fora, e com ela não há contrato nosso que valha: o pagamento é dela e se rege pelas condições dela.

Mudanças

Se isto mudar, a data lá de cima muda também, e avisaremos dentro do app antes de a versão nova entrar em vigor.

Última atualização: 9 de outubro de 2026