Android M - 2

La privacy in Android M: il nuovo sistema di permessi (video)

Lorenzo Quiroli Sono sorte alcune discussioni riguardo alla privacy in Android M: facciamo chiarezza sul nuovo sistema di permessi.

Una delle novità più importanti, anzi forse la più importante introdotta in Android M è il nuovo sistema per la gestione dei permessi, che potremo concedere o revocare a nostro piacimento. In realtà non è tutto così semplice e cercheremo di approfondire i cambiamenti applicati e soprattutto come si ripercuoteranno sugli utenti e sugli sviluppatori.

8 permessi per dominarli tutti (o quasi)

permissione whatsapp

Quello che vedete qui sopra è WhatsApp che vi chiede il permesso di accedere al vostro microfono: è questo il modo in cui Android vi chiederà di concedergli un permesso d’ora in poi. I permessi principali infatti sono stati raggruppati in:

  • Fotocamera
  • Calendario
  • Microfono
  • Contatti
  • SMS
  • Telefono
  • Posizione
  • Sensori

Non c’è alcuna distinzione tra permesso necessario o secondario. L’utente potrà negare anche un permesso fondamentale per il funzionamento e in nessun caso uno sviluppatore potrà forzare la mano per obbligarvi ad accettare. Anche perché dopo il primo rifiuto il pop-up sarà diverso e includerà un’opzione “Non mostrare più”: in quel modo potrete rifiutare un permesso ad un’app per sempre. Potrete modificare poi nelle impostazioni i permessi concessi o negati.

Il consiglio agli sviluppatori è di richiedere solo i permessi richiesti per il corretto funzionamento dell’app all’inizio. Ad esempio WhatsApp potrà richiedere subito gli SMS (per l’autenticazione) e i contatti; potrà invece chiedere il microfono quando proverete ad inviare una nota vocale (solo la prima volta) e così via per fotocamera e posizione.

Una buona pratica è includere una schermata iniziale che spieghi cosa fa la vostra app in modo che l’utente capisca il motivo per il quale chiedete certi permessi.

Gli altri permessi

Questi otto hanno lo scopo di proteggere i nostri dati sensibili ma non raggruppano tutti quelli presenti prima. Come fa un’app ad avere il permesso di accedere ad internet? O ai vostri account? O a farvi suonare la sveglia? Semplice, lo dichiara nel manifest e il sistema autorizza automaticamente la richiesta per tutti i permessi con PROTECTION_NORMAL.

When the user installs or updates the app, the system grants the app all permissions that the app requests that fall under PROTECTION_NORMAL. For example, alarm clock and internet permissions fall under PROTECTION_NORMAL, so they are automatically granted at install time.

The system may also grant the app signature and system permissions, as described in System apps and signature permissions. The user is not prompted to grant any permissions at install time.

Questo significa che tutti gli altri permessi saranno disponibili liberamente per le app. Potranno venire aggiunti in un aggiornamento, rimossi, e voi non ve ne accorgereste a meno di controllare ogni volta il manifest. Il nuovo sistema permette inoltre l’aggiornamento automatico tramite Play Store senza app che si “blocchino” perché richiedono che l’utente accetti un nuovo permesso.

Le conseguenze

Qualsiasi banale app per la torcia potrà accedere ad internet in Android M (a patto di dichiararlo nel manifest come anche in Android L, ma dubitiamo che molti utenti lo controllino manualmente). Se avete provato la developer preview di Android M avrete notato che il Play Store vi chiede di accettare dei permessi in fase di installazione: questo accade perché le applicazioni in questione non hanno ancora impostato il target SDK su M.

Su questo punto rimane un interrogativo: Google mostrerà gli altri permessi richiesti nella pagina di un’app sul Play Store? Avremo modo di verificarli nell’inserzione? Questa potrebbe essere una possibile soluzione, ma non definitiva perché in un successivo aggiornamento automatico l’app potrebbe aggiungerne di nuovi.

La vera differenza è sottile ed è proprio questa: la dichiarazione non cambia, ma il Play Store smetterà di mostrarla in fase di installazione, “liberalizzando” certi permessi a favore di altri, i famosi otto, il cui controllo sarà molto più stretto.

L’approccio di Google è chiaro: proteggere i dati dell’utente con dei permessi che l’utente sarà libero di negare, lasciando però alle app l’opportunità di connettersi al web e di svolgere altre operazioni.

A seguire trovate la registrazione della sessione del Google I/O in cui un ingegnere approfondisce come funzionano i nuovi permessi in Android M.

Roberto Orgiu ha contribuito alla stesura di questo articolo