Pular para o conteúdo
DALIA

O que cobrimos

Risco não é linha alterada. É significado alterado.

Ferramentas de análise estática contam linhas e apontam padrões. A Dalia lê a mudança e responde outra pergunta: o que isso muda para o negócio, e quem precisa aprovar. Cada mudança volta como um cartão em linguagem de negócio, com a severidade e a decisão registrada nominalmente.

Aplicação

Java e o stack corporativo

O código que move dinheiro raramente é o que mais recebe atenção de segurança. A Dalia lê a mudança pelo que ela significa para o negócio.

  • SQL embutido em @Query e text blocks, inclusive quando montado por concatenação
  • Entidades JPA: coluna, tipo, nullability, índice — mudança de schema é mudança de contrato
  • SecurityConfig: comparação por conjunto de rotas, então uma rota nova em permitAll não passa despercebida
  • @Transactional e propagação alteradas, que mudam o que acontece quando algo falha no meio
  • Arredondamento financeiro: BigDecimal, setScale e RoundingMode
  • @Scheduled, listeners de fila e o que muda de janela ou de tópico
  • Dependências do pom.xml e do build.gradle

Dados

Pipelines e transformações

Um filtro alterado não gera erro. Gera um número diferente no relatório do mês que vem, sem nada que aponte para a causa.

  • Universo processado: filtros, joins e a linha que passou a ficar de fora
  • Janela de retenção e critério de expurgo
  • Destino de escrita: a tabela que deixou de ser alimentada e a que passou a ser
  • Granularidade e chave de agregação, que quebram a comparabilidade histórica
  • SQL, PySpark, dbt e notebooks

Legado sem git

SAS e ambientes sem versionamento

Onde não existe controle de versão, não existe nem ponto de partida. A Dalia constrói o baseline e depois passa a vigiá-lo.

  • Resolução de %include entre arquivos, seguindo as macros de caminho
  • Entrada no corpo da macro chamada, para achar a operação real — que costuma estar a dois ou três saltos do job
  • Resolução de libname: libref para caminho, e daí para a tabela governada
  • Grafo entre arquivos, que revela as escritas que somem quando se lê um arquivo isolado

Governança

A decisão fica registrada, e o merge respeita a decisão

Placar por pull request

Um PR com cinco achados só libera quando os cinco tiverem decisão. Aprovar um não destrava o resto — e o check run mostra quantos faltam.

Decisão nominal

Quem aprovou, quando e com qual justificativa. É o que transforma revisão de código em trilha de auditoria.

Documentação que acompanha

A documentação do arquivo é atualizada junto com a aprovação, então ela não envelhece em relação ao código — o problema de toda documentação escrita à mão.