Docs

07 — Segurança e Observabilidade

Secrets, auth, logging, alertas e resposta a incidentes. Deploy: 05-deploy-infrastructure.

Secrets

OndeO quê
Local.env por app + .env na raiz (SSH, DB) — templates em .env.example
ProduçãoDokploy por Application — cloud/dokploy/environments/*.production.env.example
GitNunca commitar .env ou valores reais

Service exige: JWT_SECRET, HASURA_GRAPHQL_ADMIN_SECRET, POSTGRES_URL, STRIPE_*, S3_*, GOOGLE_*, BACKOFFICE_ADMIN_EMAILS.

Rotacionar JWT/Hasura ~90–180 dias (invalida sessões). Stripe webhook ao rotacionar no Dashboard. SSH/DB anual ou pós-exposição. Acesso prod: .cursor/rules/server-ssh.mdc — confirmar antes de ações destrutivas.

Autenticação

JWT Bearer pelo apps/service. Clients enviam Authorization: Bearer <access_token>.

CamadaMecanismo
RESTJwtAuthGuard + @Public() em rotas abertas
GraphQL (Hasura)Mesmo JWT; claims x-hasura-user-id, x-hasura-role, x-hasura-allowed-roles
RefreshPOST /auth/refresh-token
OAuthGoogle
BackofficeLista BACKOFFICE_ADMIN_EMAILS + PlatformAdminGuard (não é role Hasura)

Roles Hasura: user (row-level), anonymous (leitura limitada), admin secret só no service/migrations.

Dados

PII típico: e-mail, nome, avatar, billing Stripe, membros, uploads. Isolamento multi-tenant via Hasura (company_id / user_id). error_logs sem senhas/tokens. Backups Postgres: runbook em 05-deploy.

Observabilidade

Sinais operacionais do dia a dia no backoffice (/admin/observability/*), não só Dokploy/logs.

SinalOnde
ErrorsErrorLoggingService → error_logs + painel
Health/health, /healthz, pnpm dokploy:health
Logs DockerBreak-glass via pnpm server:docker -- logs
Funil ads06-tracking-attribution

Alertas críticos

P0/P1 → webhook WhatsWave "VG · Critical alert" no celular do founder. Payload sem secrets. WHATSWAVE_OPS_WEBHOOK_SECRET só em Dokploy/.env.

Checklist pré-público

  • Secrets prod sem placeholders
  • pnpm dokploy:health verde
  • Revisão periódica de error_logs no backoffice
  • Critical alert testado (firing + resolved)
  • Backup Postgres testado uma vez
  • BACKOFFICE_ADMIN_EMAILS só contas reais

Links