Política de Privacidade
Última atualização: 2026-11-06
O ZeniCash é um aplicativo de gestão financeira pessoal, tesouraria e registro de faturas usado por pessoas físicas, freelancers e pequenas empresas, publicado pela Manor Systems, Unipessoal Lda (NIPC 519 377 753), Fafe, Portugal ("nós"). Esta política descreve quais dados tratamos, por quê, onde são guardados e os direitos que o usuário tem sobre eles.
1. Resumo
- O aplicativo foi projetado para funcionar offline — seus dados ficam no seu dispositivo por padrão.
- A Sincronização Cloud, o login, o registro de faturas e as exportações são opt-in.
- O OCR de recibos roda no seu dispositivo; as fotos dos recibos nunca são enviadas a lugar nenhum para serem lidas. A leitura com IA — que envia uma imagem do recibo para o Google Gemini quando a leitura no dispositivo não basta — vem desligada por padrão e só roda se você ativar.
- Os relatórios de falhas estão sempre ativos, para podermos corrigir o que quebra. Eles reportam a falha, não a pessoa.
- A análise de uso só funciona se você autorizar, e você pode retirar essa autorização quando quiser nas Configurações.
- Não usamos SDKs de publicidade, e desativamos o identificador de publicidade que a análise coletaria por padrão.
- Não vendemos nem alugamos seus dados.
- Não fazemos profiling, scoring nem tomamos decisões automatizadas sobre você.
- Os documentos que você anexa aos lançamentos (fotos de recibos e notas em PDF) ficam no seu dispositivo. A partir da versão 1.5.0, com a Sincronização Cloud ativa, eles também passam a ser guardados na sua área privada, para que você possa abri-los em qualquer aparelho.
2. O que coletamos, e quando
2.1 Sempre — nada
Um usuário que instale o aplicativo e nunca faça login não gera nenhum dado nos nossos servidores. O banco de dados SQLite local do aplicativo é protegido pelo isolamento por aplicativo do sistema operacional e pelo PIN / biometria / bloqueio do aplicativo.
2.2 Quando você faz login (opcional)
O login só é necessário se você optar por ativar a Sincronização Cloud. Autenticamos você por meio do Google Sign-In ou do Apple Sign-In, e o Firebase Authentication retorna:
- Seu nome de exibição (conforme fornecido pelo Google/Apple)
- Seu endereço de email
- Um identificador de usuário (o Firebase UID — uma string pseudoaleatória)
Esses dados são usados para particionar seus dados no Cloud Firestore
em users/{uid}/… para que seus
dispositivos se reconheçam mutuamente na sincronização.
Depois que você entra, a conta também guarda o dia em que começaram os 14 dias de teste do Premium, para que os dias sejam contados uma única vez por conta.
2.3 Quando você ativa a Sincronização Cloud (opcional)
Os registros financeiros que você cria — contas, transações, orçamentos, categorias, faturas, adiantamentos, transações recorrentes e similares — são copiados para o seu namespace privado no Firestore, criptografados em trânsito (TLS) e em repouso (Firebase). Só a sua sessão autenticada pode ler ou gravar no seu namespace; nós não o acessamos.
A partir da versão 1.5.0, além dos registros, também são copiados os documentos que você
anexou aos lançamentos — as fotos de recibos e os PDFs de notas.
Eles ficam numa área privada acessível apenas à sua sessão autenticada, em
users/{uid}/receipts/. Arquivos com mais
de 10 MB não são copiados e permanecem apenas no
dispositivo onde foram anexados. Os documentos são enviados quando o
lançamento é salvo e só são baixados quando você os abre.
2.3b Quando você entra num espaço compartilhado (opcional)
Um espaço compartilhado permite que várias pessoas mantenham um caderno em conjunto. Você nunca é colocado num espaço sem querer: ou você cria o espaço, ou digita um código de convite que alguém lhe deu.
Enquanto você está num espaço, aquilo que a Sincronização Cloud manteria privado passa a ficar visível para todos os membros — contas, transações, orçamentos, categorias, projetos, transações recorrentes, eventos de fluxo de caixa, taxas de câmbio manuais e entidades, incluindo qualquer CPF/CNPJ que você tenha registrado de um cliente ou fornecedor. Seu nome e endereço de email, tal como constam na conta que você usou para entrar, também ficam visíveis para os outros membros, para que o aplicativo possa mostrar de quem é cada conta.
Os registros de membros diferentes nunca são mesclados: duas contas com o mesmo nome continuam sendo duas contas. Se você sair de um espaço, seu caderno é restaurado no seu dispositivo, mas o que você levou para lá fica com os membros que permanecem — sair não o retira.
Se seus registros disserem respeito a outras pessoas — o nome e o CPF/CNPJ de um cliente, por exemplo —, compartilhá-los com os outros membros é uma decisão sua, e é sua responsabilidade ter fundamento legal para fazê-lo.
2.4 Quando você assina o Premium (opcional)
As assinaturas in-app são processadas pelo Google Play Billing (Android) ou pelo App Store In-App Purchase (iOS). A loja gerencia os dados de pagamento; nós recebemos apenas o status da sua assinatura (ativa / cancelada / expirada) para que o aplicativo desbloqueie as funcionalidades Premium. Nunca vemos números de cartão.
2.5 Taxas de câmbio
Para converter saldos entre moedas, o aplicativo consulta APIs públicas e gratuitas de taxas de câmbio, nesta ordem:
- exchangerate-api.com pelo endpoint open.er-api.com (primário).
- O dataset CC0 fawazahmed0/exchange-api, servido por cdn.jsdelivr.net e currency-api.pages.dev como backups.
Essas requisições levam apenas um código de moeda base (ex.:
EUR) — sem identificador, sem dados de conta ou
transação. Os resultados ficam guardados em cache local
por 6 horas.
2.6 OCR de recibos — no dispositivo por padrão
Por padrão, a leitura de recibos roda inteiramente no seu dispositivo. Quando você fotografa um recibo, o aplicativo usa o reconhecimento de texto on-device do Google ML Kit para extrair o fornecedor, o valor, a data e o número do documento. A imagem é processada localmente; nada é enviado para nós nem para ninguém para fins de OCR.
Leitura de recibos com IA — opcional, desligada por padrão. Alguns recibos, em especial os cupons térmicos desbotados, não podem ser lidos com confiabilidade no dispositivo. Para esses, você pode ativar a Leitura de recibos com IA em Configurações › Premium. Esta é uma funcionalidade Premium: além do seu consentimento, é necessária uma assinatura Premium ativa ou o período de teste dela e, sem nenhum dos dois, a foto do recibo permanece no dispositivo mesmo com a opção ligada. Enquanto essa opção estiver ligada, o dispositivo continua lendo primeiro cada recibo, e a imagem só é enviada para a API Gemini do Google quando essa leitura não basta — falta um campo, o total está em dúvida, ou o fornecedor é novo para você. Num PDF, é enviada uma única página, como imagem. O Gemini a lê e devolve os campos extraídos. Pedimos sua confirmação antes de ativá-la, e você pode desativá-la a qualquer momento — com ela desligada, nenhuma imagem de recibo é enviada para ser lida.
A imagem é enviada apenas para fazer essa leitura. Pelos termos do nível pago da API do Google, o conteúdo enviado para a API Gemini não é usado para treinar os modelos do Google. O ZeniCash não guarda a imagem nos seus servidores: ela é apenas repassada, processada e descartada. Os campos lidos são preenchidos no lançamento e guardados como qualquer coisa que você digita: no dispositivo, e sincronizados via Cloud Firestore se a Sync estiver ativada. Nossos servidores guardam apenas uma contagem de quantas leituras cada conta fez por dia, para aplicar o limite diário.
Fundamento legal: o seu consentimento (art. 6.º, n.º 1, al. a) do RGPD), dado ao ativar a opção. Você pode retirá-lo a qualquer momento desativando-a, sem efeito sobre o que já foi lido.
2.7 Importação de extratos bancários
Você pode importar um arquivo CSV, XLSX ou OFX de extrato bancário para preencher transações. O arquivo é processado localmente e descartado; apenas as transações que você confirmar acabam entrando no aplicativo (e no Cloud Firestore se a Sync estiver ativada).
2b. Relatórios de falhas e análise opcional
Duas coisas medem o aplicativo em si, e não as suas finanças. Elas são tratadas de forma diferente de propósito, porque não são o mesmo tipo de dado.
Relatórios de falhas — sempre ativos
Quando o aplicativo falha, o Firebase Crashlytics nos envia essa falha para que possamos corrigi-la. Não saber que o aplicativo quebrou no seu celular não ajuda ninguém, muito menos você. Um relatório contém o rastro do erro e a hora, a versão do aplicativo, o modelo do aparelho, a arquitetura do processador, a versão do sistema operacional e a memória e o espaço livres no momento, com um identificador de instalação. Não contém nenhum dado financeiro — nem contas, nem transações, nem faturas, nem recibos.
Análise de uso — só se você autorizar
O Google Analytics for Firebase está instalado, mas não coleta nada até que você autorize. O aplicativo pergunta uma vez; se você recusar, nunca mais pergunta e nada é enviado. Você pode mudar de ideia nos dois sentidos em Configurações → Segurança.
Com a sua autorização, ele registra como o aplicativo é usado — com que frequência é aberto, a duração das sessões, a versão, o modelo do aparelho e o sistema operacional, e um país aproximado deduzido do endereço IP — sob um identificador de instância. Não registra o que você digita, o que ganha ou gasta, quem são seus clientes, nem nada da sua contabilidade.
3. O que NÃO coletamos
- Sem identificadores de publicidade ou atribuição. O Google Analytics for Firebase coletaria por padrão o ID de publicidade do Android; desativamos essa coleta no manifesto do aplicativo.
- Sem GPS nem localização precisa. Se você autorizar a análise de uso, o Google deduz um país aproximado a partir do seu endereço IP — é a única informação geográfica envolvida.
- Sem contatos do dispositivo (o aplicativo guarda os registros de cliente/fornecedor que você digita, não a sua agenda)
- Sem microfone, sem calendário, sem dados biométricos do nosso lado (o SO cuida da biometria do bloqueio do aplicativo localmente)
- Sem profiling, scoring ou segmentação comportamental
4. Base legal do tratamento (RGPD / LGPD)
Nos termos do Artigo 6.º do RGPD — e das disposições análogas da LGPD brasileira — nossas bases legais são:
- Execução de contrato (Art. 6.º, n.º 1, alínea b)) — para criação de conta, login, Sincronização Cloud, gestão de assinaturas e as funcionalidades in-app que você escolhe usar.
- Interesses legítimos (Art. 6.º, n.º 1, alínea f)) — para manter a infraestrutura segura, prevenir abuso e fraude, e responder a pedidos de suporte que você nos envie. A avaliação de interesse legítimo está disponível mediante solicitação.
- Obrigação legal (Art. 6.º, n.º 1, alínea c)) — para conservar registros mínimos de faturamento exigidos pela legislação fiscal portuguesa (obrigação de conservação de documentos contábeis por até 10 anos).
- Consentimento (Art. 6.º, n.º 1, alínea a)) — para a leitura de recibos com IA e a análise de uso, que só funcionam depois que você as autoriza e param quando você retira esse consentimento nas Configurações, e para qualquer funcionalidade opt-in futura (ex.: newsletter por email).
5. Sem profiling, sem decisões automatizadas
Não aplicamos aos seus dados nenhuma tomada de decisão automatizada nem profiling no sentido do Artigo 22.º do RGPD. Não fazemos credit scoring, classificação de risco, segmentação nem qualquer análise dos seus dados financeiros para tomar decisões que produzam efeitos jurídicos ou efeitos igualmente significativos para você. As funcionalidades locais do aplicativo (alertas de orçamento, projeções de tesouraria, notificações de limite de conta) são cálculos determinísticos sobre dados que o próprio usuário inseriu; não são profiling.
6. Onde ficam seus dados
- No seu dispositivo: no banco de dados SQLite do aplicativo, isolado pelo sistema operacional.
- Firebase Authentication e Cloud Firestore (se a Sincronização Cloud estiver ativa): operados pela Google Ireland Ltd, principalmente em regiões da UE, com infraestrutura de recuperação de desastres em outras regiões do Google. O Google atua como nosso operador nos termos de um Data Processing Addendum, e as transferências internacionais (quando ocorrem para fins de backup) se baseiam em Cláusulas Contratuais-Padrão (SCCs).
- Firebase Cloud Storage (a partir da versão 1.5.0, se a Sincronização Cloud estiver ativa): os documentos anexados são guardados na região europe-west1 (Bélgica), operada pela Google Ireland Ltd. Apenas a sua sessão autenticada pode lê-los, gravá-los ou excluí-los; nós não os acessamos.
7. Operadores
Recorremos aos seguintes operadores e suboperadores. Temos com cada um deles um Data Processing Addendum ou proteção contratual equivalente.
- Google Ireland Ltd — Firebase Authentication (login), Cloud Firestore (armazenamento da Sync), Google Play Billing (pagamento das assinaturas no Android), ML Kit Text Recognition (apenas on-device — nada do conteúdo dos recibos sai do seu dispositivo) e — apenas se você ativar a leitura de recibos com IA — a API Gemini, que recebe a foto do recibo para extrair seus campos (não é usada para treinar modelos).
- Apple Distribution International Ltd — Sign in with Apple (login no iOS) e App Store Billing (pagamento das assinaturas no iOS).
- jsDelivr (Prospect One sp. z o.o.) — CDN global que serve o arquivo JSON CC0 de taxas de câmbio do projeto fawazahmed0/exchange-api.
- Cloudflare, Inc. — serve a cópia de fallback (Cloudflare Pages) do mesmo dataset CC0 de taxas de câmbio.
- Hostinger International Ltd — hospeda o site zenicash.com e as caixas de email support@ / privacy@.
- Google Ireland Ltd — Cloud Storage for Firebase: armazenamento dos documentos que você anexa aos lançamentos, na região europe-west1 (a partir da versão 1.5.0).
As chamadas aos provedores de taxas de câmbio (open.er-api.com, jsDelivr, Cloudflare) levam apenas um código de moeda base de 3 letras — sem identificador de usuário e sem dados financeiros.
Notificamos os usuários quando alteramos materialmente esta lista, antes que o novo operador comece a tratar dados.
8. Por quanto tempo guardamos os dados
- Dados locais: até você excluí-los no aplicativo, desinstalar o aplicativo ou usar Configurações > Avançado > Excluir Dados.
- Dados sincronizados na nuvem: até você excluí-los, limpar a cópia na nuvem em Configurações > Sincronização Cloud > Limpar dados da nuvem, ou excluir a conta.
- Após a exclusão da conta: os dados são removidos imediatamente do Firestore ativo; os backups criptografados do Firebase expiram em até 30 dias.
- Registros de faturamento: o status mínimo da assinatura (ativa / cancelada / expirada e id do recibo da loja) é conservado por até 10 anos por obrigação fiscal portuguesa.
- Correspondência de suporte: emails para support@ e privacy@ são conservados por até 3 anos para fins de rastreabilidade e depois excluídos.
- Documentos anexados na nuvem (a partir da versão 1.5.0): conservados enquanto a sua conta existir. Se você cancelar a assinatura, os documentos já enviados são conservados por mais 12 meses; terminado esse prazo, eles são excluídos, e avisamos por email com pelo menos 30 dias de antecedência para que você possa baixá-los. Assinar de novo reinicia o prazo. Suas cópias locais nunca são afetadas.
9. Compartilhamento
Não vendemos, alugamos nem compartilhamos seus dados pessoais ou financeiros com terceiros para fins publicitários. O compartilhamento dentro de um espaço compartilhado só acontece quando você o pede, e está descrito na Seção 2.3b. Usamos os operadores listados na Seção 7 para fornecer a infraestrutura descrita acima. Podemos divulgar dados quando formos legalmente obrigados a fazê-lo (ex.: ordem judicial vinculante) e, quando legalmente possível, notificaremos você sobre esse pedido.
10. Segurança e notificação de violações
As conexões com o Firebase e com as APIs de taxas de câmbio usam TLS. O Cloud Firestore criptografa os dados em repouso. No aparelho, o banco de dados SQLite é protegido pelo isolamento de armazenamento por aplicativo do sistema operacional, e você pode ativar adicionalmente um PIN / bloqueio biométrico in-app em Configurações > Segurança. O próprio PIN é convertido em hash (SHA-256 com salt) antes de ser guardado localmente.
Se tomarmos conhecimento de uma violação de dados pessoais que possa resultar em risco para os seus direitos e liberdades, notificaremos a autoridade de controle competente (em Portugal, a CNPD) no prazo de 72 horas após tomarmos conhecimento, conforme exige o Artigo 33.º do RGPD. Se a violação puder resultar em risco elevado para os usuários afetados, também os notificaremos sem demora injustificada (Artigo 34.º).
11. Seus direitos
Se você reside na UE/EEE (RGPD) ou no Reino Unido, tem o direito de acessar, retificar, portar, restringir ou se opor ao tratamento dos seus dados, e de apresentar reclamação a uma autoridade de controle. Em Portugal, a autoridade é a CNPD. Se você reside no Brasil (LGPD), tem direitos análogos nos termos dessa legislação.
Você pode exercer a maioria deles diretamente dentro do aplicativo:
- Acesso / portabilidade: Configurações > Exportar Dados (CSV / XLSX / PDF) — funcionalidade Premium.
- Exclusão dos dados na nuvem: Configurações > Sincronização Cloud > Limpar dados da nuvem.
- Exclusão da própria conta: Configurações > Sincronização Cloud > Excluir conta, ou siga a página pública de solicitação de exclusão.
- Limpeza local: Configurações > Avançado > Excluir Dados.
Para qualquer pedido que não possamos atender in-app, envie um email para privacy@zenicash.com. Respondemos em até 30 dias.
12. Crianças
O ZeniCash é uma ferramenta para adultos e usuários profissionais. Não direcionamos o produto a usuários com menos de 16 anos e não coletamos conscientemente dados deles. Se você acredita que um menor entrou na conta, envie um email para privacy@zenicash.com e excluiremos a conta.
13. Alterações
Podemos atualizar esta política quando o aplicativo mudar. As alterações materiais serão comunicadas in-app e nesta página pelo menos 30 dias antes de entrarem em vigor. A data "Última atualização" acima sempre reflete a versão atual; versões anteriores podem ser solicitadas por email.
14. Contato
Controlador (responsável pelo tratamento): Manor Systems, Unipessoal Lda — NIPC 519 377 753.
Pedidos de privacidade e proteção de dados:
privacy@zenicash.com.
Suporte geral: support@zenicash.com.