Metodologia

Prioridade das fontes

  1. APIs oficiais gratuitas.
  2. Arquivos oficiais CSV, JSON ou ZIP.
  3. Bases públicas oficiais para download.
  4. APIs públicas gratuitas não oficiais (BrasilAPI/OpenCNPJ) — apenas apoio pontual.
  5. Scraping ético — apenas quando não houver API ou arquivo oficial adequado, e desativado por padrão.

Score de risco cívico

Calculado apenas sobre dimensões oficiais efetivamente disponíveis: despesa, presença, concentração de fornecedor e alertas. Dado ausente nunca é tratado como zero. Score só é emitido com ≥ 2 dimensões; caso contrário exibimos “Score indisponível — dimensões oficiais insuficientes.”.

Limitações e natureza experimental do score

Os limites e faixas atuais são heurísticos, definidos pelo projeto com base em ordens de grandeza observadas em gastos parlamentares. Eles ainda não foram calibrados estatisticamente a partir de uma distribuição completa que cubra, de forma comparável, Câmara e Senado. Por isso, o score deve ser lido sempre junto com os indicadores separados (despesas, presença, agenda) e com as fontes oficiais vinculadas em cada alerta. O número não representa conclusão sobre legalidade, qualidade do mandato ou recomendação eleitoral; é apenas uma forma de priorizar a atenção sobre os registros oficiais disponíveis.

Como o score é calculado, exatamente

Dimensões possíveis (máximo 5): despesa comparativa; presença; concentração em fornecedor; custo por dia de atividade; pontos de atenção independentes.

Disponibilidade: o score só é emitido se ao menos 2 dimensões efetivamente produzirem pontuação. Dado ausente, ou dimensão sem referência válida, não vira zero — fica listada como “não avaliado”.

Fórmula final: score = arredondar(0,60 × média das dimensões utilizadas + 0,40 × maior pontuação entre elas). Todas as dimensões geram pontuação de 0 a 100 antes dessa combinação.

Regras por dimensão, como implementadas hoje:

  • Despesa comparativa: só entra quando existe uma média de referência válida (bancadaAverageExpense > 0). Usa a razão total / média com a curva: razão ≤ 0,5 → 10; entre 0,5 e 1 → 25 + (razão − 0,5) × 30; entre 1 e 2 → 40 + (razão − 1) × 40; acima de 2 → 80 + mínimo(20, (razão − 2) × 10). Hoje o perfil e o ranking não fornecem esse baseline, então o total bruto pode ser exibido, mas a dimensão não entra no score enquanto não houver referência comparável válida da mesma Casa e período.
  • Presença: limitar((1 − taxa de presença) × 160, 0, 100).
  • Concentração em fornecedor: limitar((participação do maior fornecedor − 0,10) × 160, 0, 100).
  • Custo por dia de atividade: limitar((custo por dia / 10.000) × 100, 0, 100); R$ 10.000 por dia satura o indicador em 100.
  • Pontos de atenção independentes: alertas dos tipos de custo por dia (custo_por_dia_atividade e custo_por_dia_categoria) são excluídos do cálculo para evitar dupla contagem com a dimensão de custo por dia — eles continuam visíveis no perfil. Conversão de nível: baixo 10, médio 30, alto 60, crítico 90. Pontuação da dimensão = 0,70 × maior peso + 0,30 × mínimo(100, soma dos pesos).

Faixas do score final: abaixo de 28 → baixo; 28 a 49 → médio; 50 a 69 → alto; 70 ou mais → crítico.

Parâmetros heurísticos (não calibrados estatisticamente): o multiplicador 160 da presença; o limiar de 10% e o multiplicador 160 da concentração; a saturação de R$ 10.000 por dia; os pesos 10/30/60/90 dos alertas; a composição 60% média + 40% maior dimensão; os limites 28/50/70 de classificação; e a curva de razão da dimensão de despesa, quando vier a ser ativada por um baseline válido. Esses parâmetros podem ser revisados no futuro com calibração estatística. O score não é conclusão sobre legalidade, qualidade do mandato ou recomendação eleitoral.

Alertas

Todo alerta carrega links das fontes oficiais usadas no cruzamento. Todo alerta exibe:

Este alerta não representa acusação de ilegalidade. É um cruzamento automatizado de dados públicos oficiais. Quando a checagem humana é necessária, isso é indicado explicitamente.

Verificação humana

O sistema só marca “Verificação humana necessária” quando existe uma condição factual específica e documentada: registro do CNPJ em base oficial de sanções (CEIS, CNEP ou CEPIM), situação cadastral diferente de ativa, divergência entre a atividade econômica registrada (CNAE) e a categoria da despesa paga, coincidência exata de nome completo entre sócio/empresa e parlamentar, ou despesas em período em que presença e agenda oficiais responderam ambas com zero atividade. Indicadores de proporcionalidade (custo por dia) são métricas contextuais e não carregam, por si sós, pedido de revisão. Nenhuma dessas marcações afirma culpa, ilegalidade ou qualidade do parlamentar.

Magistratura

  • Não há score. O módulo de magistratura não calcula nota, classificação de risco nem ranking de mérito. Ele apenas reproduz e explica valores oficiais.
  • Valor ausente não vira zero. Se a fonte não informa uma rubrica, ela aparece como “não informado”.
  • Percentuais são cálculos aritméticos do Radar sobre valores oficiais: pagamentos adicionais = total bruto − salário-base, e percentual = adicionais ÷ salário-base × 100, calculados apenas quando os dois valores existem e o resultado é coerente.
  • “Pagamentos adicionais” não significa irregularidade. São rubricas previstas na classificação oficial de remuneração.
  • Cada rubrica deve ser lida conforme a classificação oficial e o documento-fonte. Quando a soma das rubricas publicadas não reproduz o total oficial, o Radar avisa e não corrige nem estima.
  • Cobertura parcial e declarada. Hoje só o TJSE está conectado, pela planilha oficial de folha de pagamento de magistrados (2023–2025). O arquivo oficial é a fonte de verdade e é processado por um comando de atualização, que grava um instantâneo em JSON com data de coleta e checksum; as páginas leem esse instantâneo. O site não afirma cobertura nacional.
  • Como o instantâneo é organizado. Cada tribunal tem um arquivo de metadados (fonte, data da coleta, checksum, período e contagens) com o dicionário das rubricas, um índice leve com as pessoas e as competências disponíveis, e um arquivo de histórico por pessoa. Ao abrir um perfil, o site carrega apenas o índice e o histórico daquela pessoa — nunca o histórico de todo mundo. A planilha nunca é baixada durante a visita.
  • Idade dos dados, sem julgamento. Mostramos separadamente “fonte consultada em” (quando o Radar baixou o arquivo) e “dados disponíveis até” (mês mais recente publicado). A partir dessa distância aparece um selo neutro: até 45 dias, “Atual”; de 46 a 90 dias, “Fonte com atraso”; acima de 90 dias, “Sem atualização recente”. É medida de tempo, não crítica ao órgão.
  • Outros tribunais avaliados. TJPE, TJSC e TJGO foram verificados: as páginas de transparência respondem (ou bloqueiam o acesso automatizado), mas não expõem um arquivo individual estável e localizável sem interação manual. Enquanto não houver arquivo confirmado, nada é conectado.
  • Como os totais são obtidos nessa planilha. Ela publica linha a linha as rubricas, sem colunas de total. O salário-base é a rubrica oficial “SUBSIDIO”; o total bruto é a soma das rubricas de rendimento; o total de descontos é a soma das rubricas de desconto — sempre identificados como soma das rubricas, não como número publicado pela fonte. Rubricas como “REDUTOR” não são interpretadas como abate-teto, porque a fonte não afirma isso.
  • O motivo individual de cada pagamento não é inferido. A planilha traz o nome da rubrica, não a justificativa do pagamento àquela pessoa; o site diz isso explicitamente.

Ministério Público

  • Sem score e sem ranking. O módulo apenas reproduz e explica valores oficiais de remuneração, quando publicados.
  • Taxonomia oficial. A Resolução CNMP 334/2026 padronizou as rubricas de pagamento e o contracheque único; a Resolução CNMP 89/2012 exige publicação mensal incluindo indenizações, outros valores e descontos.
  • Escopo real da fonte conectada. Estão conectadas as planilhas mensais abertas do Portal da Transparência do CNMP, que trazem a remuneração individual dos membros vinculados ao próprio Conselho Nacional do Ministério Público. Isso não equivale ao quadro do MPF, do MPT, do MPM, do MPDFT ou dos Ministérios Públicos estaduais, que continuam sem fonte aberta conectada. A competência é lida de dentro de cada planilha; arquivos antigos que não declaram mês e ano são ignorados. Aqui também mostramos “fonte consultada em” e “dados disponíveis até” separadamente.
  • Identificação de quem consulta. Em 25/08/2026 o Plenário do CNMP aprovou proposta para revogar a exigência de identificação prévia prevista na Resolução 89/2012. Não localizamos o ato final publicado, então tratamos o tema como proposta aprovada — e não como norma já revogada. Mudança de norma nacional também não muda automaticamente cada portal.
  • Barreira de acesso respeitada. As consultas individuais do Portal da Transparência do MPF exigem autenticação Gov.br. O Radar não contorna login, Gov.br, captcha ou qualquer restrição — por isso a cobertura está declarada como em preparação, sem dados fictícios.
  • Percentual só com base oficial. O percentual acima do salário-base só é calculado quando a fonte publicar o subsídio de forma confiável.
  • Motivo individual não é inferido. Quando a fonte informa a rubrica mas não o motivo individual do pagamento, o site diz isso explicitamente.

Cache e histórico

Esta v1 não mantém histórico persistido. Dados são consultados sob demanda nas fontes oficiais e mantidos em cache volátil para performance.