Open Banking Brasil
Fase 2 - Compartilhamento de dados do consumidor entre Instituições Financeiras
Fase 2 - Compartilhamento de dados do consumidor entre Instituições Financeiras
Para as instituições financeiras que precisam estar compliance com as regulações open banking brasil estabelecidas pelo bacen o produto "acelerador" (open banking accelerator framework) é um aplicação comercializada como PaaS ou On Premisse e permite a instituição financeira reduzir a complexidade de implementação da gestão de consentimento, exposição de APIs e segurança, exigidos pelas regulações do open banking brasil. E diferente de desenvolver esta mesma solução do zero, assumindo riscos de prazo, complexidade, resiliência e maturidade exigidos pelo Open Banking Brasil, nosso produto é um framework que atende todo o escopo regulatório, se mantendo atualizado com o surgimento de novas regras regulatórias, com custo reduzido se comparado ao desenvolvimento interno.
O Open Banking foi implementado de forma gradual e em fases, sendo a fase 2 responsável por possibilitar que clientes compartilhassem seus dados (cadastros, transações em conta, informações sobre cartões e operações de crédito) com as instituições de sua preferência. Tudo feito por meio de consentimento, que pode ser revogado a qualquer momento exclusivamente pelos canais eletrônicos das Instituições.
Visando a construção de um caminho definido de Identificação > Autenticação > Autorização > Consentimento, tendo performance compatível como um todo (latência, segurança, robustez), propôs-se a adição de novas telas ao portal eletrônico já existente, além da criação de um programa de APIs:
API Consentimento - Que viabiliza a criação, consulta e revogação dos consentimentos.
API Resources - Método para obter a lista de recursos mantidos pelo cliente na instituição transmissora e para as quais ele tenha fornecido consentimento.
API Dados Cadastrais - Que permite a consulta aos dados cadastrais de clientes, incluindo também dados de qualificação e de relacionamento financeiro.
API - Operações de Crédito Financiamentos - viabiliza o compartilhamento de informações das Operações de Crédito do tipo Financiamento.
Interface web - Login/2FA
Interface web - Confirmação do Consentimento
Interface web - Detalhamento dos Dados Compartilhados
Interface web - Rejeitar Compartilhamento
Interface web - Aprovar Compartilhamento
Interface web - Gestão de Compartilhamentos
A partir do OpenID –openid.net desenvolvemos um stack para habilitar os recursos essenciais de um Gateway de API e do Servidor de Autorização, de forma suficiente para realizar implantar:
Nosso framework de trabalho foi baseado no Scrum, por ser uma estrutura de processo leve, baseado em equipe e que promove o avanço rápido e iterativo da solução. Nossas Sprints tiveram um intervalo de tempo de duas semanas, durante as quais a equipe definiu, construiu, testou e analisou os resultados de cada incremento do produto. Durante a fase de Planejamento e Aprendizado, realizamos visitas e trabalhos presenciais nos escritórios de nosso cliente, enquanto o restante do projeto foi realizado por meio de trabalho remoto e reuniões virtuais.
Sprints de duas semanas sempre entregando valor;
Coordenar por meio de eventos diários de stand-up;
Trabalho de pares e de propriedade coletiva;
Reuniões remotas via Teams e Discord;
Canais no Discord fechados e organizados de acordo com tarefas ou assuntos específicos, possibilitando trocar arquivos, coletar feedback e colaborar em tempo real;
Hospedagem segura de código-fonte e arquivos com controle de versão com Azure;
Planejamento e visualização do trabalho usando os boards Azure;
Qualquer projeto, não importa o quão bem planejado, resultará em algo que é pelo menos um pouco diferente do que foi imaginado pela primeira vez, e sabemos que os processos de desenvolvimento devem aceitar e estar preparados para lidar com isso. Porém neste caso tivemos um grande volume de mudanças próximas ao deadline de implantação (quase 200 falhas de especificação), algumas até naturais da liberdade dos diversos participantes, formados por Instituições Financeiras de Grande a Pequeno porte em negociar e acordar os procedimentos e regras que lhe parecessem adequados.
Para a entrada segura e assertiva no Ecossistema do Open Banking, a Estrutura de Governança disponibilizou um conjunto de ferramentas e infraestrutura para suportar o processo de testes e homologação dos produtos e serviços desenvolvidos pelas Instituições Participantes, porém estes mecanismos de certificação também sofreram com as mudanças e deadlines, alterando o escopo e com novos testes incluídos mesmo após a certificação o gerou retrabalho em itens de alta complexidade.
Os participantes do Open Banking tiveram a obrigatoriedade de adoção dos padroes DCR e FAPI .
O Perfil de Registro de Cliente Dinâmico (DCR - Dynamic Client Registration) do Financal-grade API (FAPI) do Open Banking Brasil é um perfil de RFC7591, RFC7592 e OIDR que visa fornecer diretrizes de implementação específicas para segurança e interoperabilidade que podem ser aplicadas à identificação, registro e gerenciamento de Clients OAuth operando no ecossistema Open Banking Brasil.
A Financial-grade API do Open Banking Brasil é um perfil OAuth altamente seguro que visa fornecer diretrizes de implementação específicas para segurança e interoperabilidade que podem ser aplicadas a APIs na área de Open Banking do Brasil que requerem um nível de privacidade superior ao fornecido pelo padrão Financial-grade API Security Profile 1.0 - Part 2: Advanced. Entre outras melhorias, esta especificação aborda considerações de privacidade identificadas em FAPI-1-Advanced que são relevantes nas especificações do Open Banking Brasil, mas não foram, até agora, exigidas por outras jurisdições.
Arquitetura baseada em Cloud Azure
Backend em NodeJS e MongoDB
Frontend em Vue e Angular
Testes unitários com Jest Framework
Automação de Testes E2E com Insomnia e RobotFramwork
Conseguimos superar a dificuldade técnica de implementação dos Padrões FAPI e DCR certificando em tempo recorde a Solução de nossos clientes na OIDF - Open ID Fundation https://openid.net/certification/.
Alguns desafios estavam diretamente relacionados ao prazo para a implementação, forçando a nossa melhoria constante da produtividade. Aprendemos utilizar com maior eficiência as ferramentas de comunicação, de maneira a evoluir como time conseguindo diminuir a quantidade média de tempo das mudanças do código (do sistema de controle de versão até o momento em que ele é efetivamente implantado) para produção.
Disseminamos o entendimento sobre Open Banking na comunidade, inclusive elaboramos um jogo interativo simulando na prática, como funciona o Open Banking!
Daniel Machado|Product Owner- linkedin.com/in/danielmachado1
Alan Morelli|Scrum Master- linkedin.com/in/alan-vilas-boas-morelli-344b49b6
Ney Fonseca |Tech Lead - linkedin.com/in/rodrigotmuniz
Rodrigo Muniz |Senior Back-end Developer - linkedin.com/in/rogerio-pereira
João Caetano |Back-end Developer - linkedin.com/in/joão-gabriel-caetano-252519157
Alexandre Lima |Back-end Developer - linkedin.com/in/alexandre-lima-bb947a198
Hidemitsu Hashimoto |Frot-end Developer - linkedin.com/in/hidemitsuhashimoto
Marcos Martins |DevOps - linkedin.com/in/marcosmartins-devops
Edielson Nicacio|Head of Setup and Delivery - linkedin.com/in/edielson-nicacio
Lorain Pazzetto|Sales & Product Management - linkedin.com/in/lorainpazzetto