I am curious to know what is the difference between storing user credentials in NSUserDefaults and in iOS Keychain. As per I am using NSUserDefaults to store the username and password and access in throughout the app. I also read about keyChains, but I don't understand that which one is more better for security purpose?. Is UserDefaults is insecure for saving user credentials?.