Non è possibile nascondere realisticamente i dati memorizzati sul dispositivo dal proprietario del dispositivo. Sia l'analisi del jailbreaking che quella offline di un dispositivo possono rivelarlo, oltre a semplici errori nella tua app.
Quindi stai meglio usando un protocollo di sicurezza stabilito, come oauth2. Insieme al principio di scaricare o archiviare solo i dati di cui l'utente è proprietario e accettando che lo manipolino, si ha una ragionevole sicurezza. Se i dati devono essere tenuti segreti dall'utente, devono essere memorizzati sul server.
TLS reciproco con la chiave privata dell'app generata durante l'installazione, può anche darti una ragionevole aspettativa che il dispositivo che si collega al tuo server sia sempre lo stesso. In pratica, un strong collegamento del dispositivo. Nessuna altra app sarà in grado di presentare lo stesso certificato di dispositivo. Ma aspettati che il proprietario sia in grado di leggere la sua chiave privata.