Permissões de apps: como elas funcionam no Android, iOS e Windows Phone

Permissões de apps: um assunto importante!

Um smartphone moderno é composto por um punhado de sensores, módulos e recursos. É esse arsenal que faz com que ele seja tão versátil, tão útil no dia a dia. Os desenvolvedores podem utilizar essa gama de poderes para facilitar ou mesmo viabilizar o funcionamento dos seus apps. Só que é como dizia o tio de um super-herói: com grandes poderes vêm grandes responsabilidades. Você presta atenção nas permissões que os apps exigem antes de instalá-los?

A Tatiana contou, na Galileu, os motivos que a levaram a desinstalar o app do Facebook em seu smartphone Android: o excesso de permissões que o app pede para ser instalado. Como ela nota, algumas fazem sentido, outras soam estranhas mesmo sob a bandeira da comodidade.

Todo smartphone vendido atualmente conta com um sistema de permissão destinado aos apps. Como eles funcionam em sandboxes, ou seja, isolados entre eles e do sistema, as permissões funcionam como um contraponto de flexibilidade nessa estrutura orientada à segurança, como pontes seguras entre os apps e os recursos que o smartphone tem.

Por padrão o sistema operacional bloqueia acesso a esses recursos em prol da segurança. Um app, para usufruir desses recursos, precisa declarar explicitamente quais são necessários e apenas com a anuência do usuário as portas virtuais que os guardam são abertas.

Nós temos a chave, mas somos proprietários displicentes. Raramente atentamos para as permissões que um app pede e, nessa, acabamos abrindo a porta de casa para qualquer um. Um jogo gratuito precisa mesmo saber a minha localização? Por que uma rede social quer saber meu histórico de ligações, ou ficar aberta o tempo todo em segundo plano? E esse app de piadas, quer minha lista de contatos para quê?

Abaixo, faço um passeio pelos sistemas de permissões das três principais plataformas móveis: Android, Windows Phone e iOS.

No Android, é tudo ou nada

Ao instalar um app no Android, o Google Play exige confirmação para as permissões que ele pede. Surge uma lista delas na tela com um botão de confirmação embaixo. Clique nele e o app é instalado; discorde e você volta para a Play Store, sem o app.

Permissões que o Path pede no Android.
Ou você aceita tudo ou cancela a instalação.

Essa abordagem é oito ou oitenta, não há meio termo do tipo “ok, app, você pode saber a minha localização e acessar as fotos do celular, mas nada de ler meus contatos”. Alguns apps até permitem configurações granulares de permissões após a instalação — no Facebook, talvez o exemplo-mor de app que extrapola nesse ponto, dá para deixar a localização desativada por padrão, por exemplo. No geral, porém, é aquela abordagem rígida do aceite total que vale.

Abordagem que, claro, não é a ideal, mas que tem sua validade. Dependendo do app e do que ele pede, é melhor deixá-lo de lado — em muitos casos é de se pensar se o risco vale a pena. Existem aqueles chatos, mas mais amenos, em que você verá propagandas assustadoramente precisas, de anunciantes próximos, graças à concessão da sua localização via GPS. Outros são mais graves; você pode acabar vítima de um golpe, como o do Balloon Pop 2 que sequestrava conversas no WhatsApp para revendê-las depois.

O Android carece, ainda, de uma central de privacidade. O recurso fez uma rápida aparição na versão 4.3: o App Ops abria todas as permissões de cada app instalado e permitia revogá-las individualmente. Era preciso usar algum programa que criava a interface para o App Ops, como o da Color Tiger1.

App Ops em funcionamento no Android 4.3.
Screenshots: EFF/Reprodução.

Ele não durou muito. Na versão 4.4.2 o App Ops sumiu com a justificativa, do Google, de que sua aparição recente fora um descuido e que na prática trata-se de um recurso usado apenas internamente para testes. Triste, mas compreensível: muitos apps simplesmente “quebram” quando permissões vitais são revogadas.

O melhor a se fazer, por ora, é ficar atento às permissões na hora de instalar um app — e desistir ao menor sinal de desconfiança.

As permissões de apps são ainda piores no Windows Phone

Requisitos do Hisptamatic Oggl, para Windows Phone.
No Windows Phone, requisitos dos apps são apresentados discretamente na Loja de Aplicativos.

No Windows Phone a situação é similar à do Android, com uma agravante: as permissões são listadas na Loja de Aplicativos, só que essa não pede confirmação do usuário na hora de instalar algum — com apenas uma exceção, a do acesso à localização.

A lista de permissões de um app fica soterrada na página “Detalhes” dele na loja de apps. Em texto puro, logo depois da descrição e entre links legais que recebem ainda menos atenção, o posicionamento ruim de informações tão importantes é preocupante. Elas deveriam estar em local mais acessível e ter mais destaque ali.

A Microsoft lista, na ajuda do Windows Phone, todas as permissões possíveis a um app.

O mais triste é que nas configurações do sistema existe uma aba “Aplicativos” que, em vez de contemplar todos, fica restrita a alguns nativos, pré-instalados do sistema. A exceção é o item “Tarefas em segundo plano”, que lista apps capazes de rodar em segundo plano e permite revogar esse privilégio.

iOS: demorou, mas é assim que se faz

O iOS é o sistema que melhor lida com permissões de apps.

Não foi sempre assim. Antes do iOS 6, essa parte do sistema era um desastre. Foi preciso um escândalo envolvendo o app Path para que a Apple tomasse providências e desse a devida atenção às permissões dos apps.

Exemplo de app requisitando permissão especial no iOS.
No iOS, as permissões são concedidas durante o uso do app.

No começo de 2012 o app do Path foi flagrado enviando listas de contatos dos usuários para seus servidores sem notificá-los disso. Até então o iOS só informava e pedia autorização do usuário para o uso do sistema de notificações push e dos serviços de localização que um app porventura precisasse; todo o resto era concedido de pronto, sem aviso algum.

Com o estouro do caso Path, que repercutiu até no Congresso dos EUA, mudanças foram feitas no iOS 6. Além de notificações e localização, o sistema passou a regular outras permissões nos apps, a saber:

  • Contatos
  • Calendários
  • Lembretes
  • Fotos
  • Compartilhamento Bluetooth
  • Microfone

A App Store continua sem listas de permissões para os apps por lidar com elas de maneira diferente. Ao instalar um app de lá, ele não ganha acesso imediato às permissões de que precisa. É durante o uso que o usuário concede (ou não) as necessárias. O app vai perguntando na medida em que uma função que dependa de certa permissão é acionada e aí cabe ao usuário concedê-la ou não.

Não existe o risco de “quebrar” apps porque as diretrizes da App Store exigem que o desenvolvedor preveja comportamentos alternativos para quando certas permissões forem negadas. As notas de lançamento do iOS 6 para desenvolvedores esclarecem isso:

“Além dos dados de localização, o sistema agora pede permissão do usuário antes de liberar o acesso a apps terceiros a certos dados do usuário.

(…)

Para dados de contatos, calendários e lembretes, seu app precisa estar preparado para ter o acesso negado a esses itens e ajustar o comportamento de acordo. Se o usuário ainda não foi questionado sobre a liberação do acesso, a estrutura retornada é válida, mas não contém registros. Se o usuário negou o acesso, o app recebe um valor nulo ou nenhum dado. Se o usuário garantir permissão ao app, o sistema consequentemente notifica o app de que ele precisa ser reiniciado ou reveter os dados.”

Área Privacidade, nas configurações do iOS, e app Foursquare sem acesso à localização do usuário.
No iOS, permissões são concedidas durante o uso dos apps e podem ser revogadas a qualquer momento.

Nas configurações do sistema existe, ainda, uma área chamada Privacidade. Ela concentra as permissões que o sistema oferece e dá ao usuário o poder de vetá-las, para qualquer app, a qualquer momento.

Permissões de apps são importantes

As permissões de apps são meio como a EULA do Windows, ou os termos de uso das redes sociais: a maioria aceita sem ler. Nem o fato de serem compostas por poucas linhas anima o usuário médio a prestar atenção nos privilégios que ele concede sempre que instala um app. O que é um perigo.

Este é um assunto importante. Ler aquelas poucas linhas e tentar entender por que um app pede certas permissões é um esforço válido. Na próxima vez que fizer uma parada no Google Play ou na Loja de Apps do Windows Phone, ou que um app no iOS começar a pedir muita coisa, abra de olho, questione.

Foto do topo: Vit Brunner/Flickr.

  1. A Color Tiger oferece, agora, o App Ops X. Ele não está disponível no Google Play porque o método de instalação viola as regras do Google — a saída, pois, é fazer sideloading do app. Os desenvolvedores garantem que o app funciona mesmo no Android 4.4.2 e prometem um futuro cheio de atualizações, integração com o Tasker, pré-configuração de permissões a serem desativadas de pronto e outras vantagens. Mais informações no Lifehacker.

O Manual do Usuário é um blog independente que confia na generosidade dos leitores que podem colaborar para manter-se no ar. Saiba mais →

Acompanhe

  • Telegram
  • Twitter
  • Newsletter
  • Feed RSS

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

10 comentários

  1. Hoje tive que orientar um pessoa por telefone sobre como reativar permissões de um aplicativo no iPhone, sem ter um aparelho por perto. Esse post me salvou.

  2. Sempre li e me preocupei com as permissões.

    Uso o Xprivacy para controlar o que os apps podem acessar no Android.

    Com ele posso instalar qualquer app e revogar as permissões que achar conveniente.

  3. Percebi isso quando chegou meu Nokia Lumia 720 (yesss!). Comparando-o ao iOS (tenho um iPad), vi que não tem muita coisa para mexer em termos de apps, tratando-se de permissões. Não instalei quase nada ainda, a não ser o app oficial do Facebook – aliás, vou ler o texto da Tatiana!

    Bons esclarecimentos Rodrigo. Valeu.

  4. Hoje em dia eu não instalo o aplicativo se achar estranho a solicitação de permissões. Mas nem sempre foi assim é por isso aplicativos famosos já não fazem mais diferença, como o Facebook. Mas tento evitar instalações de jogos que peçam a agenda por exemplo, isso é bizarro.

  5. Confesso que eu também não dou a devida importância a isso, mas deveria. Vou prestar mais atenção a partir de agora. Mas é como o Ghedin disse: muitas vezes o aplicativo exige permissões que não seriam necessárias para o seu funcionamento para poder obter o máximo de informações sobre você. Dessa forma é possível direcionar melhor a publicidade, atingindo assim um público alvo mais adequado e propiciando mais ganhos para o desenvolvedor. É o preço que se paga por apps gratuitos.

    Sem dúvida o sistema do iOS é o melhor nesse aspecto. Acho que o Android deverá adicionar essa funcionalidade de permissões seletivas em alguma versão futura.

  6. Ninguém dá a devida atenção a isso até a casa cair.

    Eu confesso que não dou muita bola, mas por várias vezes já deixei de instalar um app ou atualizá-lo.

    Uso o Nexus 4, certa atualização de um jogo queria ter acesso para enviar SMS. E no patch note do jogo era só uma melhoria para maior compatibilidade de resolução. Eu e poucos usuários deixamos um comentário negativo cobrando explicações.

    Autorizações modulares ainda são realmente a melhor saída. Nesse ponto prefiro o IOS.

  7. Uso hoje o Android 4.4.2
    Não é rom stock, juntamente pela liberdade/poder que uma custom rom me dá, principalmente no que tange a privacidade.
    A maioria das roms customs vem com um sistema de privacidade, como o do App Ops, ativo por padrão.
    Revogar cada acesso estranho é muito bom, coisa que uma custom rom a Miui, fazia desde o Android 2.3

    Então, enfim.
    Bom texto!

  8. Recentemente estive procurando um app para bloquear (por senha/padrão) o acesso a determinados apps. Desisti de testar a maioria por solicitarem permissões duvidosas.

    Mas confesso que não ligo para as permissões de apps confiáveis/oficiais, como do facebook, whatsapp, etc…

Do NOT follow this link or you will be banned from the site!