[quote='884334022, iceboy, /thread/822626?answerId=884334022#884334022, /profile/iceboy'] I am using the iOS platform. [/quote] Cool. iOS only has one keychain implementation, equivalent to the data protection keychain on macOS, and that simplifies your life. [quote='884334022, iceboy, /thread/822626?answerId=884334022#884334022, /profile/iceboy'] I did not set kSecAttrAccount and kSecAttrAccessible when saving data on older iOS versions. [/quote] kSecAttrAccessible is unlikely to be the problem: Your current code leaves out that attribute from the query and return dictionary you pass to SecItemCopyMatching. In that context a missing attribute is treated as wildcard, so it’ll make any item regardless of what it’s kSecAttrAccessible value is. If the value is not present in the add dictionary you pass to SecItemAdd, the system will default to using no value for kSecAttrAccessible and, assuming there’s no kSecAttrAccessGroup attribute, it’ll place the item in your app’s default keychain access group. Sharing acc