Ci sono più parti per questa risposta. Innanzitutto, tutto ciò che è memorizzato nel file system di un dispositivo iOS è crittografato, a condizione che il dispositivo utilizzi un passcode. Quindi per quanto riguarda i dati effettivamente sul dispositivo iOS, a condizione che tu non stia cercando di nascondere i dati all'utente che conosce il passcode, puoi avere una certa sicurezza che i dati di base siano sicuri.
Tuttavia, per essere chiari, Core Data non è in realtà un modo per archiviare i dati. È un'interfaccia comune a un archivio oggetti, che di solito è supportato da sqlite nel file system del dispositivo.
Come sottolineato da André, questo file sqlite può essere sottoposto a backup, lasciandolo esposto a occhi indiscreti.
La raccomandazione di Apple (che sono d'accordo) è che le password dovrebbero essere sempre memorizzate nel portachiavi, che è facile da fare, e ti permette di controllare quando la voce è accessibile (ad es. mentre il dispositivo è bloccato, dopo sblocco, ecc.).
Le altre app non potranno mai accedere ai dati della tua app in iOS, indipendentemente da dove la scrivi (a meno che non sia jailbroken).
Ecco un tutorial di Ray Wenderlich che ti guida attraverso questo processo con swift: link