5.4 KiB
Data Model: Página de Política de Privacidade
Feature: 020-politica-de-privacidade
Phase: 1 — Design & Contracts
Status: Complete
Nota sobre "Data Model" para feature 100% frontend
Esta feature não envolve entidades de banco de dados nem estado gerenciado em store. O "modelo de dados" aqui descreve a estrutura lógica do conteúdo estático e o contrato de componentes React.
Entidades de Componente
PrivacyPolicyPage
| Propriedade | Tipo | Descrição |
|---|---|---|
| — | — | Componente sem props (stateless, sem hooks) |
Estrutura JSX:
PrivacyPolicyPage
├── <Navbar />
├── <main id="main-content" className="min-h-screen bg-canvas">
│ └── <div className="max-w-[800px] mx-auto px-6 pt-16 pb-20">
│ ├── Header (label + título + data de atualização)
│ └── Seções (1–8)
│ └── <section> com <h2> numerado + <p>/<ul> de conteúdo
└── <Footer />
Seções (hardcoded):
type PolicySection = {
id: number // 1–8
title: string // "1. Instituição Responsável" etc.
content: ReactNode // JSX com paragrafos / listas
}
Observação: O tipo PolicySection NÃO precisa ser exportado nem criado como shared type — é usado somente internamente no componente. Principle VI: sem abstração prematura.
Footer (atualizado)
Mudança pontual: adicionar <Link to="/politica-de-privacidade"> no bloco <nav> existente.
Estado atual do array footerLinks:
const footerLinks = [
{ label: 'Imóveis', href: '/imoveis' },
{ label: 'Sobre', href: '#sobre' },
{ label: 'Contato', href: '#contato' },
]
Após a mudança — o array footerLinks não é alterado. Um novo link <Link> do react-router-dom é adicionado manualmente no <ul> após os links existentes:
import { Link } from 'react-router-dom'
// no <ul> dos footerLinks, após o map existente:
<li>
<Link
to="/politica-de-privacidade"
className="text-xs text-text-tertiary hover:text-text-secondary transition-colors duration-150"
>
Política de Privacidade
</Link>
</li>
Rationale: Adicionar ao array seria inconsistente (o array usa href para <a>, mas esse precisa de <Link>). Manter separado é mais claro e não requer refatorar o loop existente.
Rota (App.tsx)
| Campo | Valor |
|---|---|
path |
/politica-de-privacidade |
element |
<PrivacyPolicyPage /> |
| Posição no arquivo | Após a rota /corretores, antes da rota /login |
| Guards | Nenhum — rota pública |
Conteúdo estático das seções
Seção 1 — Instituição Responsável
Nome: [NOME DA EMPRESA]
CNPJ: [CNPJ]
Endereço: [ENDEREÇO COMPLETO]
Esta empresa é a controladora dos dados pessoais tratados neste site.
Seção 2 — Coleta e Uso de Dados Pessoais
Dados coletados:
- Nome completo, e-mail e telefone ao preencher formulários de contato
- Dados de navegação (páginas visitadas, tempo de sessão) via cookies analíticos
- Dados fornecidos voluntariamente ao solicitar visitas a imóveis
Finalidades:
- Responder solicitações de contato e agendamento de visitas
- Melhorar a experiência de uso do site
- Enviar comunicações sobre imóveis compatíveis com o perfil do usuário (com consentimento)
Seção 3 — Transferência de Dados Pessoais
Compartilhamento com:
- Corretores parceiros, apenas dados necessários para conduzir visitas
- Plataformas de análise de tráfego (ex.: Google Analytics) — dados anonimizados
- Não vendemos ou alugamos dados pessoais a terceiros
Seção 4 — Uso de Cookies
Tipos de cookies utilizados:
- Essenciais: necessários para o funcionamento do site (autenticação, preferências)
- Analíticos: medem o uso do site para melhoria contínua
- O usuário pode desativar cookies analíticos nas configurações do navegador
Seção 5 — Direitos do Usuário (LGPD)
Conforme a Lei 13.709/2018 (LGPD), o titular dos dados tem direito a:
- Acesso: confirmar a existência e solicitar cópia dos dados tratados
- Correção: atualizar dados incompletos, inexatos ou desatualizados
- Exclusão: solicitar a eliminação de dados desnecessários ou tratados com consentimento
- Portabilidade: receber seus dados em formato estruturado
- Revogação de consentimento: retirar o consentimento a qualquer momento
Seção 6 — Segurança dos Dados
- Utilizamos conexões HTTPS em todo o site
- Dados sensíveis são armazenados com criptografia
- Acesso interno limitado ao pessoal autorizado
- Revisamos regularmente nossas práticas de segurança
Seção 7 — Alterações nesta Política
Podemos atualizar esta Política periodicamente. A data de "última atualização" é exibida no topo da página. Recomendamos revisão periódica.
Seção 8 — Contato / DPO
Para exercer seus direitos ou esclarecer dúvidas sobre o tratamento de seus dados:
E-mail do Encarregado (DPO): [EMAIL DO DPO]
Link exibido como <a href="mailto:[EMAIL DO DPO]"> abrindo cliente de e-mail.
Validações e regras de estado
| Regra | Implementação |
|---|---|
| Sem chamadas de API | Componente não usa useEffect, useState, nem imports de services/ |
| Sem estado de loading | Nenhum skeleton, spinner ou estado condicional |
| Links externos abrem em nova aba | target="_blank" rel="noopener noreferrer" no link do e-mail DPO |