controlepopular.br
O que é o Controle Popular
O Controle Popular é o portal público do ONSA — Observatório Nacional Socioambiental. Com raízes na História e Geografia, este portal se utiliza da tecnologia da Inteligência Artificial pra somar na busca por justiça socioambiental e fiscalização cidadã, acessível pela internet, gratuitamente e sem cadastro, por qualquer celular ou computador.
Reunindo dezenas de portais e dados públicos, estamos cobrindo milhares de contratos, convênios, licenciamentos ambientais, pesquisas e autorizações minerárias e de barragens, legislação ambiental e de direitos humanos unificada, e o orçamento detalhado das prefeituras, governo de Minas, Congresso Brasileiro e Instituições de Justiça.
“Ah, comigo o mundo vai modificar-se. Não gosto do mundo como ele é.”
O dado sobre um contrato de prefeitura já é público: está no Portal Nacional de Contratações Públicas. O dado sobre um projeto de lei federal já é público: está na API de Dados Abertos da Câmara dos Deputados. O que não existia era o lugar onde um morador encontra as duas coisas sem saber de antemão que os dois sistemas existem, como se chamam e qual campo consultar. O portal é esse lugar.
O público-alvo é o cidadão sem formação jurídica ou estatística — é por isso que termo técnico é explicado na própria tela em que aparece, e não numa página de glossário que ninguém abre.
A regra que organiza o projeto inteiro: todo número exibido tem fonte identificável, e todo número que resulta de estimativa aparece com a taxa de erro ao lado. Quando não há dado, a tela diz que não há — não preenche o espaço com uma aproximação silenciosa. Um portal que cobra procedência dos outros não pode publicar número sem procedência própria.
Este portal usa inteligência artificial — e o portal está em revisão
Sem enfeite: parte do dado que você lê aqui foi lido, extraído ou classificado com o auxílio de modelos de linguagem — as ferramentas usadas na construção do projeto foram Claude Code, Kimi Code e ZaiCode. E, por causa disso, o portal está em revisão — não é um estado transitório que vai acabar numa data marcada, é uma condição permanente de um projeto que usa IA na coleta e pede para ser conferido.
Isso não significa que os números são palpite. O projeto segue uma doutrina que separa duas coisas que costumam ser confundidas: o modelo extrai, o programa calcula. Na análise garantista do Congresso, por exemplo, o modelo de linguagem nunca recebe a pergunta “este projeto é garantista ou reducionista?”. Ele recebe uma tarefa de extração: apontar quais direitos a proposta afeta, em que direção, por qual mecanismo — e, obrigatoriamente, citar o dispositivo legal e o trecho literal que sustentam cada apontamento. O rótulo final (garantista, reducionista, misto...) não sai do modelo: é aritmética sobre esse formulário, feita por código determinístico e reexecutável. A mesma separação organiza a análise de vício legislativo e a atribuição de tema da legislação em /ambiental/legislacao (até 13/08/2026, /ambiental/direito-critico — unificada com a legislação estadual num painel só, a URL antiga redireciona pra cá).
A analogia é a do escrivão e do juiz: o modelo é escrivão, preenche um formulário de campos fechados e anota de onde tirou cada informação; o rótulo é aritmética sobre esse formulário. Isso não torna a IA inofensiva — se a extração erra, o rótulo calculado a partir dela também erra, porque o código confia no que o formulário diz. É por isso que item com confiança baixa não vira manchete: fica marcado na tela como “requer revisão humana” e sai dos rankings de alerta e de bom exemplo, mesmo continuando publicado ao lado do rótulo.
A atribuição de tema da legislação é o exemplo do padrão que este projeto adota consigo mesmo: até 13/08/2026, a página de legislação e precedentes por tema de direito chamava a atribuição de tema de “leitura humana”; hoje a página diz o que é — leitura assistida por IA, registrada linha a linha com o trecho que sustenta cada tema — e declara que está em revisão. Quem cobra procedência dos outros deve o mesmo padrão sobre si: dizer de onde cada coisa vem, na própria tela em que aparece.
Nenhum número do portal é escrito por modelo de linguagem: o assistente de conversa de cada zona responde só com o contexto que vem do banco, e o registro de camadas do mapa 3D bloqueia e conta qualquer feição marcada como demonstração antes de exportar. O que a IA faz é ler texto não estruturado — ementa de lei, inteiro teor de projeto — e transformar em campos que o código então soma, filtra e rotula por regra fixa, nunca por opinião do modelo.
As seis frentes
O portal se organiza em seis frentes, chamadas internamente de zonas. A descrição de cada uma vive num arquivo único — lib/zonas.ts — lido tanto pela home quanto pelo rodapé de cada zona, para que o mesmo texto exista num lugar só quando algo muda.
Para onde vai o dinheiro da sua cidade
A conta de quem paga, aberta: contratos, orçamento, obras e a atuação de cada vereador da sua cidade.
Federal · Congresso NacionalO que decidem sobre seus direitos — antes de você sentir
Quais direitos cada projeto de lei federal amplia ou restringe — e o ofício pronto para se manifestar.
Judiciário · Tribunais superioresQuem ocupa, quem indicou, quando vaga
O único Poder que ninguém elege: quem ocupa cada cadeira, quem indicou e quando vaga.
Meio Ambiente · Observatório Nacional SocioambientalMeio Ambiente — quem autoriza, quem licencia, quem responde
Do COPAM às barragens do país inteiro, das normas de Minas às federais, da Justiça ao Rio Doce — o que decide o ambiente, num observatório só.
Fundiário e território · Minas GeraisDe quem é a terra que ninguém declarou
Mapa 3D de Minas Gerais — terra indígena, barragem e mineração no estado inteiro; o vazio cadastral, com a taxa de erro ao lado, em três cidades do Jequitinhonha.
Reparação · Rompimento da barragem em BrumadinhoA reparação de Brumadinho, acompanhada mês a mês
Clipping, linha do tempo, quem atua na reparação e o auxílio emergencial pago mês a mês — o rompimento da barragem da Vale em Brumadinho, acompanhado.
Seis cidades estão publicadas hoje: Araçuaí-MG, Belo Horizonte-MG, Betim-MG, Diamantina-MG, Itinga-MG, São Paulo-SP, Brumadinho-MG, Serro-MG, Governador Valadares-MG, Ipatinga-MG, Juiz de Fora-MG, Uberlândia-MG. A cobertura varia muito entre elas — a seção “O que ainda falta”, mais abaixo, mostra a diferença em vez de escondê-la.
Metodologia
De onde vem o dado
Entre a fonte pública e a tela existe um conjunto de programas em Python que o projeto chama de ETL — extrair da fonte, ajustar o formato, gravar no banco. Contratos e licitações vêm do PNCP; população, PIB e malha territorial, do IBGE; despesas e receitas municipais, do SICONFI; proposições e parlamentares, das APIs da Câmara dos Deputados e do Senado; licenciamento e autuação ambiental, da CAP/SEMAD-MG e do IBAMA; barragens, do SNISB (ANA) e da FEAM. Cada tabela do banco declara, no próprio coletor, a fonte exata que consulta.
Uma prática que vale destacar: cada coletor documenta, no cabeçalho do próprio arquivo, não só a fonte e as armadilhas medidas nela, mas o que ele deliberadamente não coleta — para que a ausência de um dado não seja lida como afirmação de que o fato não existe. “Zero barragens da FEAM” num município, por exemplo, não é “nenhuma barragem no município”: é só o recorte que aquele coletor cobre.
A análise garantista: o modelo extrai, o programa calcula
O portal classifica leis e projetos de lei conforme os direitos que ampliam ou restringem — garantista quando ampliam, reducionista quando restringem. É uma escolha de valor, declarada como tal em vez de escondida atrás de uma aparência de imparcialidade.
A régua que decide isso é um arquivo único, com 24 direitos e 17 mecanismos, cada direito com as suas âncoras legais. O mesmo arquivo é lido pelo programa que monta a instrução do modelo, pelo programa que valida a resposta e pela página que explica a metodologia — se a régua mudar, as três mudam juntas, porque um portal cujo argumento é a régua transparente não pode publicar uma metodologia diferente da que aplica.
Item que não cita dispositivo legal válido é descartado antes de contar — a coluna do banco que guarda essa citação nem aceita valor vazio. Item com confiança abaixo de 0,5 continua sendo calculado e publicado, mas marca a análise como “requer revisão humana” e sai dos rankings de alerta e de bom exemplo.
Cobertura é amostra, não censo
O portal não analisou toda a legislação nem todo projeto de lei — analisou uma parte, e essa parte precisa aparecer sempre que um rótulo aparecer.
A análise de vício legislativo
Pergunta diferente da anterior: não o que a norma faz com os direitos, mas se ela foi feita do jeito certo, por quem tinha competência para fazê-la. Cinco categorias — vício de iniciativa, vício de competência, inconstitucionalidade material, vício formal, contrabando legislativo (“jabuti”, ainda documentado mas não aplicado por falta de dado de tramitação). A palavra “indício” é obrigatória na própria régua: nada aqui pode virar veredito — controle de constitucionalidade é função do Judiciário, e a lista de rótulos possíveis nem contém a palavra “inconstitucional”. Cobertura hoje: uma primeira leva de calibração — é calibração, não levantamento.
A taxa de erro do mapa 3D de terras públicas
É a única frente do portal cujo número principal é estimativa de método próprio, e não leitura direta de fonte oficial — por isso é a única que publica a taxa de erro dentro do próprio cartão de apresentação. “Vazio cadastral” significa área que nenhum imóvel rural declarou no Cadastro Ambiental Rural; o CAR é autodeclaratório, então ausência de declaração não é ausência de dono, e muito menos prova de que a terra é pública.
Quanto este número erra
Quarenta polígonos foram sorteados ao acaso e conferidos um a um, a olho, sobre imagem de satélite em 2026-08-09. 12 dos 40 não eram vazio cadastral — uma taxa de erro de 30,0%, que com o tamanho da amostra pode estar entre 18.1% e 45.4%.
O erro tem uma causa só: faixa de estrada entrando no polígono — 18 dos 18 falso-positivos, somando os dois recortes. Não é ruído espalhado, é um defeito conhecido do recorte — e por isso mensurável e corrigível.
Esta correção ainda não está no mapa. Desde 12/08/2026 o pipeline já subtrai a faixa das estradas, e a medição de controle mostrou o efeito esperado: menos área e mais polígonos, porque a estrada parte o contorno em dois. Mas aplicar isso à bacia inteira exige reprocessar o cadastro dos 56 municípios, o que ainda não rodou. As áreas que você vê aqui são as de antes da correção — e algumas delas ainda têm estrada dentro do contorno.
O projeto aceita publicar até 33% de erro. Como 30,0% está abaixo disso, o número foi publicado. Esse limite é uma escolha, não uma medição — e a medição acima vale independentemente dele.
Vazio cadastral não é terra devoluta. É área que ninguém declarou no CAR: candidata a verificação, nunca afirmação de que a terra é pública.
A parte técnica
O portal é estático
Não há banco de dados em produção. O comando de build lê o Postgres uma única vez e transforma tudo em HTML pré-renderizado, publicado como arquivo — uma visita ao site não toca em banco nenhum. A vantagem é dupla: sem banco em produção não há custo de banco nem indisponibilidade por sobrecarga de consulta; a contrapartida é que o site só muda quando alguém reconstrói, o que roda numa rotina agendada (coleta → build → trava de contagem de páginas → publicação), que recusa publicar se a contagem de páginas cair abaixo de um piso ou encolher demais em relação à publicação anterior — o sinal de que a coleta precisa de revisão antes de virar número na tela.
| Aplicação web | Next.js (App Router), React |
| Acesso a dados | Drizzle ORM sobre PostgreSQL |
| Publicação | Cloudflare Workers, via adaptador OpenNext |
| Coleta | Python 3.12, ~150 arquivos em três pacotes de ETL |
| Esquema do banco | migrations SQL numeradas, em quatro pacotes |
| Testes automatizados | biblioteca TypeScript + suíte do globo 3D |
| Publicação alternativa | export estático para GitHub Pages, sem servidor |
| Código | AGPL-3.0-or-later, repositório público |
O dado é público; o código que o organiza também — github.com/FinweeJur/controle-popular.
O que ainda falta
Parte do produto, não um apêndice. A cobertura entre as seis cidades é desigual — algumas lacunas são de acesso (fonte que exige protocolo ou tem certificado incompleto), outras são limite estrutural da própria fonte (um sistema municipal que devolve total por órgão, não nome por nome). Votações nominais do Congresso e de câmaras municipais estão em zero linhas hoje: a frente anuncia a função, e o código da rota registra que a tabela ainda está vazia. A projeção de vacância do Judiciário é parcial, porque depende de data de nascimento levantada nome a nome. A cobertura da análise garantista é de poucos por cento do acervo total — ampliá-la é trabalho de execução, o método já está validado.
Declarar a lacuna é conteúdo; disfarçá-la é defeito. É a mesma régua que rege todo o resto desta página.
“O real não está na saída nem na chegada: ele se dispõe para a gente é no meio da travessia.”
“O importante não é ser o primeiro ou primeira, o importante é abrir caminhos.”
O portal
- Índice do portal
- Blog & Relatórios
- Editais & Licitações
- Estudos Rurais
- Documentação Técnica
- Governos & Promessas
- Instituições & Secretarias
- Varas & Balcão Virtual
- Direitos em Movimento
- Tecnologia & IA Livre
- Busca
- Páginas mais vistas
- Governo federal nas cidades de MG
- Metodologia
- Termos e origem dos dados
- Sobre o projeto
- Imprensa
Receba o resumo, os dados em CSV ou o PDF desta página no seu e-mail. Sem cadastro; notificação só com o seu ok (LGPD).