Formação

Acesso à Informação

Help Desk

Manual do CruzaGrafos

Manual do CruzaGrafos

Na matemática, a teoria dos grafos permite encontrar as relações entre os objetos de um determinado conjunto. Nesse caso, as conexões entre vértices e arestas que os grafos mostram podem ser utilizadas para investigar grandes bancos de dados de forma visual e interativa. Assim, é possível estabelecer o elo entre empresas, políticos, pagamentos, obras públicas, entre outros dados. Essa teia pode ser explorada e visualizada com o auxílio de grafos.

A teoria matemática dos grafos já é usada na computação em muitas situações, como para descobrir quais são as relações diretas que um objeto possui, quais são os caminhos possíveis entre dois ou mais objetos, ou qual objeto é o mais conectado (que possui mais relações). 

Turicas, o programador Bernardo Fontes e sua equipe usaram linguagens de programação como Python, CSS, JavaScript, HTML, Shell e PLpgSQL para traduzir isso em cruzamentos e visualizações interativas de grandes bases de dados da Receita Federal e do Tribunal Superior Eleitoral.

No momento, por exemplo, o CruzaGrafos já tem 29,4 milhões de registros, sendo que são 20 milhões de pessoas e 9 milhões de empresas. E nos grafos podemos ver as relações de proximidade e sociedade de todas essas informações. 

Grafos ganharam muita visibilidade com o Panamá Papers, trabalho de 2016 do Consórcio Internacional de Jornalistas Investigativos. Entre as tecnologias utilizadas estavam os sistemas de gerenciamento de banco de dados em grafos Neo4J e Linkurious para busca e visualização dos dados.
 

Trabalho de limpeza e análise

A equipe do projeto CruzaGrafos faz análise exploratória de dados em bases de dados de interesse público no Brasil. O trabalho foi feito por meio de pesquisas sobre portais de acesso a dados abertos no Brasil, conversas com especialistas e estudo das informações deixadas pelo jornalista Claudio Weber Abramo.

Catalogamos esses dados, suas características, linhas e colunas, e também estudamos sua viabilidade de uso com o software Metabase. Também foram estudados portais de dados públicos e APIs que podem facilitar a atualização das informações do projeto.


Apresentação e exemplos de uso do CruzaGrafos no 2o. Domingo de Dados da Abraji, em setembro de 2020.

Esses estudos foram importantes para saber quais bancos de dados precisariam de limpeza de informações, quais informações são nomes de pessoas ou empresas, quais informações são IDs, quais informações podem ser usadas como chaves de cruzamento entre diferentes bancos de dados, quais bancos de dados são de real interesse público ou podem ser explorados nas demais fases do projeto, entre outros fatores.

Atualmente o CruzaGrafos tem dados de candidaturas eleitorais coletados no Tribunal Superior Eleitoral, com as informações gerais como ano da eleição, cargo, nome completo, nome urna, número sequencial no pleito, partido político, unidade eleitoral, unidade federativa e CPF completo do candidato.

E ainda dados da Receita Federal do Brasil sobre empresas com QSA (Quadro de Sócios e Administradores), com informações como nome fantasia, razão social, nomes completos dos sócios, CNPJ e o CPF “mascarado” dos sócios – a Receita e outras instituições públicas não publicam o conteúdo inteiro do CPF, de 11 dígitos, mas coloca asteriscos em alguns números, como nesse exemplo: ***.270.068-**
As conexões e grafos da plataforma são então produzidos com o cruzamento das principais chaves de identificação – no caso aqui CPF, CNPJ e nome completo.

Essas bases dados são periodicamente atualizadas pelos órgãos públicos e também serão da mesma forma atualizadas no CruzaGrafos. O projeto também irá incluir outras bases de dados de interesse público e jornalístico ao longo dos meses.


Construção conjunta

Em meados de 2020, o projeto também enviou convites para mais de 40 jornalistas do Brasil e América Latina, com experiência ou não em análise de dados. A partir daí desses testes e das críticas foram feitos os ajustes e as melhorias. 

Em outubro, 80 jornalistas que participaram do curso “Jornalismo, Covid-19 e Corrupção” ministrado por Abraji e Transparência Internacional Brasil, com apoio da Fundação Konrad Adenauer, também tiveram acesso ao CruzaGrafos. Os profissionais puderam conhecer técnicas de uso prático e relatar suas opiniões.

“Não existe bases de dados perfeita ou é raro encontrar uma fonte de informação completa sobre uma pessoa ou empresa de interesse público. Então o que construímos com o CruzaGrafos é uma grande possibilidade de encontrar pautas e informações relevantes, mas que deve ser complementada por checagens e mais apuração”, pondera Reinaldo Chaves.


Confira o que é possível fazer:

  • Procurar todas as empresas ligadas a um político/candidato a cargo público nas quais ele ou ela seja sócio(a) ou administrador(a);
  • Nessas empresas ver quais são os outros sócios(as);
  • Verificar também a rede proximidade desses sócios(as), isto é, de quais outras empresas eles são sócios(as) e os outros respectivos sócios(as), em diferentes graus de proximidade;
  • Descobrir se o caminho que separa uma pessoa/empresa de outra pessoa/empresa é curto ou se existe realmente;
  • Tendo de antemão a lista de parentes ou assessores de políticos ou de pessoas de interesse público, saber se eles têm empresas (tática que poderia ser usada para encobrir patrimônio, por exemplo);
  • Verificar se político(a) ou candidato(a) nas eleições têm empresas de ramos econômicos possivelmente conflitantes com seu cargo público;
  • Saber se um político(a)/candidato(a) ou pessoa de interesse público têm várias empresas em seu nome do mesmo ramo e/ou com nomes semelhantes (tática que poderia ser usada para lavagem, por exemplo).

E com esse tipo de informações continuar a apuração em temas como:

  • Na Receita colher também outras informações, com o uso do número de CNPJ, como o endereço da empresa e valor de seu capital social. Essas informações podem mostrar indícios de discrepância, por exemplo se ela ganha um grande licitação. No Google Street View é possível ainda buscar se há uma imagem recente da empresa para ver sua fachada e vizinhança;
  • Nos tribunais ou no projeto Publique-se, desenvolvido pela Abraji, verificar se existem processos judiciais que citem pessoas ou as empresas;
  • Verificar se as empresas de interesse possuem licitações, convênios e contratos listados nos portais de transparência federal, estaduais ou municipais;
  • Fazer uma busca em cartórios para saber se as pessoas encontradas têm propriedades e onde;
  • Saber se as empresas de interesse possuem dívidas ativas ou estão em cadastros de punições ambientais ou de direitos trabalhistas.


Imagem que mostra a conexão de um ex-deputado federal recém condenado, Anibal Ferreira Gomes (CE), e seu ex-assessor parlamentar, por meio de várias sociedades.

E hoje também colocamos no ar gratuitamente o conteúdo do curso “Jornalismo, Covid-19 e Corrupção” que mostra todas essas técnicas e outras para usar o CruzaGrafos (neste link). Cada vídeo tem também em sua descrição uma pasta com mais materiais para leitura e passo a passo que estudam casos recentes em investigação no Brasil de pessoas públicas e empresas. Aqui e aqui estão dois links diretos de estudos de caso. 

"Não há nenhuma avaliação de mérito do conteúdo das bases de dados por parte do CruzaGrafos, da Abraji, do Brasil.IO ou dos profissionais envolvidos neste projeto. Indícios de condutas ilícitas devem ser checados com fontes e mais informações e o fato de qualquer pessoa ser investigada não significa que ela é culpada. Todos os dados devem ser checados, inclusive com os políticos e empresas citados. Sempre deve-se ter cuidado com pessoas e empresas homônimas", ressalta Chaves.
 

Inovações para dar certo

Durante o desenvolvimento do projeto muitos problemas surgiram. Catalogar, limpar e publicar grandes bancos de dados públicas, que no Brasil muitas vezes estão dispersas e publicados em formatos de difícil análise ou com enormes quantidades de informações, exigiu muito esforço e criar soluções.

Foi necessário criar um centralizador de entidades, o qual permite a busca de nomes, empresas, municípios, hospitais, contratos, etc., e nos dá o identificador universal único (UUID). As entidades podem ser: empresas, pessoas, aplicativos etc. A falta de um UUID traz problemas como a necessidade de filtrar vários campos ao mesmo tempo (que mudam de conjunto de dados para conjunto de dados), dificuldade de pesquisar em mais de um conjunto de dados, dificuldade na geração de ID offline para consultas externas, entre outros.

O backend do grafo criado é o "coração" do sistema, que se conecta ao sistema anterior para pesquisar e gerenciar consultas no banco de gráficos, API etc e a ferramenta em si funcionando cria a "cola" de tudo e é a parte mais específica. Assim temos a integração com a autenticação do sistema de associados Abraji, no qual temos os scripts que alimentam os dois sistemas acima e a interface que o usuário acessa.

Sobre o processamento de dados também foi necessário criar soluções atuais e outras ainda em finalização, por exemplo:

Para as informações de sócios de empresas brasileiras, CNPJs brasileiros - código único de identificação de empresas no Brasil -, atividades corporativas por CNPJ, candidaturas políticas, doações políticas, contratos de saúde, entre outras das principais bases a serem selecionadas para lançamento e para os próximos meses.

Foram implementadas as funcionalidades Expandir nós vizinhos e Expandir nós vizinhos em até 2 graus. Isso permite rapidamente expandir a visualização dos grafos de conexões entre pessoas e empresas – revelando, portanto, os graus de conexão próximos.

Foi feita ainda a funcionalidade Salvar grafo, que será muito útil durante os testes e para os usuários salvar e retornar a uma investigação. Quem acessar a ferramenta pode também clicar em Exportar CSV para transformar o grafo mostrado na tela em um formato de planilha.

Construímos também uma solução para calcular o “caminho entre os objetos”, que calcula o caminho mais curto entre duas pessoas/empresas e mostra no grafo.

E adicionamos uma funcionalidade que não estava inicialmente planejada, mas que vai ajudar muito na usabilidade, após testes que fizemos internamente: navegar no histórico dos objetos (pessoas e empresas) pesquisados.


Próximos passos e abertura para não associados

As atualizações das bases do Tribunal Superior Eleitoral e da Receita Federal do Brasil serão publicadas periodicamente na plataforma - incluindo dados das Eleições de 2020. Também serão incluídas novas bases de dados e o usuários serão informados na própria plataforma e na nossa comunicação do projeto.

Todos os passos descritos na obtenção dos dados, checagens e o código fonte da plataforma também serão disponibilizados em breve no GitHub. Caso você tenha identificado algum erro ou tenha sugestões, pedimos que você entre em contato no e-mail [email protected]

O CruzaGrafos poderá também ser acessado por não associados da Abraji a partir do dia 12 de novembro. Será necessário essas pessoas se cadastrarem no próprio site do projeto a partir desse dia, mas o acesso será concedido apenas a pessoas ou instituições sem vinculação profissional com partidos políticos, com algum órgão de um dos poderes Executivo, Legislativo e Judiciário ou com entidades que promovam lobby empresarial. Elas receberão o acesso gratuito por 30 dias e depois terão que pagar uma assinatura de R$ 30 por mês. Empresas que desejarem assinar o serviço para grupos de funcionários devem entrar em contato com a Abraji e solicitar um orçamento.

Assinatura Abraji