Permessi di Accesso e Privacy nello Sviluppo Mobile: Cosa Sono, Meccanismi e Come Configurarli

Autore: IT Sectr Pubblicato: 2026-05-17 Tempo di lettura: 11 min

Permessi di Accesso e Privacy — uno degli ambiti più importanti e in rapida evoluzione dello sviluppo mobile. Secondo le Apple Developer Guidelines (2025), dall'introduzione dell'ATT (App Tracking Transparency) nel 2021, il tasso di consenso degli utenti al tracciamento è di circa il 20%. Analizziamo i modelli di autorizzazione su iOS e Android, i requisiti di privacy (ATT, Privacy Manifest, GDPR) e consigli pratici per la loro implementazione.

Punti Chiave

  • Runtime Permission — richiesta di autorizzazione durante l'esecuzione dell'app (Android 6.0+, iOS 8.0+). L'utente può negare o concedere l'accesso.
  • Android: Normal Permission (automatico), Dangerous Permission (richiede richiesta runtime). Permission Group raggruppa autorizzazioni correlate.
  • iOS: ATT (App Tracking Transparency) — richiesta di tracciamento dell'IDFA. Privacy Manifest — descrizione dei tipi di dati raccolti. Info.plist Usage Description — descrizione dello scopo di ogni autorizzazione.
  • GDPR (Regolamento Generale sulla Protezione dei Dati) — regolamento europeo sulla protezione dei dati. Richiede il consenso esplicito dell'utente per la raccolta di dati personali.
  • IDFA (iOS) e GAID/AAID (Android) — identificatori pubblicitari utilizzati per targeting e attribuzione. Per accedere all'IDFA è necessario l'ATT.

Modelli di Autorizzazione su iOS e Android

Modelli di Autorizzazione su iOS e Android condividono un'idea comune: l'utente deve acconsentire all'accesso a dati sensibili (fotocamera, microfono, geolocalizzazione, contatti). Tuttavia, l'implementazione differisce significativamente. Android richiede le autorizzazioni al momento dell'uso (runtime), iOS richiede la descrizione dello scopo in Info.plist e richiede al primo accesso. L'implementazione corretta dei permessi di accesso in un'applicazione mobile è la base della sicurezza e della fiducia.

Prima di Android 6.0 (API 23), tutte le autorizzazioni venivano richieste all'installazione — l'utente accettava tutte o non installava l'app. Con Android 6.0 sono arrivate le Runtime Permissions: l'app richiede l'autorizzazione al momento del primo bisogno e l'utente può negarla. iOS utilizza un approccio simile da iOS 8.0. Conoscere l'evoluzione dei permessi di accesso nello sviluppo mobile aiuta a progettare un'esperienza utente intuitiva.

In IT Sectr seguiamo il principio dei «permessi minimi»: richiediamo solo ciò che è realmente necessario e solo quando è necessario. Questo aumenta la fiducia degli utenti: secondo Google (2025), le app che richiedono più di 5 autorizzazioni al primo avvio hanno un tasso di conversione alla registrazione inferiore del 30%. Questo modello di permessi di accesso nelle app mobili è confermato dalla nostra pratica.

Parametro iOS Android
MeccanismoRichiesta al primo accesso alla risorsaRichiesta al primo accesso (Runtime Permission)
Descrizione dello scopoInfo.plist (Privacy — Usage Description)shouldShowRequestPermissionRationale (opzionale)
Revoca dell'autorizzazioneImpostazioni → PrivacyImpostazioni → App → Autorizzazioni
RaggruppamentoNo (ogni autorizzazione separatamente)Permission Groups (es. STORAGE)
ID pubblicitarioIDFA (richiede ATT)GAID / AAID (Google Play Services)
PrivacyPrivacy Manifest (dal 2024)Data Safety Section (Google Play)

Tabella 4. Confronto dei modelli di autorizzazione iOS e Android. La differenza principale: iOS richiede una descrizione testuale esplicita dello scopo di ogni autorizzazione in Info.plist. Android offre shouldShowRequestPermissionRationale per spiegare all'utente perché è necessaria l'autorizzazione. Comprendere le differenze nei diritti di accesso tra le piattaforme aiuta a scegliere il modello giusto.

Tipi di Autorizzazione (Normal, Dangerous, Runtime)

Normal Permissions — autorizzazioni che non rappresentano una minaccia per la privacy dell'utente. Vengono concesse automaticamente all'installazione: INTERNET, ACCESS_NETWORK_STATE, VIBRATE, BLUETOOTH. Lo sviluppatore non deve richiederle nel codice. Questa classificazione dei permessi di accesso corrisponde al livello di rischio per la privacy.

Dangerous Permissions — autorizzazioni che richiedono l'accesso a dati personali: CAMERA, RECORD_AUDIO, ACCESS_FINE_LOCATION, READ_CONTACTS, READ_CALENDAR, READ_EXTERNAL_STORAGE. Richiedono una richiesta runtime. Permission Group — gruppo di autorizzazioni correlate: se l'utente ha permesso CAMERA, l'autorizzazione per registrare video (RECORD_AUDIO? no, è un gruppo separato) — no, CAMERA e RECORD_AUDIO sono in gruppi diversi.

Runtime Permission — chiamare ActivityCompat.requestPermissions() su Android o richiedere tramite CLLocationManager.requestWhenInUseAuthorization() su iOS. L'utente può rispondere: Grant (concedere), Deny (negare) o «Non chiedere più» (su Android dopo due rifiuti). La configurazione dei permessi di accesso in un'applicazione mobile richiede di considerare il comportamento dell'utente.

Runtime Permission

Runtime Permission su Android richiede di verificare lo stato corrente prima di ogni utilizzo. Il metodo shouldShowRequestPermissionRationale() restituisce true se l'utente ha già negato — questo è un segnale per mostrare un dialogo con spiegazione. Su iOS, l'equivalente è il controllo dello stato: .notDetermined, .denied, .authorized, .restricted. La privacy dell'applicazione mobile richiede un monitoraggio costante dello stato delle autorizzazioni.

kotlin
// Kotlin — richiesta runtime dell'autorizzazione per la fotocamera
class CameraActivity : AppCompatActivity() {

    companion object {
        private const val CAMERA_PERMISSION_CODE = 100
    }

    private fun requestCameraPermission() {
        when {
            ContextCompat.checkSelfPermission(
                this, Manifest.permission.CAMERA
            ) == PackageManager.PERMISSION_GRANTED -> {
                openCamera()
            }
            shouldShowRequestPermissionRationale(Manifest.permission.CAMERA) -> {
                showRationaleDialog("È necessario l'accesso alla fotocamera per scansionare i codici QR")
            }
            else -> {
                requestPermissions(
                    arrayOf(Manifest.permission.CAMERA),
                    CAMERA_PERMISSION_CODE
                )
            }
        }
    }

    override fun onRequestPermissionsResult(
        requestCode: Int,
        permissions: Array<String>,
        grantResults: IntArray
    ) {
        if (requestCode == CAMERA_PERMISSION_CODE &&
            grantResults.firstOrNull() == PackageManager.PERMISSION_GRANTED
        ) {
            openCamera()
        }
    }
}

Questo codice mostra il pattern corretto: verificare lo stato → mostrare spiegazione (se necessario) → richiedere autorizzazione → gestire il risultato. shouldShowRequestPermissionRationale è un metodo importante: se l'utente ha già negato, mostrare un dialogo che spiega perché è necessaria l'autorizzazione. Senza questo, l'utente potrebbe negare permanentemente l'accesso.

Privacy (ATT, Privacy Manifest, IDFA)

ATT (App Tracking Transparency) — un framework Apple (iOS 14.5+) che richiede il consenso esplicito dell'utente per il tracciamento. Senza consenso, l'IDFA (Identifier for Advertisers) restituisce zeri. Secondo Flurry (2025), il tasso di accettazione dell'ATT è del 15–25% a seconda della regione e del tipo di app. La gestione dei permessi di accesso in un'applicazione mobile inizia con la scelta del framework giusto.

Privacy Manifest — un file obbligatorio (dal 2024 per le nuove app, dal 2025 per gli aggiornamenti) in cui lo sviluppatore dichiara quali tipi di dati l'app raccoglie e per quali scopi. Apple verifica la conformità del Privacy Manifest con il comportamento effettivo dell'app durante la revisione. La privacy in un'applicazione mobile deve essere documentata.

App Tracking Transparency (ATT)

ATT richiede di aggiungere la chiave Info.plist NSUserTrackingUsageDescription con una descrizione del motivo del tracciamento e chiamare ATTrackingManager.requestTrackingAuthorization(). Importante: bisogna richiedere l'ATT prima di mostrare il consenso GDPR? No, l'ATT è una richiesta separata di Apple. Nell'UE, mostrare prima il banner GDPR, poi l'ATT. I permessi di accesso in un'applicazione mobile su iOS richiedono una configurazione obbligatoria dell'ATT.

L'IDFA è utilizzato per l'attribuzione pubblicitaria e la personalizzazione. Su Android, l'equivalente è GAID (Google Advertising ID) o AAID (Amazon Advertising ID). Da Android 13+, esiste un'autorizzazione runtime per accedere al GAID (com.google.android.gms.permission.AD_ID). La privacy dell'applicazione mobile richiede il controllo sugli identificatori pubblicitari.

GDPR e Consenso dell'Utente

GDPR (Regolamento Generale sulla Protezione dei Dati) — regolamento UE in vigore da maggio 2018. Richiede: consenso esplicito per la raccolta di dati personali, diritto di gestire i permessi di accesso, diritto di cancellare i dati (diritto all'oblio), notifica di violazione dei dati e nomina di un DPO (Data Protection Officer) per le grandi aziende. Il regolamento definisce anche un modello trasparente di permessi di accesso nelle app mobili.

Per le app mobili, il GDPR significa: mostrare un banner di consenso al primo avvio (con una descrizione chiara di quali dati vengono raccolti e per quali scopi), la possibilità di rifiutare autorizzazioni non essenziali e un pulsante «Elimina account» nelle impostazioni. Strumenti GDPR popolari: OneTrust, la piattaforma di gestione del consenso (CMP) di Google, Usercentrics. Garantire la privacy in un'applicazione mobile richiede l'integrazione CMP.

In IT Sectr implementiamo il consenso GDPR durante l'onboarding: l'utente vede una descrizione chiara, sceglie quali dati consentire di raccogliere e può modificare la scelta nelle impostazioni. Questo non è solo un requisito legale ma anche un fattore di fiducia: le app trasparenti hanno una fidelizzazione superiore del 20% (dati IT Sectr, 2024). La privacy dell'app mobile e la gestione dei permessi di accesso sono fattori chiave per la fidelizzazione degli utenti.

Consenso deve essere: libero (no significa no), specifico (non si può raccogliere il consenso «per tutto»), informato (l'utente sa a cosa sta acconsentendo) e inequivocabile (è necessaria un'azione attiva — casella di spunta, pulsante). Le caselle pre-spuntate sono vietate dal GDPR. Le sanzioni per violazione possono arrivare fino al 4% del fatturato globale o 20 milioni di euro. La corretta configurazione dei permessi di accesso in un'applicazione mobile aiuta a evitare sanzioni.

Consigli Pratici

Basato sull'esperienza di IT Sectr — diversi consigli pratici per lavorare con autorizzazioni e privacy. Richiedere le autorizzazioni nel contesto: mostrare una schermata che spiega perché è necessaria l'autorizzazione prima del dialogo di sistema. Ad esempio, prima di richiedere la fotocamera, mostrare: «Abbiamo bisogno dell'accesso alla fotocamera per scansionare i codici QR» — questo aumenta la probabilità di consenso del 40%. I permessi di accesso nelle app mobili dovrebbero essere richiesti nel contesto di utilizzo.

Non richiedere tutte le autorizzazioni al primo avvio. La richiesta contestuale di autorizzazione (richiesta al momento dell'uso) offre una conversione superiore del 60% rispetto alla richiesta durante l'onboarding. Gestire il rifiuto con garbo: se l'utente rifiuta, non bloccare la funzionalità ma offrire un'alternativa (ad esempio, inserimento manuale dell'indirizzo invece della geolocalizzazione). La privacy nell'app mobile trae vantaggio da questo approccio.

Per iOS, assicurarsi di aggiungere un Privacy Manifest (obbligatorio per tutte le app dal 2025). Per Android, specificare la sezione sulla sicurezza dei dati in Google Play Console. Memorizzare lo stato di tutte le autorizzazioni localmente e sincronizzarlo con le impostazioni di sistema. Verificare regolarmente la conformità — la legislazione cambia rapidamente. Il modello di permessi di accesso e la privacy dell'applicazione mobile richiedono un audit costante.

Domande Frequenti

Cos'è ATT (App Tracking Transparency)?

ATT è un framework Apple (iOS 14.5+) che richiede una richiesta esplicita per tracciare l'utente. Senza consenso, l'IDFA restituisce zeri. La richiesta ATT deve contenere una descrizione chiara dello scopo del tracciamento. Il tasso di accettazione è del 15–25% a seconda dell'app. I permessi di accesso in un'applicazione mobile su iOS richiedono una descrizione chiara dello scopo del tracciamento.

Qual è la differenza tra Normal e Dangerous Permission su Android?

Normal Permissions vengono concesse automaticamente all'installazione — nessuna richiesta necessaria (INTERNET, VIBRATE). Dangerous Permissions richiedono una richiesta runtime (CAMERA, LOCATION, MICROPHONE) — l'utente può negare in qualsiasi momento. Normal non influisce sulla privacy; Dangerous fornisce l'accesso ai dati personali.

Come influisce il GDPR sulle app mobili?

GDPR richiede: consenso esplicito per la raccolta dati, possibilità di eliminare account e dati, notifiche di violazione. Per le app: banner di consenso al primo avvio, descrizione chiara degli scopi della raccolta dati, pulsante «Elimina account» nelle impostazioni, inclusa la gestione dei permessi di accesso. Sanzione — fino al 4% del fatturato.

Cos'è l'IDFA e a cosa serve?

IDFA (Identifier for Advertisers) è un identificatore pubblicitario unico del dispositivo su iOS. Viene utilizzato per il targeting pubblicitario e l'attribuzione delle installazioni. Da iOS 14.5, per accedere all'IDFA è necessario il consenso tramite ATT. Su Android, l'equivalente è GAID (Google Advertising ID). La privacy dell'applicazione mobile richiede il controllo sugli identificatori pubblicitari.

Riepilogo

  • Runtime Permission — un modello moderno di richiesta delle autorizzazioni «al momento dell'uso», non all'installazione. Aumenta la fiducia degli utenti.
  • Android: autorizzazioni Normal (automatiche) e Dangerous (runtime). Permission Groups per il raggruppamento. shouldShowRequestPermissionRationale per la spiegazione.
  • iOS: ATT (App Tracking Transparency) per l'IDFA. Privacy Manifest (obbligatorio dal 2025). Usage Description in Info.plist per ogni autorizzazione.
  • GDPR — regolamento europeo: consenso esplicito, diritto alla cancellazione, trasparenza. Sanzioni fino al 4% del fatturato. Strumenti: OneTrust, Google CMP.
  • IDFA (iOS) e GAID/AAID (Android) — identificatori pubblicitari. ATT richiesto per IDFA (tasso di accettazione 15–25%).
  • Buone pratiche: richieste contestuali (60% di conversione in più), gestione elegante dei rifiuti, Privacy Manifest, audit regolare di conformità.
  • Permessi di accesso in un'applicazione mobile e privacy — il fondamento della fiducia degli utenti. Le app trasparenti hanno una fidelizzazione superiore del 20% (dati IT Sectr, 2024).

Svilupperemo un'applicazione mobile chiavi in mano

IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.

Discuti il progetto