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

Para Toffoli, decisão defende cidadão contra "vasculhamento de intimidade"

MATEUS BONOMI/AGIF/ESTADÃO CONTEÚDO
Imagem: MATEUS BONOMI/AGIF/ESTADÃO CONTEÚDO

Felipe Amorim

Do UOL, em Brasília

18/07/2019 14h27

O presidente do STF (Supremo Tribunal Federal), Dias Tofolli, saiu em defesa da decisão que suspendeu todas as investigações do país que tiveram origem no envio de dados detalhados ao Ministério Público por autoridades fiscais sem o aval do Judiciário.

Toffoli determinou que as investigações fiquem suspensas até que o STF defina as regras para o compartilhamento de informações em investigações criminais entre o Ministério Público e órgãos como o Coaf (Conselho de Controle de Atividades Financeiras), Receita Federal e Banco Central.

A sessão que vai analisar o tema está marcada para 21 de novembro. Nessa data, os 11 ministros do Supremo deverão debater qual o rito a ser adotado no compartilhamento e qual a extensão das informações que podem ser enviadas ao Ministério Público.

Para Toffoli, a decisão que suspendeu as investigações impede o "vasculhamento" de dados dos cidadãos sem supervisão judicial. Segundo o ministro, o problema estaria no detalhamento dos dados que são enviados pelo fisco ao Ministério Público.

Dados mais completos, como o registro das movimentações financeiras com origem e destino dos depósitos, só poderiam ser obtidos por meio de quebra de sigilo autorizada pelo Judiciário, e apenas informações gerais sobre o autor e o montante total das transações financeiras sob suspeitas poderiam ser compartilhadas num primeiro momento, antes de haver uma decisão judicial para a quebra de sigilo bancário e fiscal dos investigados.

"Se o detalhamento é feito sem a participação do Judiciário, qualquer cidadão brasileiro está sujeito a um vasculhamento na sua intimidade. Isso é uma defesa do cidadão", disse o presidente do STF, em conversa com jornalistas durante cerimônia no Tribunal Regional do Trabalho de Cuiabá.

O presidente do STF também afirmou que as investigações que contaram com autorização judicial para o envio desse tipo de informação não estão suspensas pela decisão.

"Isto é da seguinte forma que se dá: um cidadão diz que tem R$ 1 milhão de patrimônio, e teve R$ 100 mil de renda no ano anterior, quando fez a sua declaração. Se o Coaf identifica que essa pessoa movimentou por exemplo R$ 10 milhões, tendo só R$ 1 milhão de patrimônio e R$ 100 mil de renda, existe um desvio. Comunica ao Ministério Público, o Ministério Público pede a quebra de sigilo ao Judiciário, o Judiciário faz a quebra de sigilo, e isso tem um controle do Judiciário", disse.

"Então essa decisão não impede as investigações. Essa decisão ela autoriza, como foi o julgamento do Supremo e no plenário, as investigações que tiveram origem do compartilhamento global e depois o detalhamento com autorização judicial. É uma defesa do cidadão", afirmou o ministro.

A decisão de Toffoli foi tomada no processo que discute esse tema no STF, a partir de pedido do senador Flávio Bolsonaro (PSL-RJ), filho do presidente Jair Bolsonaro (PSL).

O senador é alvo de investigação do MP-RJ (Ministério Público do Rio de Janeiro) que apura suspeita de prática de "rachadinha" em seu gabinete quando era deputado estadual na Alerj (Assembleia Legislativa do Rio). A prática consiste no ree de parte dos salários dos servidores do gabinete ao próprio deputado ou a alguém de sua confiança.

O senador nega irregularidades e diz ser alvo de perseguição. Em comunicado, a defesa de Flávio Bolsonaro diz que a decisão de Toffoli "cumpre a lei".

Supremo suspende processos baseados no Coaf sem autorização

Band Notí­cias

O governo Bolsonaro teve início em 1º de janeiro de 2019, com a posse do presidente Jair Bolsonaro (então no PSL) e de seu vice-presidente, o general Hamilton Mourão (PRTB). Ao longo de seu mandato, Bolsonaro saiu do PSL e ficou sem partido até filiar ao PL para disputar a eleição de 2022, quando foi derrotado em sua tentativa de reeleição.