CONSULTA POPULAR 2026/2027

🔍 Transparência do Sorteio de Delegados

COREDE Vale do Rio dos Sinos — CONSINOS  |  Nova Hartz

⚙️ Algoritmo utilizado
Gerador Criptograficamente Seguro (CSPRNG)

Fisher-Yates Shuffle com crypto.randomInt()

O sorteio utiliza o algoritmo Fisher-Yates (também chamado de Knuth Shuffle), reconhecido como o embaralhamento aleatório imparcial por construção matemática: cada permutação possível dos candidatos tem exatamente a mesma probabilidade de ocorrer.

Os números aleatórios são gerados por crypto.randomInt() do Node.js, que usa o CSPRNG do sistema operacional (equivalente a /dev/urandom no Linux ou BCryptGenRandom no Windows). Isso garante que os resultados não podem ser previstos ou manipulados.

Referência: Wikipedia — Fisher–Yates shuffle  |  Node.js crypto.randomInt()

Código-fonte exato executado no servidor:

// Candidatos na ordem de inscrição (determinística)
const arr = [...candidatos];
const passos = [];

// Fisher-Yates: para i de n-1 até 1
for (let i = arr.length - 1; i > 0; i--) {
  // Sorteia j aleatório em [0, i] — CSPRNG
  const j = crypto.randomInt(0, i + 1);

  // Registra o passo para auditoria
  passos.push({ i, j, trocou: i !== j });

  // Troca posições i e j
  [arr[i], arr[j]] = [arr[j], arr[i]];
}

// Os primeiros numVagas do array embaralhado são os eleitos
const eleitos = arr.slice(0, numVagas);

💡 Como verificar manualmente: com a lista de candidatos na ordem de inscrição e os passos registrados abaixo, qualquer pessoa pode reproduzir exatamente o mesmo resultado aplicando as trocas na sequência registrada.

📋 Resultado do último sorteio
⏳ Nenhum sorteio realizado ainda.
🧪 Simulador de isonomia

Rode N sorteios simulados com os mesmos candidatos e veja se a distribuição é uniforme. Num algoritmo justo, cada candidato deve ser eleito aproximadamente das vezes (vagas ÷ candidatos).

simulações
📄 Log completo em JSON

Log bruto completo do sorteio. Pode ser salvo como prova documental.

{ "realizado": false }
📊 Resultados 🔗 JSON bruto