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

PF prende vice-presidente do Facebook por descumprir ordens judiciais

Diego Dzodan, vice-presidente do Facebook para a América Latina - Reprodução/Facebook
Diego Dzodan, vice-presidente do Facebook para a América Latina Imagem: Reprodução/Facebook

Do UOL, em São Paulo

01/03/2016 11h33Atualizada em 04/08/2020 03h10

A Polícia Federal prendeu na manhã desta terça-feira (1) o vice-presidente do Facebook na América Latina, o argentino Diego Jorge Dzodan. Ele foi detido antes de sair para o seu escritório, no bairro do Itaim Bibi, em São Paulo. Após prestar declarações na Superintendência da PF, na Lapa, o executivo foi transferido ao CDP (Centro de Detenção Prisional).

Segundo nota da PF, o pedido de prisão preventiva foi expedido pelo juiz criminal da Comarca de Lagarto (SE), Marcel Maia Montalvão, após reiterado descumprimento de ordens judiciais, que solicitavam informações contidas na rede social para produção de provas a serem usadas em investigação de crime organizado e tráfico de drogas.

A Justiça havia solicitado os endereços físicos de onde os traficantes trocavam mensagens tanto pelo Facebook quanto pelo Whatsapp, app de mensagens que também pertence ao Facebook.

Segundo Mônica Horta, chefe de comunicação da PF de Sergipe, o executivo foi procurado três vezes pela Justiça nos últimos meses para prestar esclarecimentos.

Ao não responder aos pedidos, o juiz estipulou multa diária de R$ 50 mil, que não foi cumprida por mais 30 dias. Depois essa multa aumentou para R$ 1 milhão por dia

O Facebook, de acordo com Mônica, não poderia deixar de fornecer os dados alegando descumprimento de sua política de privacidade. "Ordem judicial deve ser cumprida por toda empresa. Já emitimos ações similares contra empresas de e-mails, que respeitaram a ordem", comentou ela.

Empresa considera "desproporcional"

Em nota divulgada na tarde de hoje, a empresa informou que "sempre esteve e sempre estará disponível para responder às questões que as autoridades brasileiras possam ter".

"Estamos desapontados com a medida extrema e desproporcional de ter um executivo do Facebook escoltado até a delegacia devido a um caso envolvendo o WhatsApp, que opera separadamente do Facebook", disse.

Já o juiz Marcel Maia Montalvão não quis comentar a prisão do executivo, alegando que o caso tramita em segredo de Justiça.

Em nota, ele disse apenas que "trata-se de um processo de tráfico de drogas interestadual, em que a Polícia Federal solicitou ao juízo a quebra do sigilo de mensagens trocadas no WhatsApp. O que foi deferido pelo magistrado". A decisão teve como base o artigo 2º, parágrafo 1º, da lei 12.850 de 2013: "Nas mesmas penas incorre quem impede ou, de qualquer forma, embaraça a investigação de infração penal que envolva organização criminosa."

Ainda assim, segundo especialistas em Direito Digital, consultados pelo UOL Tecnologia, a empresa —por ter representação no país, que no caso é o Facebook— é obrigada a guardar todos os registros de os dos usuários por um período mínimo de seis meses e fornecê-las mediante ordem judicial.

Whatsapp na berlinda desde 2015

Em dezembro do ano ado, a Justiça mandou suspender o WhatsApp por motivo parecido, com base na lei do Marco Civil da internet, que exige que serviços ofertados no país respeitem a legislação brasileira. O bloqueio devia durar 48 horas, mas no fim o aplicativo ficou 12 horas fora do ar.

Em fevereiro de 2015, a Justiça de Teresina, no Piauí, também determinou a suspensão do WhatsApp por não cumprir decisões judiciais. Mas as operadoras recorreram e o aplicativo não teve seu funcionamento suspenso.

Especialistas interpretaram, na época, que era uma tentativa de forçar a empresa a colaborar com a investigação de crimes graves, já que as aplicações de multas não surtiam efeito.

Frederico Ceroy, presidente do Instituto Brasileiro de Direito Digital, afirmou na época que a decisão abria um precedente no Judiciário brasileiro, especialmente pela postura "arredia" que o Facebook tem tido com a Justiça do país. "Se a empresa continuar se negando a fornecer os dados requeridos judicialmente, haverá um pedido por dia", disse o especialista.

Embora o WhatsApp alegue não ter as informações solicitadas pela Justiça brasileira, as autoridades, de acordo com Ceroy, pedem que sejam informados apenas os dados que possui. "Por exemplo, um determinado usuário usa o celular número tal, da operadora tal e se conectou com esse outro usuário da operadora tal. Não se quer ter o às conversas", afirma. "O que notamos é que há uma má vontade do app em colaborar."