# Pendências — Prumo

Itens a implementar após o MVP inicial. Ordenados por prioridade percebida; reordenar conforme necessário.

---

## [ ] Consentimento de cookies (exigência legal — LGPD/GDPR)

**Contexto:** A lei exige informar o usuário sobre o uso de cookies antes que eles sejam gravados. O Prumo usa cookies de sessão (Flask-Login) para autenticação — sem eles o sistema não funciona.

**Decisão de design:**
- Cookies de sessão são **essenciais** (sem eles o sistema não opera); a lei permite dispensar consentimento explícito para cookies estritamente necessários, mas **exige aviso**.
- Se o usuário recusar/ignorar, o sistema continua tentando funcionar (os cookies essenciais são gravados de qualquer forma), mas deve exibir aviso claro de que sem aceitar não conseguirá usar o sistema.

**O que implementar:**
- [ ] Banner de cookies na primeira visita (landing page e páginas de auth).
  - Texto: informa que o site usa cookies essenciais de sessão para autenticação.
  - Botão "Entendido" / "Aceitar cookies essenciais" → fecha o banner e grava flag no `localStorage` (não em cookie, para não criar um paradoxo).
  - Link "Saiba mais" → página ou modal com detalhes (quais cookies, finalidade, duração).
- [ ] Se o usuário fechar o banner sem aceitar (ou bloquear cookies no navegador):
  - Exibir aviso contextual nas páginas de login/register: "Este sistema usa cookies essenciais de sessão. Sem eles o login não funcionará. Verifique as configurações do seu navegador."
- [ ] Página/modal de política de privacidade mínima: lista os cookies usados (`session` do Flask), finalidade (manter sessão autenticada), duração (sessão do browser por padrão), sem compartilhamento com terceiros.
- [ ] Rodapé nas páginas públicas com link "Política de privacidade".

**Arquivos esperados:**
- `app/templates/partials/cookie_banner.html` — banner incluído em `base.html`
- `app/templates/privacy.html` — página de política de privacidade
- `app/routes/main/main.py` — rota `GET /privacy`
- `app/static/css/main.css` — estilos do banner (fixo na base da tela)
- `app/static/js/cookies.js` — lógica de aceite via `localStorage`

**Referências legais:**
- LGPD (Lei 13.709/2018) — Art. 7º e 11º (bases legais), Art. 8º (consentimento)
- GDPR — Art. 6(1)(b) (necessário para contrato/serviço) + Recital 47

---

## [x] Configurar Google OAuth em produção

**Contexto:** O código já está implementado (`app/oauth.py`, rotas `/auth/google/login` e `/auth/google/callback`, service `find_or_create_google_user`). O botão "Entrar com Google" na landing page já aponta para `/auth/google/login`. Falta apenas a configuração no Google Cloud Console e as credenciais no `.env` do servidor.

**O que fazer (executado pelo usuário — sem código novo):**

- [x] Acessar [console.cloud.google.com](https://console.cloud.google.com) → criar projeto "Prumo"
- [x] APIs & Services → OAuth consent screen → External configurado
- [x] Credentials → OAuth 2.0 Client ID → Web application com redirect URIs:
  - `https://app.prumoboard.com/auth/google/callback`
  - `http://localhost:5000/auth/google/callback`
- [x] `GOOGLE_CLIENT_ID` e `GOOGLE_CLIENT_SECRET` no `.env` local e do servidor

**Verificado:** `/auth/google/login` retorna 302 → `accounts.google.com` tanto em dev (localhost:5050) quanto em produção. Fluxo completo de consentimento requer browser — testar manualmente.

---
