;(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

Fake news: plataformas têm muito poder e não são transparentes, diz Rigoni

O deputado Felipe Rigoni (PSB-ES) - Chico Ferreira
O deputado Felipe Rigoni (PSB-ES) Imagem: Chico Ferreira

Carlos Madeiro

Colaboração para Tilt

15/07/2020 19h20

O deputado federal Felipe Rigoni (PSB-ES), um dos autores do texto original do projeto de lei 2630/2020, conhecido como "PL das Fake News", afirma que as empresas que istram as redes sociais têm "muito poder" e decidem sobre publicações de forma pouco transparente.

A fala de Rigoni ocorreu durante debate de terça-feira (14) promovido pela Abraji (Associação Brasileira de Jornalismo Investigativo) em parceria com o InternetLab (Centro de Pesquisa em Direito e Tecnologia).

As plataformas têm muito poder: elas derrubam conteúdos, marcam como impróprio ou com violação de direitos autorais. Elas não são nada transparentes sobre isso, e o texto tem de trazer transparência sobre esses conteúdos. O Senado traz esse ponto positivo e dá para evoluir bastante na Câmara
Deputado federal Felipe Rigoni

Para o parlamentar, apesar de o PL ter sido associado às fake news, o texto não aborda a questão do conteúdo das publicações.

"Pelo tanto de coisas que a gente aprendeu até aqui, algumas delas não adianta a lei tentar regular porque, ou não funciona, ou gera riscos muito sérios. Os países que tentaram definir desinformação fizeram errado, mal feito; e gerou uma série de ações antidemocráticas, censuras. No PL a gente não trata de como lidar com conteúdo, mas com comportamento", afirma.

Apesar disso, o Artigo 12 do atual texto do PL dá uma brecha para controle de conteúdo, pois diz que a plataforma pode excluir conteúdos sem notificar o usuário em casos de riscos de:

  • Dano imediato de difícil reparação;
  • Segurança da informação ou do usuário;
  • Grave comprometimento da usabilidade da aplicação;
  • Incitação à violência;
  • Indução ao suicídio;
  • Indução à pedofilia;
  • Deepfake.

Para Rigoni, existem vários outros pontos no texto que precisam de melhorias, como a transparência das plataformas, a identificação de robôs, a identificação de usuários e a rastreabilidade de dados de mensagens.

"Têm coisas que o Senado não colocou, como a educação midiática e a questão penal e não penal de quem produz desinformação. Assim como precisamos saber como rastrear o dinheiro de organizações criminosas que financiam a desinformação. Tem bastante discussão para acontecer", diz.

Sobre fundos para a educação, ele reclama que a expectativa era que o texto do Senado trouxesse propostas. "No final, só colocaram que as multas que forem aplicadas voltam para o Fundeb (Fundo de Manutenção e Desenvolvimento da Educação Básica). Isso não parece ter impacto sobre a educação midiática. Precisamos incluir isso", afirma.

O deputado acredita que não deve vingar no PL a necessidade da manutenção dos dados pelas plataformas no país, por achar inviável. "Você já tem um problema que é jurisprudencial, mas que também é econômico. Se você põe essa coisa dos dados aqui para o Brasil, algumas plataformas poderão não vir por causa dessa regra", afirma.

A Câmara dos Deputados iniciou um ciclo de dez debates esta semana, que ocorrerão às segundas, quartas e sextas, sobre os mais variados temas que envolvem o tema. Com isso, espera-se pegar sugestões para as lacunas deixadas no texto atual.

Outras opiniões

Participaram ainda do debate a diretora adjunta da Rede Internacional de Checagem de Fatos (IFCN, na sigla em inglês), Cristina Tardáguila; o diretor do InternetLab Francisco Brito Cruz; a advogada especialista em mídia e Internet Taís Gasparian; e a diretora da Abraji Natália Mazotte, como moderadora.

"É um caso clássico de o Brasil tentar resolver um problema difícil com uma solução fácil", disse Tardáguila, quando perguntada se é possível combater fake news com a proposta do PL, por achar o problema "muito mais complexo do que um texto legislativo". Ela tem visto ao redor do mundo que esse tipo de lei estimula a autocensura dos usuários, citando um caso da Indonésia, em que mães que compartilharam informação sobre um terremoto foram presas.

Francisco Brito Cruz, do InternetLab, comentou o trecho do projeto que determina que serviços como o WhatsApp guardem, pelo prazo de três meses, os registros dos envios de mensagens encaminhadas em massa para até mil pessoas.

"O WhatsApp não tem bola de cristal, por isso terá que registrar todas as mensagens para saber quais vão chegar a mil pessoas. A coleta terá que ser massiva, independentemente de haver um mecanismo na lei de só registrar o que for mais viral", esclarece Cruz.

Para Gasparian, discutir o que é liberdade de expressão deveria vir antes do debate do PL. "No Brasil, não sabemos qual é o papel do Estado nas garantias das liberdades de expressão e de imprensa. Queremos um Estado que regule a liberdade de expressão ou que se afaste?", questionou.