/** * Portal de Transparência, página hub * ===================================================================== * Skill: lgpd-compliance (Parte 3) * Rota: app/(transparencia)/page.tsx * URL: /transparencia * * Hub do portal. Renderiza Nutrition Label no topo + grade de sub-páginas. * Stack: Next.js 14+ App Router + TypeScript + Tailwind. * Ajuste paleta/tipografia pra alinhar com o design system do seu app. */ import Link from 'next/link'; import { NutritionLabel } from '@/components/transparencia/NutritionLabel'; import inventario from '@/transparencia/inventario.yaml'; export const metadata = { title: 'Portal de Transparência | {{APP_NOME}}', description: 'Tudo que tratamos sobre você, em formato navegável e auditável. Atualizado continuamente a partir do código.', }; // ========================================================================= // Sub-páginas (ajustar quais existem no projeto) // ========================================================================= const SECTIONS: { slug: string; titulo: string; descricao: string; icone: string; habilitado: boolean; }[] = [ { slug: 'inventario', titulo: 'Dicionário de Dados', descricao: 'Cada dado que tratamos, finalidade, base legal e retenção.', icone: '📚', habilitado: true, }, { slug: 'terceiros', titulo: 'Quem mais tem acesso', descricao: 'Lista completa dos prestadores que processam dados em nosso nome.', icone: '🤝', habilitado: true, }, { slug: 'cookies', titulo: 'Cookies e tracking', descricao: 'Categorias usadas e como gerenciar suas preferências.', icone: '🍪', habilitado: true, }, { slug: 'ia', titulo: 'Inteligência Artificial', descricao: 'Modelos usados, o que enviamos a eles, model cards.', icone: '🤖', habilitado: false, // mudar pra true se o app usa IA }, { slug: 'retencao', titulo: 'Tempo de retenção', descricao: 'Quanto tempo guardamos cada categoria de dado e por qual fundamento legal.', icone: '⏱️', habilitado: true, }, { slug: 'incidentes', titulo: 'Histórico de incidentes', descricao: 'Comunicamos publicamente todo incidente, mesmo os não-notificáveis à ANPD.', icone: '🚨', habilitado: true, }, { slug: 'seguranca', titulo: 'Práticas de segurança', descricao: 'Criptografia, controle de acesso, auditoria, backups, certificações.', icone: '🔒', habilitado: true, }, { slug: 'dados-abertos', titulo: 'Dados abertos', descricao: 'Datasets publicados em formato FAIR (DCAT + Schema.org).', icone: '📊', habilitado: false, // mudar pra true se publica dados }, { slug: 'relatorio/2026', titulo: 'Relatório anual', descricao: 'Métricas agregadas de requisições, direitos exercidos, incidentes.', icone: '📈', habilitado: false, // mudar pra true após primeiro ano }, { slug: 'direitos', titulo: 'Seus direitos', descricao: 'Como exercer os 9 direitos do art. 18 LGPD aqui mesmo, em até 1 clique.', icone: '⚖️', habilitado: true, }, { slug: 'governanca', titulo: 'Governança', descricao: 'Encarregado (DPO), organograma de privacidade, comitê.', icone: '👥', habilitado: true, }, { slug: 'mudancas', titulo: 'Histórico de mudanças', descricao: 'Changelog de todas as alterações nesta página, desde o primeiro dia.', icone: '📝', habilitado: true, }, ]; // ========================================================================= // Page // ========================================================================= export default function PortalTransparenciaPage() { return (
{/* Header */}

Portal de Transparência

Tudo que tratamos sobre você

Este portal é nosso compromisso público com transparência radical. Diferente da{' '} Política de Privacidade {' '} (documento jurídico), aqui você navega por categorias, vê números, baixa o JSON canônico, audita. Atualizado continuamente a partir do código, com validação automatizada de drift.

Versão: {inventario.meta.versao} Atualizado em: {inventario.meta.data_atualizacao} Inventário em JSON ↗
{/* Nutrition Label */}

Visão rápida

{/* Grade de sub-páginas */}

Explore em profundidade

{SECTIONS.filter((s) => s.habilitado).map((s) => (
{s.icone}

{s.titulo}

{s.descricao}

))}
{/* Como reportar / DPO */}

Encontrou algo errado?

Fale com nosso Encarregado de Dados:{' '} {inventario.meta.dpo_contato}

Você também pode reclamar diretamente à{' '} ANPD .

); }