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

"Dados captados por farmácia são os que mais me preocupam"; entenda o risco

O cruzamento de dados de F com medicamentos comprados e a recorrência entregam parte da sua vida - EBC
O cruzamento de dados de F com medicamentos comprados e a recorrência entregam parte da sua vida Imagem: EBC

Bárbara Therrie

Colaboração para Tilt

09/06/2021 04h00

Você vai à farmácia comprar um remédio e o atendente pede seu F para checar se tem desconto. O que você faz? Possivelmente informa o número —não vai perder a oportunidade de economizar, claro. Embora pareça banal, mas por trás disso aparece uma espécie de chantagem feita para conseguir seus dados pessoais e este não é um debate abstrato: já existem empresas condenadas por usar maliciosamente nossas informações.

Esse foi um pedaço da conversa que Tilt levou para o primeiro dia de debates no TDC (The Developer's Conference), maior evento relacionado à tecnologia da informação no Brasil, na terça-feira (8). Durante participação no "Dado não é só senha: as novas fronteiras da privacidade", Carlos Affonso de Souza, diretor do ITS Rio (Instituto de Tecnologia e Sociedade), disse:

Isso gera um incentivo muito perverso, que é: se você não entregar o seu F, você talvez esteja perdendo dinheiro"

Por conta da LGPD (Lei Geral de Proteção de Dados Pessoais), as farmácias estão começando a se atentar a essa questão e algumas estão disponibilizando um termo de consentimento em que o cliente concorda que o seu F seja usado para saber se os produtos têm descontos. Mas precisa ficar claro onde os seus dados vão ser usados e com quem serão compartilhados. Com um banco de dados de RH? Ou com o seu plano de saúde? Com o Serasa? Ou serão apagados em seguida? Precisamos saber.

Mesmo com a adoção desse termo de responsabilidade, Souza se diz preocupado, porque as farmácias nem sempre esclarecem o que vai ser feito com o cruzamento de dados como F, medicamentos que foram comprados, a data em que a compra foi realizada, a periocidade em que essa compra se repete e com quem isso vai ser compartilhado. Eles podem saber quem tem doenças crônicas, quem pode estar grávida, quem tem algum problema de adição? Como essa informação será usada?

Na opinião de Souza, o brasileiro ainda não tem uma cultura de proteção de dados, acha que esse tipo de coisa é bobagem e que não vai causar danos: "Eu não tenho nada a esconder, minha vida é um livro aberto, façam o que quiser".

"Para essas pessoas, eu digo: então, abram suas pesquisas de busca no Google, vamos ver o que você andou procurando no último ano. Estou interessado especialmente em dúvidas de português, é com SS ou Ç? A pessoa não quer revelar isso porque demonstra um desconhecimento que pode até ser embaraçoso".

O especialista alerta para o fato de que nós nunca pensamos em nós mesmos como uma usina geradora de dados pessoais. "Mas é o que fazemos", diz Souza. "amos o dia inteiro explodindo dado pessoal para tudo que é canto quando navegamos na internet".

E não para por aí. Muita gente se engana ao pensar que dados pessoais estão ligados somente à tecnologia e à internet. A verdade é que eles estão à nossa volta a todo momento, quando vamos ao restaurante, ao supermercado, quando saímos de casa com o celular no bolso. Segundo Souza, "tudo é geração de dados", desde financeiros, a consumo e até de deslocamento.

Ainda de acordo com o especialista, precisamos nos preocupar com dados pessoais por uma questão de segurança. Do outro lado sempre terá alguém coletando essas informações, que com maior ou menor ciência nossa, estará ando esses dados e utilizará para diferentes finalidades.

"Se todo mundo tiver o a todos os nossos dados pessoais, essas pessoas podem ser ar por nós, podem contrair empréstimos, podem se comunicar com pessoas que são próximas. Isso é porteira aberta para uma série de fraudes e golpes", diz.

Com tantos dados à solta, é importante saber o que está assegurado pela LGPD (Lei Geral de Proteção de Dados Pessoais). O primeiro ponto a entender é que dado pessoal é aquilo que identifica ou pode identificar uma pessoa, como nome, F, endereço, nome dos pais.

A LGPD não trata de dados anonimizados e nem de dados de pessoas jurídicas —dados como segredo de negócios ou o sigilo bancário da empresa estão protegidos por outras leis. Isso quer dizer que todo o volume de dados que você gera pode ser usado e vendido por empresas, cruzado com outros, tratado e analisado, sem necessidade de serem apagados, desde que não esteja associado à sua identidade ou "salvo quando o processo de anonimização ao qual foram submetidos for revertido".

Souza lembra que há casos concretos de que dados anonimizados foram identificados. Nos Estados Unidos, conseguiram reidentificar dados de corridas de táxis.

"Pediram para a associação que guarda o registro de todas as corridas de táxis e limousines de Nova York, a tabela dos deslocamentos, e fizeram estudos sobre o trânsito na cidade. Essa tabela veio sem qualquer identificação de quem era o motorista e de quem foi o ageiro. Tinha dia, hora, latitude e longitude do percurso. Tinha uma coluna muito interessante, deu ou não deu gorjeta. E três números de referência do registro desse carro. Com esses dados, o camarada pegou a tabela e começou a reidentificar as corridas, feito um doido. Foi nos sites de notícias, os paraparazzi que tiram foto de celebridade, e procurou fotos de celebridade entrando em táxis. Marcava o local, via se batia com a latitude e longitude e procurava saber onde as celebridades moravam. Ele fez um mapeamento de corridas e entendeu qual ator ou atriz de Hollywood estava pagando gorjeta. Ele conseguiu expor as pessoas."