Take the 2-minute tour ×

I am developing an app that, while it doesn't have "credentials" per se, it does assign some identifying information to each user for use with a remote service. This info should be as invisible as possible for security. Not even the user should be able to access this info.

I haven't found a definitive response to where to save this info for the user in the app.

1) Given the sensitivity of the data, keychain would seem like the proper place, but this data is not exactly usernames and passwords. Does that make a difference?

2)From what I can tell NSUserDefaults, as long as you don't expose it through a settings view, seems private as well but I assume not as secure as Keychain itself.


Thanks in advance for any help!

share|improve this question
everyone can read the plist that NSUserDefaults saved to without jailbreak the device. –  Bryan Chen Jun 17 '13 at 23:03
Read this: blog.hawkimedia.com/2012/04/… –  lakesh Jun 17 '13 at 23:04
add comment

Your Answer



Browse other questions tagged or ask your own question.