Tim Cook uma vez repreendeu Travis Kalanick pela prática do Uber de rastrear usuários mesmo depois de eles deletarem o aplicativo de seus iPhones. Mas em seu mais novo sistema operacional, o iOS 11, a Apple está lançando uma função que vai permitir o mesmo tipo de rastreamento — mas com menos implicações de privacidade.

• Apple abandona suporte ao iPad 4 e aos iPhones 5 e 5C
• Seis coisas que a Apple está tentando matar neste ano

O novo recurso da Apple é chamado de DeviceCheck e, se os desenvolvedores escolherem usarem-no, isso vai lhes permitir marcar e rastrear persistentemente os iPhones dos usuários, mesmo que a pessoa delete o aplicativo ou limpe seu telefone completamente, usando a Apple como intermediária.

Para deixar claro, esse tipo de marcação não permite rastreamento de localização. Ele possibilita que desenvolvedores acompanhem os dispositivos de antigos usuários para que, se um dia eles voltarem ao aplicativo, os desenvolvedores saberão que eles já estiveram lá antes.

No caso do Uber, a empresa de compartilhamento de corridas desenvolveu uma técnica para colocar na lista negra dispositivos que estiveram envolvidos em fraude, embora a implementação disso feita pelo Uber tenha fugido da política da Apple. O New York Times noticiou que engenheiros do Uber utilizaram geofencing (uma “cerca virtual” que permite saber quando um dispositivo entra ou sai de um local determinado) e uma versão boba compatível com as políticas de seu código para evitar que funcionários da Apple descobrissem a técnica.

A Apple, é claro, descobriu mesmo assim, levando ao confronto de 2015 entre Cook e Kalanick. Uma revisão do código do Uber, do fim de 2014, por Will Strafach, do Sudo Security Group, descobriu que o Uber provavelmente estava rastreando números de série de dispositivos. Após Cook confrontar Kalanick, o Uber modificou seu código para obedecer à política da Apple.

O recém-divulgado DeviceCheck vai funcionar no iOS e no tvOS e permite que desenvolvedores de aplicativos associem dois bits e um timestamp com um dispositivo indefinidamente. A engenheira de privacidade da Apple Katie Skinner lançou o DeviceCheck na WWDC, nesta quarta-feira, como um método para a prevenção de fraudes que será mais seguro à privacidade dos consumidores.

“Existem muitos desenvolvedores que estão, atualmente, usando uma variedade de técnicas para tentar identificar dispositivos. Agora, eles podem estar tentando identificar e responder perguntas como: esse dispositivo recebeu um período de testes gratuito? Esse dispositivo se envolveu em atividades fraudulentas?”, disse Skinner. “Agora, para alcançar esse objetivo, muitos desenvolvedores — embora eu tenha certeza de que isso não inclui nenhum de vocês nesta sala — podem estar coletando um monte de informações para associar algum estado a esse dispositivo.”

Em vez de arrumar um número de série de um dispositivo furtivamente, como o Uber aparentemente fez em 2014, desenvolvedores enviarão dois bits (eles podem escolher entre 00, 01, 10 e 11) e um timestamp para a Apple. Essa informação será salva pela Apple até que um desenvolvedor de app o reinicie ou o modifique.

“Isso significa que será armazenado pela Apple por meio da exclusão e reinstalação do seu aplicativo, apagando todos os conteúdos e configurações, assim como por meio de uma transferência desse dispositivo entre usuários”, Skinner explicou.

Os desenvolvedores podem dar qualquer significado que queiram aos bits: o 01 pode indicar que um dispositivo está envolvido em comportamento fraudulento, enquanto o 11 pode significar que um dispositivo foi marcado como suspeito, mas depois liberado, por exemplo. Porém, o dispositivo permanecerá para sempre associado com o timestamp e os bits que os desenvolvedores atribuíram.

Skinner usou o exemplo de um aplicativo de notícias com um período de testes de sete dias para explicar como o DeviceCheck vai funcionar. Imagine que você baixe um aplicativo que venha com período de testes gratuito; o app pode enviar à Apple um timestamp e 00 para indicar que o aplicativo foi instalado e que o teste de sete dias começou. Após uma semana, o aplicativo pode enviar um token diferente aos servidores da Apple (01 e um timestamp) para indicar que seu dispositivo consumiu seu período de testes. Se você deletar o aplicativo e instalá-lo novamente depois, ele vai pedir o token para a Apple, que vai responder aos servidores do aplicativo com 01, indicando que está na hora de você começar a pagar pela assinatura do app. O usuário pode então receber um aviso de que seu período de testes expirou e que está na hora de pagar.

Essa configuração deixa todos os envolvidos na equação com o mínimo de informações pessoais possível: o desenvolvedor não está coletando um número de série ou outras informações identificadoras de um usuário, e a Apple tem apenas dois números, sem qualquer indicação do que eles significam na lógica do app.

Entretanto, o DeviceCheck poderia criar problemas para pessoas que compraram iPhones usados — eles podem estar impossibilitados de receber um teste grátis de um aplicativo que o dono antigo já baixou, por exemplo. “Você precisa pensar em como lidar com esses tipos de casos”, alertou Skinner aos desenvolvedores, sugerindo que deem aos usuários uma maneira de entrar em contato se seu dispositivo foi marcado incorretamente.

Strafach, presidente do Sudo Security Group, contou ao Gizmodo que o DeviceCheck parece um ponto de equilíbrio entre o combate a fraudes e a preservação da privacidade (embora tenha enfatizado que não testou pessoalmente o recurso ainda).

“O que estou vendo é um esforço honesto para harmonizar a necessidade legítima de prevenir fraudes e permitir aos desenvolvedores acessar identificadores sensíveis”, disse Strafach.

O Gizmodo entrou em contato com um porta-voz da Apple para mais comentários sobre o DeviceCheck, e vamos atualizar a publicação se tivermos resposta.