Política de Privacidade -- Portfolio Manager by PluriFin

Versão: 1.0.2 Última atualização: 2026-05-20 Idioma original: Italiano (versão vinculante para a jurisdição)


1. Responsável pelo tratamento

Nenhum Encarregado de Proteção de Dados (DPO) designado: pessoa física fora dos casos obrigatórios do art. 37 RGPD.

2. Resumo (TL;DR)

são armazenados apenas no dispositivo do utilizador em forma cifrada. Não recebidos nem armazenados em servidores PluriFin.

Facebook SDK, AppsFlyer, Sentry, sem eventos Google Analytics gerados pela app). Uma propriedade Google Analytics for Firebase (GA4) está ligada ao projeto Firebase portfolio-manager-f6f8d para futuras evoluções: a versão 1.0.0+10 não inclui o SDK firebase_analytics, pelo que o binário da app não gera nenhum evento de analítica. Ver secção 4 (subcontratantes) para a declaração completa.

dados a subprocessadores de terceiros: IA Gemini, preços mercado em tempo real (EODHD/FMP), validação de subscrição (Cloudflare Worker). Cada uma requer ação explícita.

pelas Definições, sem contactar o responsável.

3. Categorias de dados

3.1 Dados locais no dispositivo

Cifrados Hive AES-256 + chave no keystore do sistema:

| Categoria | Exemplos | Base jurídica | Conservação | |---|---|---|---| | Dados de carteira | nome, ticker, quantidade, preço médio, broker, data | art. 6.1.b RGPD | Até eliminação | | Objetivos financeiros | título, valor, prazo, contribuições | art. 6.1.b RGPD | Até eliminação | | Preferências | idioma, moeda, tema, notificações, modo demo | art. 6.1.b RGPD | Até desinstalação | | Auditoria de consentimentos | timestamp, versão doc, decisão, hash texto | art. 6.1.c RGPD | Até eliminação | | Chaves API do utilizador | chaves dos fornecedores ativados: Gemini, EODHD, FMP, Alpha Vantage, Twelve Data, Finnhub, Polygon.io, Marketstack, Tiingo, Nasdaq Data Link (introduzidas manualmente) | art. 6.1.b RGPD | Até remoção |

flutter_secure_storage (Android Keystore / iOS Keychain / DPAPI).

3.2 Dados via Play Store (Google)

PluriFin recebe apenas: purchaseToken, productId, device_id_hash (HMAC-SHA256). PluriFin não recebe nome, email, morada, dados de pagamento.

3.3 Validação subscrição (Cloudflare Worker)

Dados enviados: device_id_hash, purchase_token, product_id, JWT assinado. Resposta: JWT Ed25519. Sem PII. Hash não identificável sem o salt servidor.

3.4 Dados a Gemini (só se ativado)

Se utilizador introduz a chave Gemini e usa IA, o prompt (pergunta + estrutura carteira anónima) é transmitido diretamente à Google Gemini. Aplicam-se Google Gemini API Terms.

3.5 Dados aos fornecedores de mercado (só se ativado)

A app suporta 10 fornecedores de dados de mercado que o utilizador pode configurar independentemente introduzindo a sua API key nas Definições. Quando o utilizador pede uma atualização de preços, a app transmite os tickers diretamente ao fornecedor escolhido. PluriFin não intermedia nem armazena.

Fornecedores suportados e políticas de privacidade:

requisição HTTP vai diretamente do dispositivo à stooq.com)

Para cada fornecedor, a transmissão ocorre se o utilizador:

  1. introduziu a sua API key nas Definições (Stooq excluído, gratuito);
  2. selecionou o fornecedor como ativo para o refresh.

O utilizador pode remover a chave ou desativar o fornecedor a qualquer momento.

4. Subprocessadores

| Subprocessador | Finalidade | Dados | Quando | |---|---|---|---| | Google Play Billing | Pagamento subscrição | purchaseToken, productId | Só compra | | Google Gemini API | Análise IA | Prompt + carteira anónima | Só ativação | | EODHD | Preços real-time e históricos | Lista tickers | Só ativação | | FMP | Preços real-time, fundamentais | Lista tickers | Só ativação | | Alpha Vantage | Preços históricos | Lista tickers | Só ativação | | Twelve Data | Preços real-time e históricos | Lista tickers | Só ativação | | Finnhub | Preços real-time | Lista tickers | Só ativação | | Polygon.io | Preços históricos | Lista tickers | Só ativação | | Marketstack | Preços end-of-day | Lista tickers | Só ativação | | Tiingo | Preços real-time e históricos | Lista tickers | Só ativação | | Nasdaq Data Link | Preços históricos | Lista tickers | Só ativação | | Stooq | Download CSV público preços históricos | Lista tickers (sem API key) | Só ativação Stooq | | Google Ireland Limited -- Firebase Crashlytics | Diagnóstico anónimo de crash | Stack trace ofuscado, modelo do dispositivo, OS, versão da app, Firebase Installation ID anónimo | Apenas se o utilizador ativar "Diagnóstico de crash anónimo" em Definições > Privacidade. Desativado por predefinição. | | Google LLC -- Google Analytics for Firebase (GA4) | Preparação futura para analítica agregada de estabilidade (propriedade GA4 ligada ao projeto Firebase) | Nenhum dado transmitido na versão 1.0.0+10 (o SDK firebase_analytics não está no pubspec). Quando firebase_analytics for integrado numa versão futura, o GA4 receberá eventos recolhidos automaticamente (visualizações de ecrã, app_start/app_foreground, app_exception agregado a partir do Crashlytics). O utilizador será re-consentido nesse momento | Inativo na versão 1.0.0+10. Será ativado apenas após uma atualização futura da app + re-consentimento do utilizador. | | Cloudflare Worker | Validação subscrição | device_id_hash, JWT | Sempre (gating) | | GitHub Pages | Hosting | IP HTTP request | Cada visita |

5. Transferências fora da UE

Google, Cloudflare, GitHub: empresas USA. Bases:

Quem não quer transferências fora UE: não ativar funções opcionais.

6. Direitos do titular (arts. 15-22 RGPD)

| Direito | Como exercer | |---|---| | Acesso | Definições > Privacidade > Exportar os meus dados (ZIP) | | Retificação | Edição direta na app | | Apagamento | Definições > Privacidade > Apagar todos os dados / desinstalar | | Limitação | Desativar funções opcionais | | Portabilidade | Definições > Exportar (JSON+CSV) | | Oposição | Desativar funções opcionais | | Reclamação | Garante (Itália), CNPD (Portugal) ou autoridade nacional |

Pedidos: [email protected]. Resposta em 30 dias (art. 12.3 RGPD).

7. Conservação

Dados locais até eliminação pelo utilizador. Auditoria consentimentos: até exportação e eliminação explícitas. Subprocessadores: política própria.

8. Segurança

9. Menores (art. 8 RGPD)

App não destinada a menores de 18 anos. Content rating Play "18+". Pais/tutores podem pedir eliminação em [email protected].

10. Cookies

App móvel: nenhum cookie. Webapp: localStorage + cookie técnico GitHub Pages. Site vitrine: GoatCounter self-hosted (sem cookies, sem fingerprinting).

11. Alterações

Notificação via app (re-consent), banner site (30 dias), email newsletter. Versões anteriores em repo lunapiena49/portfoliomanager-data, histórico Git.

12. Contactos

13. Jurisdição e lei aplicável

Lei italiana e RGPD. Para consumidores: foro do consumidor segundo D.Lgs. 206/2005 (Itália) ou regras nacionais mais protetoras.