Documento legal · 03
Política de
privacidade.
Tratamos dados pessoais ao abrigo do RGPD (Regulamento (UE) 2016/679) e da Lei n.º 58/2019. Esta política descreve quem trata, o quê, com que finalidade e durante quanto tempo.
01 — Responsável
Responsável pelo tratamento
Responsável: Contar Prazos PT — projecto explorado por João Mota (pessoa singular). Contacto: joaommota.me@gmail.com. Pedidos relativos ao exercício de direitos devem ser enviados para esse endereço com identificação suficiente para verificar a titularidade.
02 — Dados
Dados pessoais tratados
Recolhemos e tratamos as seguintes categorias de dados:
- Conta: nome, email, palavra-passe (hash bcrypt), data de criação, tema preferido, estado de onboarding.
- Subscrição: identificadores Stripe (cliente, subscrição), estado da subscrição, data de fim de período. Não armazenamos dados de cartão.
- Cálculos: processos guardados, prazos calculados, anotações, partilhas geradas — conteúdos que o utilizador submete livremente.
- Técnico: endereço IP em logs de segurança e rate-limit, user-agent em sessões, registos de auditoria de cálculos (audit log).
- Comunicações: aceitação dos Termos (data e versão), preferências de lembretes, feedbacks submetidos.
03 — Finalidade
Finalidades e base legal
- Prestação do serviço (autenticação, cálculo, persistência) — execução de contrato (art. 6.º/1 b) RGPD).
- Cobrança e facturação via Stripe — execução de contrato e cumprimento de obrigação legal (art. 6.º/1 b) e c) RGPD).
- Segurança (logs, rate-limit, detecção de fraude) — interesse legítimo (art. 6.º/1 f) RGPD).
- Comunicações de serviço (alertas de prazos, confirmações de email) — execução de contrato.
- Telemetria de erros e analítica via Sentry e Plausible — interesse legítimo (Plausible é cookieless e não recolhe dados pessoais identificáveis).
04 — Subprocessadores
Quem mais trata os dados
Para prestar o serviço recorremos aos seguintes subprocessadores. Todos cumprem o RGPD e dispõem de mecanismos de transferência adequados (SCC) quando o tratamento ocorre fora do EEE.
- Neon (Neon Inc., EUA/UE) — base de dados PostgreSQL alojada na UE.
- Vercel (Vercel Inc., EUA) — alojamento da aplicação Next.js.
- Stripe (Stripe Payments Europe, Ltd., Irlanda) — pagamentos e portal de facturação.
- Resend (Resend, Inc., EUA) — envio de emails transaccionais.
- Sentry (Functional Software, Inc., EUA) — telemetria de erros.
- Plausible (Plausible Insights OÜ, Estónia) — analítica web sem cookies.
05 — Conservação
Prazos de conservação
- Conta activa: enquanto a conta existir.
- Conta encerrada: dados pessoais eliminados ou anonimizados em até 30 dias, salvo conservação legal exigida.
- Facturação: 10 anos (obrigação fiscal — art. 123.º CIRC).
- Logs de segurança: 12 meses.
- Tokens de recuperação de palavra-passe: 30 minutos (single-use).
06 — Direitos
Direitos do titular
O titular pode, a qualquer momento, exercer os direitos de acesso, rectificação, apagamento, limitação, portabilidade e oposição (arts. 15.º a 21.º RGPD), bem como retirar consentimento e apresentar reclamação à CNPD (cnpd.pt).
Para o exercício destes direitos, basta enviar email para joaommota.me@gmail.com. Respondemos em até 30 dias.
07 — Cookies
Cookies e armazenamento local
Usamos exclusivamente cookies essenciais à autenticação e ao funcionamento do serviço (sessão, CSRF). Não usamos cookies publicitários nem de tracking de terceiros. A analítica é feita via Plausible, sem cookies. Algumas preferências (tema, tour) são guardadas em localStorage do navegador.
08 — Segurança
Medidas de segurança
Aplicamos medidas técnicas e organizativas adequadas: TLS em todo o tráfego, hashing bcrypt para palavras-passe, rate-limit em endpoints sensíveis, lockout em tentativas de login, tokens single-use para recuperação, política CSP com nonce, separação de dados por utilizador (RLS — em curso de auditoria) e auditoria de cálculos relevantes.
09 — Alterações
Alterações à política
Esta política pode ser actualizada. Alterações materiais (novos subprocessadores, novas finalidades) sobem a versão MAJOR ou MINOR e exigem re-aceitação no próximo acesso por modal bloqueante.