Go-Live Checklist — IAW Platform
1. Infraestrutura
- SSL/HTTPS em todos os ambientes (dev, uat, staging, prod)
- DNS configurado (platform.inallweb.com, dev/uat/staging subdomínios)
- Traefik reverse proxy activo com Let's Encrypt
- Backups automáticos PITR (RPO 5min para platform)
- WAL archive configurado
- Monitoring Zabbix activo (CPU, RAM, disco, DB)
- pg_stat_statements activado
- Slow query logging (500ms threshold)
2. Código e Pipeline
- Pipeline dev verde (validate → deploy → E2E)
- Pipeline UAT verde (E2E BLOQUEANTE 100%)
- Pipeline staging verde (E2E + Lighthouse + axe)
- TypeScript zero erros (npx tsc --noEmit)
- Ruff zero erros
- Prettier zero warnings
- ESLint zero erros
- SonarQube quality gate PASS
3. Dados
- WHMCS migração completa (17 clientes, 133 facturas)
- Seeds dev/uat funcionam (create_admin.py, seed_products.py)
- Canary tenant 'inallweb' existe em todos os ambientes
- DEMO_DATA_ENABLED=false em staging/prod
4. Integrações
- Stripe Connect: live keys em prod, test keys em dev/uat/staging
- Stripe webhooks configurados (endpoint + signing secret)
- Moloni: company_id=230877 em prod, company_id=5 em dev
- Moloni OAuth2 tokens válidos
- Enom: DOMAIN_DRY_RUN=true em dev/uat, false em prod
- Cloudflare DNS zones activas
- Zeptomail email templates configurados
5. Segurança e RGPD
- Anonimização staging funciona (anonymize_db.py)
- Dados pessoais nunca em logs
- bcrypt/argon2 para passwords
- JWT tokens com expiração adequada
- CORS configurado por ambiente
- Security headers (CSP, HSTS, X-Frame-Options)
- Vault para segredos (migração gradual de .env)
- RLS PostgreSQL para multi-tenant (futuro)
6. Documentação
- DocPages populadas e publicadas (11 páginas mínimo)
- Guia de utilizador acessível em /portal/guide
- Admin docs em /admin/docs
- Screenshots 3 viewports (mobile, tablet, desktop)
- i18n: 6 idiomas em todas as páginas
7. Operacional
- Runbook de deploy documentado
- Alertas Zabbix configurados (pool, lag, disk)
- On-call definido
- Rollback procedure testado
- Health endpoints (/api/health, /api/ready) respondem
- Graceful shutdown configurado (30s)
- Rate limiting activo
- Email de boas-vindas funcional