Arquitetura real · Sênior
Antifraude em tempo real no Pix: DAG, regras e ML no Nubank
Orçamento de latência contra qualidade da decisão, com números: mais de 40 processos por Pix e 550 → cerca de 350 ms em fluxos complexos. Inclui shadow testing de regras.
Resposta curta
Orçamento de latência contra qualidade da decisão, com números: mais de 40 processos por Pix e 550 → cerca de 350 ms em fluxos complexos. Inclui shadow testing de regras. No início, a detecção de fraude no Nubank era descentralizada: cada time de produto tinha de se integrar a sistemas e serviços separados para detectar e responder a atividade suspeita…
01 · CONTEXTO
Defesa espalhada pelos produtos
No início, a detecção de fraude no Nubank era descentralizada: cada time de produto tinha de se integrar a sistemas e serviços separados para detectar e responder a atividade suspeita. Funcionava, mas não escalava, com ineficiências, inconsistências e longos atrasos para colocar uma nova defesa no ar.
A equipe imaginou um sistema unificado que lidasse com milhões de eventos por dia, integrasse fácil com novos produtos e operasse com confiabilidade em várias regiões. Ao longo de cinco anos, essa visão virou a Defense Platform, que hoje processa centenas de milhões de eventos por dia com mais de 99,98% de disponibilidade e é usada no Brasil, no México e na Colômbia.
02 · O FLUXO
O que acontece quando um Pix chega
A Defense Platform recebe o evento com todo o contexto (origem, destino, valor) e um componente chamado Flow Orchestrator assume. Ele sabe pelo que cada tipo de evento precisa passar; no caso do Pix, mais de 40 processos podem rodar em paralelo, entre regras de negócio e modelos de machine learning.
O evento do Pix chega à plataforma com todo o seu contexto, e o Flow Orchestrator assume.
O orquestrador sabe pelo que esse tipo de evento precisa passar; no Pix, mais de 40 processos podem rodar em paralelo, entre regras de negócio e modelos de ML.
Regras e modelos buscam dados em features, que acessam bases internas, provedores externos e outros serviços.
Avaliado o risco, o orquestrador decide se a transação segue ou se dispara uma ação, que pode ser em tempo real, como bloquear a transação ou mostrar um aviso no app.
Outras ações rodam de forma assíncrona, como abrir um caso interno para investigação.
Em qualquer caso o evento é registrado e enviado ao ETL distribuído, que agrega mais de 100 terabytes de logs por dia para análise e melhoria contínuas.
03 · ESCALA
Eventos aos montes, sistema em shards
A plataforma processa cerca de 450 milhões de eventos por dia e gera cerca de 5 milhões de requisições internas por minuto, porque um único evento, como um Pix, pode disparar dezenas de processos downstream.
A arquitetura é distribuída em shards: só no Brasil são 20, essencialmente réplicas completas de todo o sistema, que ajudam a espalhar o tráfego e manter baixa latência. A pilha tem raízes em Clojure, Datomic (sobre DynamoDB) e Kafka; os modelos de ML são construídos em Python, e a observabilidade está embutida em cada camada por logs, traces e métricas em tempo real.
Em outro texto, sobre limites de nuvem, o Nubank descreve o sharding como padrão geral da plataforma, não só do antifraude: o Datomic roda vários transactors em Kubernetes, cada um cuidando de um subconjunto dos dados, e há vários clusters de Kafka para diferentes shards, para distribuir a carga de mensagens. O texto aponta dois objetivos: evitar que problemas localizados se espalhem, pois cada shard é relativamente independente, e prever capacidade em unidades menores e mais previsíveis.
04 · LATÊNCIA
Gastar tempo só onde a decisão precisa
A detecção pode ser feita por regras escritas à mão ou por modelos de ML, e os modelos tendem a ser mais lentos de executar. Se uma regra já marca a transação como de alto risco com confiança, o modelo é pulado por inteiro, economizando tempo e recursos.
O diagrama mostra o orquestrador, o serviço de features, uma regra, um modelo de ML e o nó de decisão.
Modelos tendem a ser mais lentos de executar do que regras.
Se a regra já marca a transação como de alto risco com confiança, o modelo é pulado por inteiro, economizando tempo e recursos.
A primeira versão do orquestrador executava os componentes camada por camada, e até processos de baixa latência esperavam os outros terminarem.
A versão em DAG, com a biblioteca open-source Nodely, faz cada componente esperar só os dados de que depende.
Nos fluxos complexos, o tempo de processamento caiu de 550 milissegundos para cerca de 350.
| Orquestrador por camadas | Orquestrador em DAG | |
|---|---|---|
| Execução | Executa os componentes camada por camada | Cada componente espera só os dados de que depende |
| Efeito | Processos de baixa latência esperam sem necessidade | Em fluxos complexos, de 550 ms para cerca de 350 |
05 · SHADOW TESTING
Como uma defesa nova chega à produção
Todas as defesas passam por uma fase de shadow testing antes do lançamento completo. Nessa fase, regras e modelos novos rodam em paralelo ao ambiente de produção, com entradas reais, mas sem afetar usuários reais. Assim a equipe valida acurácia e desempenho em condições reais sem introduzir risco.
O diagrama mostra o evento real entrando no orquestrador, a defesa em produção, a defesa nova em shadow e o registro dos resultados.
A defesa nova roda em paralelo ao ambiente de produção, com entradas reais, sem afetar usuários reais.
A equipe valida acurácia e desempenho em condições reais sem introduzir risco.
Hoje, escrever regras ainda exige trabalho de engenharia. A equipe quer mover mais da plataforma para um modelo declarativo, baseado em configuração, para que analistas de fraude e outros perfis fora da engenharia contribuam diretamente, e dar aos times de produto mais visibilidade do custo operacional de cada defesa.
Perguntas frequentes
O que é Antifraude em tempo real no Pix: DAG, regras e ML no Nubank?
Orçamento de latência contra qualidade da decisão, com números: mais de 40 processos por Pix e 550 → cerca de 350 ms em fluxos complexos. Inclui shadow testing de regras.
O que o design de Antifraude em tempo real no Pix: DAG, regras e ML no Nubank cobre?
Ele está organizado nestas seções: Defesa espalhada pelos produtos, O que acontece quando um Pix chega, Eventos aos montes, sistema em shards, Gastar tempo só onde a decisão precisa e Como uma defesa nova chega à produção.
Quanto tempo leva Antifraude em tempo real no Pix: DAG, regras e ML no Nubank e qual é o nível?
Leva cerca de 17 minutos para ler e tem nível Sênior.
Agora projete você mesmo
Rode este caso como uma entrevista na escola de System Design: você toma as decisões, o tutor as questiona e você vê a nota do seu desenho.