;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

UOL Confere

Uma iniciativa do UOL para checagem e esclarecimento de fatos


Zerésima? TPS? Tire dúvidas no pequeno dicionário do processo eleitoral

Voto em urna eletrônica - Arte/UOL Confere sobre SOPA Images/LightRocket via Getty
Voto em urna eletrônica Imagem: Arte/UOL Confere sobre SOPA Images/LightRocket via Getty

Do UOL, em São Paulo

16/09/2022 04h00

Faltam apenas duas semanas para as Eleições Gerais de 2022, e o UOL Confere preparou um pequeno dicionário para esclarecer termos e tirar dúvidas sobre o processo eleitoral. Confira:

BU ou boletim de urna. É um papel similar a uma longa nota fiscal emitido por cada seção eleitoral ao final da votação. Ele indica a quantidade de votos de cada candidato em cada urna eletrônica, e deve ser afixado na porta da seção eleitoral após o encerramento da votação. Os dados do BU são, portanto, públicos. Os eleitores também podem consultar a versão digital do Boletim de Urna pelo aplicativo "BU na mão" da Justiça Eleitoral a partir da leitura do QR Code impresso em cada BU.

Código-fonte da urna eletrônica: Código-fonte é um conjunto de linhas de programação com as instruções necessárias para um software funcionar. Essas instruções determinam o que um programa de computador deve fazer. No caso da urna eletrônica, o código-fonte é aberto ao público meses antes das eleições para ser analisado por especialistas e pelas entidades fiscalizadoras para identificar vulnerabilidades e melhorá-lo até o dia do pleito. Esse procedimento é chamado de TPS (Teste Público de Segurança), e faz parte das medidas de auditoria da urna eletrônica.

Entidades fiscalizadoras. São entidades autorizadas pelo TSE (Tribunal Superior Eleitoral) para atuar na fiscalização do processo eleitoral brasileiro. Fazem parte desta lista; todos os 32 partidos políticos; OAB (Ordem dos Advogados do Brasil); Ministério Público; Congresso Nacional; STF (Supremo Tribunal Federal); CGU (Controladoria-Geral da União); Polícia Federal; Sociedade Brasileira de Computação; Conselho Federal de Engenharia e Agronomia; CNJ (Conselho Nacional de Justiça); CNMP (Conselho Nacional do Ministério Público; TCU (Tribunal de Contas da União); Forças Armadas; CNI (Confederação Nacional da Indústria) e integrantes do Sistema Indústria e entidades do Sistema S; entidades privadas brasileiras sem fins lucrativos com notória atuação em fiscalização e transparência da gestão pública credenciadas no TSE e departamentos de tecnologia da informação de universidades, também credenciadas no TSE.

RDV ou Registro Digital de Voto. Ao longo de todo o dia de votação, os votos de cada eleitor são armazenados gradativamente na urna eletrônica. O sistema interno de cada urna grava as informações em um arquivo chamado RDV (Registro Digital de Voto), que foi instituído por lei aprovada no Congresso em 2003. O registro é feito de forma embaralhada para evitar que se descubra a ordem e a escolha de cada eleitor, resguardando assim o sigilo do voto. O registro no RDV também permite a totalização dos votos de cada urna e a recontagem eletrônica, se necessária.

supercomputador, tse - Divulgação/TSE - Divulgação/TSE
Supercomputadores da sala-cofre do TSE
Imagem: Divulgação/TSE

Sala-cofre. É um local de o que abriga supercomputadores que, além de receber os votos e fazer a totalização, também armazenam dados sensíveis — como o cadastro nacional de eleitores, o registro e a prestação de contas dos candidatos, além de cópias dos programas informatizados usados nas urnas eletrônicas. Segundo o TSE, há 90 computadores na sala-cofre. O espaço é altamente protegido e só três servidores, que não podem ter a identidade revelada, têm o. A entrada ocorre na necessidade de serviços de manutenção.

Ao contrário do que afirmam peças de desinformação sobre o processo eleitoral, a totalização dos votos não é feita em apenas uma sala e ela não é secreta. O trabalho acontece em dois espaços. A sala-cofre é onde ficam armazenadas as máquinas —com raras entradas para manutenção. O outro espaço é a Seção de Totalização e Divulgação dos Resultados do TSE, onde uma equipe de servidores desenvolve e fiscaliza o programa de totalização de votos das eleições.

A colunista do UOL Carolina Brígido visitou o espaço, que é público. Na sala, trabalham cerca de 20 funcionários da Justiça Eleitoral. Fiscais de partidos políticos podem acompanhar a apuração no local no dia da votação. A sala não tem o à internet. Assista:

TPS ou Teste Público de Segurança. São testes de vulnerabilidade do sistema das urnas eletrônicas. O TPS das Eleições de 2022 começou em novembro de 2021 e foi finalizado em maio deste ano. Durante seis dias, 26 investigadores fizeram 29 tentativas de ataque ao sistema das urnas do modelo UE 2015. Cinco foram considerados relevantes e foram reproduzidos no teste de confirmação em maio após ajustes feitos pelo TSE.

Na ocasião, nenhum dos participantes do teste conseguiu ultraar as barreiras de segurança da urna eletrônica. Um relatório da comissão avaliadora do TPS concluiu que não foram identificadas vulnerabilidades. Nenhum dos programadores conseguiu violar a integridade ou sigilo do voto. E as urnas novas? A urna do modelo UE 2020 foi testada por pesquisadores da USP a partir de parceria firmada com o TSE. Os testes foram similares aos realizados no TPS. Os engenheiros da Escola Politécnica da USP não identificaram vulnerabilidades no novo modelo. Pesquisadores da UFPE e da Unicamp também analisaram o código-fonte da urna.

ue, 2020 - Divulgação/TSE - Divulgação/TSE
Urna eletrônica modelo 2020 (UE 2020) será usada pela primeira vez em 2022.
Imagem: Divulgação/TSE

UE 2020. É o nome atribuído à urna eletrônica mais recente, que será usada pela primeira vez em 2022, mas não será a única do processo eleitoral deste ano. Outros cinco modelos também serão utilizados: UE 2009, UE 2010, UE 2011, UE 2013 e UE 2015 (conheça cada um). Ao todo, serão usadas 577.125 urnas eletrônicas.

Zerésima. É um documento impresso pela urna eletrônica no dia da eleição, antes da votação. A impressão da zerésima atesta que não há nenhum voto registrado na urna.

Uma série de matérias do UOL Confere explica a contagem de votos, a auditoria das urnas e outros detalhes do processo eleitoral. Confira:

O UOL Confere é uma iniciativa do UOL para combater e esclarecer as notícias falsas na internet. Se você desconfia de uma notícia ou mensagem que recebeu, envie para [email protected].