Política de Privacidade
Última atualização: 2026-08-25
A ZeniCash é uma aplicação de gestão financeira pessoal, tesouraria e registo de faturas usada por particulares, freelancers e pequenas empresas, publicada pela Manor Systems, Unipessoal Lda (NIPC 519 377 753), Rua da Figueira 126, 4820-645 São Clemente, Fafe, Portugal ("nós"). Esta política descreve que dados tratamos, porquê, onde são guardados e os direitos que o utilizador tem sobre eles.
1. Resumo
- A aplicação foi desenhada para funcionar offline — os seus dados vivem no seu dispositivo por defeito.
- A Sincronização Cloud, o início de sessão, o registo de faturas e as exportações são opt-in.
- O OCR de recibos corre no seu dispositivo por defeito; as fotos dos recibos nunca o deixam. A leitura com IA — que envia a foto para o Google Gemini — está desligada por defeito e só corre se a ativar.
- Os relatórios de falhas estão sempre ativos, para podermos corrigir o que parte. Reportam a falha, não a pessoa.
- A análise de utilização só funciona se a autorizar, e pode retirar essa autorização quando quiser nas Definições.
- Não usamos SDKs de publicidade, e desligamos o identificador publicitário que a análise recolheria por omissão.
- Não vendemos nem alugamos os seus dados.
- Não fazemos profiling, scoring nem tomamos decisões automatizadas sobre si.
- Os documentos que anexa aos movimentos (fotografias de recibos e faturas em PDF) ficam no seu dispositivo. A partir da versão 1.5.0, com a Sincronização Cloud ativa, passam também a ser guardados na sua área privada, para poder abri-los em qualquer aparelho.
2. O que recolhemos, e quando
2.1 Sempre — nada
Um utilizador que instale a aplicação e nunca inicie sessão não produz quaisquer dados nos nossos servidores. A base de dados SQLite local da aplicação é protegida pelo isolamento por-aplicação do sistema operativo e pelo PIN / biométrico / bloqueio da aplicação.
2.2 Quando inicia sessão (opcional)
O início de sessão só é necessário se optar por ativar a Sincronização Cloud. Autenticamo-lo através de Google Sign-In ou Apple Sign-In, e o Firebase Authentication devolve:
- O seu nome de exibição (conforme fornecido pelo Google/Apple)
- O seu endereço de email
- Um identificador de utilizador (o Firebase UID — uma string pseudo-aleatória)
Estes são usados para particionar os seus dados em Cloud Firestore
em users/{uid}/… para que os seus
dispositivos se reconheçam mutuamente na sincronização.
2.3 Quando ativa a Sincronização Cloud (opcional)
Os registos financeiros que cria — contas, transações, orçamentos, categorias, faturas, adiantamentos, transações recorrentes e semelhantes — são copiados para o seu namespace privado no Firestore, encriptados em trânsito (TLS) e em repouso (Firebase). Apenas a sua sessão autenticada pode ler ou escrever no seu namespace; nós não lhe acedemos.
A partir da versão 1.5.0, além dos registos, são copiados os documentos que anexou
aos movimentos — as fotografias de recibos e os PDF de faturas. Ficam
numa área privada acessível apenas à sua sessão autenticada, em
users/{uid}/receipts/. Ficheiros 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
movimento é gravado e só são descarregados quando os abre.
2.3b Quando entra num espaço partilhado (opcional)
Um espaço partilhado permite que várias pessoas mantenham um livro em conjunto. Nunca é colocado num sem o querer: ou cria o espaço, ou introduz um código de convite que alguém lhe deu.
Enquanto está num espaço, aquilo que a Sincronização Cloud manteria privado passa a estar 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 NIF que tenha registado de um cliente ou fornecedor. O seu nome e endereço de email, tal como constam da conta com que iniciou sessão, também são visíveis para os outros membros, para a aplicação poder mostrar de quem é cada conta.
Os registos de membros diferentes nunca são fundidos: duas contas com o mesmo nome continuam duas contas. Se sair de um espaço, o seu livro é reposto no seu dispositivo, mas o que levou para lá fica com os membros que permanecem — sair não o retira.
Se os seus registos disserem respeito a outras pessoas — o nome e o NIF de um cliente, por exemplo —, partilhá-los com os outros membros é uma decisão sua, e é da sua responsabilidade ter fundamento legal para o fazer.
2.4 Quando subscreve o Premium (opcional)
As subscrições in-app são processadas pelo Google Play Billing (Android) ou App Store In-App Purchase (iOS). A loja gere os detalhes de pagamento; nós recebemos apenas o estado da sua subscrição (ativa / cancelada / expirada) para que a aplicação desbloqueie as funcionalidades Premium. Nunca vemos números de cartão.
2.5 Taxas de câmbio
Para converter saldos entre moedas, a aplicação contacta APIs públicas e gratuitas de taxas de câmbio, por esta ordem:
- exchangerate-api.com via o 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.
Estes pedidos carregam apenas um código de moeda base (ex.
EUR) — sem identificador, sem dados de conta ou
transação. Os resultados são guardados localmente em cache
durante 6 horas.
2.6 OCR de recibos — no dispositivo por defeito
Por defeito, a leitura de recibos corre inteiramente no seu dispositivo. Quando fotografa um recibo, a aplicação 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 defeito. Alguns recibos, em especial os talões térmicos desbotados, não podem ser lidos com fiabilidade no dispositivo. Para esses, pode ativar a leitura de recibos com IA nas Definições. Esta é uma funcionalidade Premium: além do seu consentimento, é necessária uma subscrição Premium ativa e, sem Premium, a fotografia do recibo permanece no dispositivo mesmo com a opção ligada. Enquanto essa opção estiver ligada e o Premium ativo, a fotografia do recibo é enviada para a API Gemini da Google, que a lê e devolve os campos extraídos. Pedimos-lhe confirmação antes de a ativar, e pode desativá-la a qualquer momento — com ela desligada, nenhuma fotografia de recibo sai do seu dispositivo.
A fotografia é enviada apenas para efetuar essa leitura. Ao abrigo dos termos do nível pago da API da Google, o conteúdo enviado para a API Gemini não é usado para treinar os modelos da Google. A ZeniCash não guarda a fotografia nos seus servidores: esta é apenas encaminhada, processada e descartada. O texto extraído é depois guardado no dispositivo (e sincronizado via Cloud Firestore se a Sync estiver ativada, exatamente como qualquer outra nota de transação que escrevesse à mão).
Fundamento legal: o seu consentimento (art. 6.º, n.º 1, al. a) do RGPD), dado ao ativar a opção. Pode retirá-lo a qualquer momento desativando-a, sem efeito sobre o que já foi lido.
2.7 Importação de extratos bancários
Pode importar um ficheiro CSV, XLSX ou OFX de extrato bancário para popular transações. O ficheiro é processado localmente e descartado; apenas as transações que confirmar acabam por entrar na aplicação (e em Cloud Firestore se a Sync estiver ativada).
2b. Relatórios de falhas e análise opcional
Duas coisas medem a aplicação em si, e não as suas finanças. São tratadas de forma diferente de propósito, porque não são o mesmo tipo de dados.
Relatórios de falhas — sempre ativos
Quando a aplicação falha, o Firebase Crashlytics envia-nos essa falha para a podermos corrigir. Não saber que a aplicação rebentou no seu telemóvel não ajuda ninguém, muito menos a si. Um relatório contém o rasto do erro e a hora, a versão da aplicação, o modelo do aparelho, a arquitetura do processador, a versão do sistema operativo e a memória e 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 utilização — só se autorizar
O Google Analytics for Firebase está instalado mas não recolhe nada até que autorize. A aplicação pergunta uma vez; se recusar, nunca mais volta a perguntar e nada é enviado. Pode mudar de ideias nos dois sentidos em Definições → Segurança.
Com a sua autorização, regista como a aplicação é usada — com que frequência é aberta, a duração das sessões, a versão, o modelo do aparelho e o sistema operativo, e um país aproximado deduzido do endereço IP — sob um identificador de instância. Não regista o que escreve, o que ganha ou gasta, quem são os seus clientes, nem nada da sua contabilidade.
3. O que NÃO recolhemos
- Sem identificadores de publicidade ou atribuição. O Google Analytics for Firebase recolheria por omissão o ID de publicidade do Android; desligamos essa recolha no manifesto da aplicação.
- Sem GPS nem localização precisa. Se autorizar a análise de utilização, a Google deduz um país aproximado a partir do seu endereço IP — é a única informação geográfica envolvida.
- Sem contactos do dispositivo (a aplicação guarda registos de cliente/fornecedor que escreve, não a sua agenda)
- Sem microfone, sem calendário, sem dados biométricos do nosso lado (o SO trata da biometria do bloqueio da aplicação localmente)
- Sem profiling, scoring ou segmentação comportamental
4. Base legal do tratamento (RGPD / LGPD)
Ao abrigo do Artigo 6.º do RGPD — e das disposições análogas da LGPD brasileira — as nossas bases legais são:
- Execução de contrato (Art. 6.º, n.º 1, alínea b)) — para criação de conta, início de sessão, Sincronização Cloud, gestão de subscrições e as funcionalidades in-app que 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 nos envie. A avaliação de interesse legítimo está disponível a pedido.
- Obrigação legal (Art. 6.º, n.º 1, alínea c)) — para conservar registos mínimos de faturação exigidos pela legislação fiscal portuguesa (obrigação de conservação de documentos contabilísticos até 10 anos).
- Consentimento (Art. 6.º, n.º 1, alínea a)) — para qualquer funcionalidade opt-in futura (ex. newsletter por email). Atualmente não temos nenhuma tal funcionalidade.
5. Sem profiling, sem decisões automatizadas
Não aplicamos qualquer tomada de decisão automatizada nem profiling na aceção do Artigo 22.º do RGPD aos seus dados. Não fazemos credit-scoring, classificação de risco, segmentação ou qualquer análise dos seus dados financeiros para tomar decisões com efeitos jurídicos ou significativamente semelhantes para si. As funcionalidades locais da aplicação (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 utilizador introduziu; não são profiling.
6. Onde vivem os seus dados
- No seu dispositivo: na base de dados SQLite da aplicação, isolada pelo sistema operativo.
- Firebase Authentication e Cloud Firestore (se a Sincronização Cloud estiver ativa): operados pela Google Ireland Ltd, primariamente em regiões da UE, com infraestrutura de recuperação de desastre noutras regiões Google. O Google atua como nosso subcontratante ao abrigo de um Data Processing Addendum, e as transferências internacionais (quando ocorrem para fins de backup) baseiam-se em Cláusulas Contratuais-Tipo (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 os pode ler, escrever ou apagar; nós não lhes acedemos.
7. Subcontratantes
Recorremos aos seguintes subcontratantes e sub-subcontratantes. Temos com cada um deles um Data Processing Addendum ou proteção contratual equivalente.
- Google Ireland Ltd — Firebase Authentication (início de sessão), Cloud Firestore (armazenamento da Sync), Google Play Billing (pagamento das subscrições em Android), ML Kit Text Recognition (apenas on-device — nada do conteúdo dos recibos sai do seu dispositivo) e — apenas se ativar a leitura de recibos com IA — a API Gemini, que recebe a fotografia do recibo para extrair os seus campos (não usada para treinar modelos).
- Apple Distribution International Ltd — Sign in with Apple (início de sessão em iOS) e App Store Billing (pagamento das subscrições em iOS).
- jsDelivr (Prospect One sp. z o.o.) — CDN global que serve o ficheiro 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 — aloja o website zenicash.com e as caixas de correio support@ / privacy@.
- Google Ireland Ltd — Cloud Storage for Firebase: armazenamento dos documentos que anexa aos movimentos, na região europe-west1 (a partir da versão 1.5.0).
As chamadas aos fornecedores 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 utilizador e sem dados financeiros.
Notificamos os utilizadores quando alteramos materialmente esta lista, antes de o novo subcontratante começar a tratar dados.
8. Durante quanto tempo guardamos os dados
- Dados locais: até os apagar na aplicação, desinstalar ou usar Definições > Avançado > Repor dados.
- Dados sincronizados na cloud: até os apagar, limpar a cópia na cloud em Definições > Cloud Sync > Limpar dados da nuvem, ou apagar a conta.
- Após eliminação da conta: os dados são removidos imediatamente do Firestore ativo; os backups encriptados do Firebase expiram dentro de 30 dias.
- Registos de faturação: o estado mínimo da subscrição (ativa / cancelada / expirada e id do recibo da loja) é conservado até 10 anos por obrigação fiscal portuguesa.
- Correspondência de suporte: emails para support@ e privacy@ são conservados até 3 anos para rastreabilidade, depois apagados.
- Documentos anexados na cloud (a partir da versão 1.5.0): conservados enquanto a sua conta existir. Se cancelar a subscrição, os documentos já enviados são conservados durante mais 12 meses; findo esse prazo são apagados, e avisamo-lo por email com pelo menos 30 dias de antecedência para os poder descarregar. Voltar a subscrever reinicia o prazo. As suas cópias locais nunca são tocadas.
9. Partilha
Não vendemos, alugamos ou partilhamos os seus dados pessoais ou financeiros com terceiros para fins publicitários. A partilha dentro de um espaço partilhado só acontece onde a pediu, e está descrita na Secção 2.3b. Usamos os subcontratantes listados na Secção 7 para fornecer a infraestrutura descrita acima. Podemos divulgar dados quando legalmente obrigados a fazê-lo (ex. ordem judicial vinculativa) e, quando legalmente possível, notificá-lo-emos desse pedido.
10. Segurança e notificação de violações
As ligações ao Firebase e às APIs de taxas de câmbio usam TLS. O Cloud Firestore encripta dados em repouso. No dispositivo, a base de dados SQLite está protegida pelo isolamento de armazenamento por-aplicação do sistema operativo, e pode ativar adicionalmente um PIN / bloqueio biométrico in-app em Definições > Segurança. O próprio PIN é hashed (SHA-256 com salt) antes de ser guardado localmente.
Se tivermos conhecimento de uma violação de dados pessoais suscetível de resultar num risco para os seus direitos e liberdades, notificaremos a autoridade de controlo competente (em Portugal, a CNPD) no prazo de 72 horas após termos conhecimento, conforme exige o Artigo 33.º do RGPD. Se a violação for suscetível de resultar num risco elevado para os utilizadores afetados, notificá-los-emos também sem demora indevida (Artigo 34.º).
11. Os seus direitos
Se reside na UE/EEE (RGPD) ou no Reino Unido, tem o direito de aceder, retificar, portar, restringir ou opor-se ao tratamento dos seus dados, e de apresentar reclamação a uma autoridade de controlo. Em Portugal a autoridade é a CNPD. Se reside no Brasil (LGPD), tem direitos análogos ao abrigo desse enquadramento.
Pode exercer a maioria destes diretamente dentro da aplicação:
- Acesso / portabilidade: Definições > Exportar (CSV / XLSX / PDF) — funcionalidade Premium.
- Apagamento dos dados na cloud: Definições > Cloud Sync > Limpar dados da nuvem.
- Apagamento da própria conta: Definições > Cloud Sync > Apagar conta, ou siga a página pública de pedido de eliminação.
- Wipe local: Definições > Avançado > Repor dados.
Para qualquer pedido que não consigamos satisfazer in-app, envie email para privacy@zenicash.com. Respondemos no prazo de 30 dias.
12. Crianças
A ZeniCash é uma ferramenta para adultos e utilizadores profissionais. Não dirigimos o produto a utilizadores com menos de 16 anos, e não recolhemos conscientemente dados deles. Se acredita que um menor iniciou sessão, envie email para privacy@zenicash.com e apagaremos a conta.
13. Alterações
Podemos atualizar esta política quando a aplicação muda. 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 reflete sempre a versão atual; versões mais antigas podem ser solicitadas por email.
14. Contacto
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.