Android 18 limita l'accesso ai contatti: cosa cambia per le applicazioni

Google cambia la gestione dei contatti Android: le app non potranno più modificare liberamente la rubrica con WRITE_CONTACTS. Arrivano nuove autorizzazioni speciali e controlli più rigorosi.

Un’app Android che ottiene il permesso di modificare la rubrica può intervenire su centinaia di contatti senza chiedere ulteriori conferme. Può aggiungere numeri, correggere indirizzi email, sostituire informazioni già presenti e, in determinate circostanze, compiere queste operazioni in background. Google ha deciso di limitare radicalmente tale possibilità: con Android 18, le applicazioni che adottano la nuova versione del sistema come riferimento non potranno più modificare direttamente i contatti attraverso il tradizionale permesso WRITE_CONTACTS.

La novità, annunciata ufficialmente da Google e successivamente evidenziata da Mishaal Rahman, Community Engagement Manager Android, rappresenta un cambiamento importante nella gestione della rubrica Android. Fin dalle prime versioni del sistema operativo, il modello dei permessi ha consentito alle applicazioni autorizzate di accedere al database dei contatti attraverso API dedicate.

Perché il permesso WRITE_CONTACTS è un rischio per la sicurezza

Attualmente, android.permission.WRITE_CONTACTS consente alle applicazioni autorizzate di creare e modificare dati mediante il componente Contacts Provider. Il sistema espone le informazioni attraverso il contratto ContactsContract e una serie di URI che permettono di operare su contatti, numeri telefonici, indirizzi email e altri attributi.

Un’app può utilizzare ContentResolver per inserire o aggiornare record; attraverso ContentProviderOperation e applyBatch() può persino eseguire gruppi di modifiche e interventi in blocco. Sono strumenti legittimi, indispensabili per software di sincronizzazione, applicazioni aziendali e gestori avanzati della rubrica.

L’autorizzazione concessa non distingue però tra una modifica richiesta esplicitamente dall’utente e una serie di interventi automatici: una volta ottenuto il permesso, l’app non deve necessariamente presentare una nuova conferma per ogni contatto modificato.

Rahman richiama l’attenzione su uno scenario particolarmente insidioso: un’app fraudolenta potrebbe sostituire il numero associato a una persona fidata, per esempio un familiare, con quello controllato da un truffatore. Quando l’utente cerca quel contatto nella rubrica, visualizza il nome familiare, ma il recapito sottostante potrebbe non appartenere più alla persona attesa.

Android 18 cambia le regole: niente più scrittura diretta per le normali app

La modifica interessa le applicazioni che impostano come target SDK la prossima versione principale di Android, attesa nel 2027. Google impedirà alle normali applicazioni di utilizzare WRITE_CONTACTS per modificare direttamente il database dei contatti.

Quando un’app con il nuovo target tenta una scrittura in rubrica senza disporre dell’apposita autorizzazione speciale, il sistema negherà l’operazione.

Google riconosce che alcuni software hanno bisogno di modificare i contatti senza interrompere continuamente le attività dell’utente. Si pensi a un’applicazione che sincronizza migliaia di nominativi con un server aziendale, a uno strumento di ripristino dei backup o a un gestore alternativo della rubrica.

Per tali casi arriva MANAGE_CONTACTS, una nuova autorizzazione speciale prevista con Android 17 QPR2, aggiornamento trimestrale programmato per l’ultimo trimestre del 2026. A differenza dei permessi tradizionali concessi mediante una finestra di dialogo, MANAGE_CONTACTS appartiene alla categoria dei permessi speciali: l’utente deve abilitarlo nelle impostazioni, attraverso il percorso Impostazioni, App, Accesso speciale alle app, Gestisci contatti.

Google Play controllerà anche le motivazioni degli sviluppatori

La nuova autorizzazione introduce un secondo livello di controllo, oltre a quello esercitato dal sistema operativo.

Nel 2027, e comunque non prima della disponibilità della nuova versione principale di Android, Google Play Console richiederà agli sviluppatori che utilizzano MANAGE_CONTACTS una dichiarazione per spiegare perché le normali interfacce di inserimento e modifica non soddisfano le funzioni principali della loro applicazione.

Un software di sincronizzazione aziendale ha infatti esigenze differenti da un’app che salva occasionalmente un numero telefonico: Google vuole distinguere i casi nei quali l’accesso esteso è indispensabile da quelli in cui deriva semplicemente da scelte implementative.

Ti consigliamo anche

Link copiato negli appunti