Skip to content

Problema: Configuração de ambiente e segurança no backend estão inconsistentes (DB_USE_SSL e IRONWATCH_AES_KEY), gerando risco e falhas de execução local #254

@GirelliDev

Description

@GirelliDev

Descrição

Atualmente há sinais de inconsistência entre a documentação e o comportamento real do backend: o ENVIRONMENT_SETUP.md recomenda DB_USE_SSL=true em produção, mas commits recentes ajustaram o default para false no DatabaseConnection; além disso, o ApiKeyCrypto passou a depender de IRONWATCH_AES_KEY com fallback default, o que pode causar: (1) criptografia fraca/instável por chave padrão, (2) falha de descriptografia entre ambientes, (3) execução local confusa por falta de validação clara de variáveis.

Impacto:

  • Segurança: risco de uso acidental de chave padrão e/ou ausência de SSL quando esperado.
  • Operação/dev: time perde tempo com "funciona na minha máquina"; comportamento muda silenciosamente quando variáveis não são setadas.
  • Manutenção: futuras features (tokens, TLS, etc.) ficam sobre uma base frágil.

Contexto:

  • Backend: IronWatchServer/src/main/java/.../dao/DatabaseConnection.java e security/ApiKeyCrypto.java.
  • Documentação: ENVIRONMENT_SETUP.md ainda referencia .env.example (removido em commits) e contém comandos suspeitos (mvn spring-boot:run) apesar do servidor ser um jar Maven simples.

Critério de aceite geral:

  • Backend falha de forma explícita (mensagem clara) quando IRONWATCH_AES_KEY estiver ausente/inválida em ambiente que requer criptografia.
  • DB_USE_SSL e parâmetros de conexão ficam coerentes entre código e documentação (com defaults claramente documentados e sem contradições).
  • Rodar o servidor localmente seguindo ENVIRONMENT_SETUP.md funciona sem passos inexistentes e com checklist verificável.

Subissues

As tarefas reais desta issue estão nas subissues vinculadas abaixo.

Critério geral de aceite

  • O problema descrito foi resolvido ou reduzido de forma verificável.
  • As subissues vinculadas foram concluídas ou justificadas.
  • O projeto continua buildando sem quebrar o fluxo existente.

Gerado automaticamente pelo IronWatch AI Project Manager.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Em Andamento

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions