Um scanner de charutos que funciona no dispositivo mantém mesmo as minhas fotografias e dados privados?
Depende de onde acontece o reconhecimento, e não daquilo que a aplicação diz ser. Se o modelo que identifica o seu charuto corre no seu telemóvel, a fotografia é processada e descartada localmente, sem nunca ser enviada para lado nenhum. Se, em vez disso, a aplicação envia a fotografia para um servidor, então ela saiu do seu dispositivo — e normalmente consegue perceber qual dos casos se aplica.
O que significa, tecnicamente, "no dispositivo"?
Um modelo de identificação de charutos tem de correr algures. Lê o texto da anilha, a cor da capa, a forma da cabeça e as proporções do charuto, e transforma isso numa correspondência. Só há dois sítios onde esse cálculo pode acontecer: no equipamento que já tem na mão, ou num servidor remoto que recebe uma imagem que lhe enviou.
"No dispositivo" significa a primeira hipótese. O próprio modelo, e não apenas uma ligação à sua fotografia, é distribuído dentro da aplicação e executado localmente. Num navegador, isso corresponde a WebAssembly a correr um modelo no formato ONNX. No iOS, são as próprias frameworks da Apple, CoreML e Vision, a fazer o mesmo trabalho com código nativo. Em qualquer dos casos, os píxeis nunca precisam de atravessar uma rede para produzir uma identificação.
O scanner da Paradigm funciona assim: a correspondência corre como WebAssembly e ONNX no navegador, ou através de CoreML e Vision no iOS, e o passo de identificação não exige qualquer chamada a um servidor.
Como posso saber se um scanner está ou não a enviar a minha fotografia?
Não tem de acreditar apenas na palavra de uma política de privacidade. Eis algumas verificações que pode fazer sozinho:
- Ative o modo de avião e tente digitalizar. Uma aplicação que funciona no dispositivo continua a trabalhar, porque o modelo já está no seu telemóvel. Uma baseada na nuvem fica bloqueada, dá erro, ou recorre a pedir-lhe que escreva o nome manualmente.
- Repare no que acontece na primeira utilização. As aplicações que correm no dispositivo costumam ter um descarregamento ou carregamento inicial notório, porque o ficheiro do modelo tem de chegar antes de poder correr localmente. Aplicações sem esse passo, que se mantêm pequenas e precisam sempre de ligação ativa para identificar seja o que for, estão muito provavelmente a enviar a imagem para fora.
- Se for uma aplicação web, abra o separador de rede do navegador enquanto digitaliza. Um pedido que dispara com uma imagem anexada no momento da identificação é a fotografia a sair do seu dispositivo. Se não houver tal pedido, o trabalho foi feito localmente.
- Leia literalmente o que a aplicação diz sobre si própria. "Com IA" não lhe diz nada sobre onde a IA corre. "Corre no seu dispositivo" ou "sem processamento na nuvem" é uma afirmação específica e verificável; entusiasmo vago sobre precisão normalmente não é.
"No dispositivo" significa que a aplicação nunca vê nenhum dos meus dados?
Não, e nem é essa a intenção. O reconhecimento no dispositivo é uma afirmação sobre um passo específico: identificar o que está na fotografia. Assim que identifica um charuto e decide registar uma avaliação, adicioná-lo à sua coleção ou escrever uma nota de prova, isso é uma gravação deliberada, e tem de ficar armazenada algures para poder pesquisá-la mais tarde, sincronizá-la entre sessões ou voltar a vê-la na semana seguinte. Isso não é, por si só, um problema de privacidade, porque foi pedido por si.
A distinção que importa é entre dados que escolheu guardar e dados que a aplicação moveu sem lhe dizer. Uma fotografia carregada discretamente para identificação, sem qualquer registo desse passo na interface, é diferente de uma nota que escreveu e gravou. A versão mais forte do processamento no dispositivo vai além de simplesmente correr localmente: extrai o resultado da identificação e descarta a imagem depois, em vez de guardar uma cópia em qualquer lado depois de feita a correspondência.
No dispositivo vs. envio para a nuvem: o que muda realmente?
| Reconhecimento no dispositivo | Reconhecimento com envio para a nuvem | |
|---|---|---|
| Onde a fotografia é processada | No CPU ou GPU do seu telemóvel | Num servidor remoto |
| O que sai do seu dispositivo | Nada, a menos que guarde um resultado | A própria fotografia |
| Funciona sem rede | Sim, depois de o modelo ter carregado uma vez | Não |
| Como verificar | Teste em modo de avião, separador de rede | Está a confiar na palavra do fornecedor |
| Tamanho do modelo | Limitado ao que um telemóvel consegue guardar e executar | Praticamente ilimitado |
O reconhecimento no dispositivo é tão preciso como enviar a fotografia para um servidor?
O tamanho do modelo é um compromisso genuíno. Um modelo que tem de caber na memória e no orçamento de bateria de um telemóvel é mais pequeno do que um que corre sem restrições num servidor, e modelos mais pequenos podem falhar coisas que os maiores apanham. Isso é real, e vale a pena perceber em mais detalhe: veja qual é realmente a precisão do reconhecimento de charutos por IA para saber o que costuma correr mal e porquê.
Mas o tamanho bruto do modelo não é a única variável, nem sequer a principal. O que o modelo está a observar importa mais do que onde corre. Um scanner que apenas lê a anilha impressa falha por completo assim que essa anilha esteja rasgada, encharcada ou em falta, por maior que seja o modelo por trás dele. Um que lê a capa, a forma e as proporções além da anilha tem outros sinais a que recorrer. Esse padrão de falha merece atenção própria: veja porque é que a identificação só pela anilha falha.
Comparar o que o modelo lê com um catálogo é também apenas uma consulta local, e não uma razão para contactar um servidor. O catálogo da Paradigm contém atualmente 11 519 charutos; confrontar uma leitura com uma lista desse tamanho é trabalho de base de dados, não algo que exija computação na nuvem.
O que devo mesmo verificar antes de confiar fotografias de charutos a um scanner?
Cinco minutos, não uma análise jurídica:
- Percorra a política de privacidade à procura de uma frase: diz se as fotografias são enviadas para algum lado e, em caso afirmativo, para quê e por quanto tempo.
- Faça o teste em modo de avião uma vez, com um charuto que não se importe de voltar a digitalizar se falhar.
- Repare se a aplicação pede permissão para a câmara sempre que digitaliza, ou se mantém uma ligação em segundo plano aberta para além disso.
- Verifique se a mesma afirmação aparece mais do que uma vez, na ficha da loja e dentro da própria aplicação, ou se surge apenas no texto de marketing e em lado nenhum do produto propriamente dito.
A privacidade na digitalização é uma peça de uma decisão maior. Se está a ponderar em que aplicação confiar para manter um registo contínuo do que fumou, a lista de verificação completa está em o que procurar realmente numa aplicação de registo de charutos.
Versão curta
- "No dispositivo" significa que o modelo de identificação corre no seu telemóvel; nada tem de sair dele para dar nome ao seu charuto.
- Um scanner baseado em servidor envia a sua fotografia para outro lado para ser comparada, seja qual for o nome que a aplicação dê a esse passo.
- Teste por si: modo de avião e depois tente digitalizar. As aplicações no dispositivo continuam a funcionar; as baseadas na nuvem não.
- Guardar uma nota ou avaliação que escreveu é diferente de uma aplicação enviar silenciosamente uma fotografia. Uma é uma escolha sua; a outra não.
- O tamanho do modelo é um compromisso real de precisão em qualquer dos casos, mas o que o modelo lê (só a anilha versus o charuto inteiro) importa mais do que onde acontece o cálculo.