So it has not been news that some IOS developers use keychain items to track the uniqueness of devices through App reinstallation. Amazon is a huge one among them. What made my life particularly hard is that recently I migrated my old iPhone to a new one, but later decided to not erase the old one but to use both at the same time. And now all Amazon apps start to recognize both iPhones as the same device. So when I login my account on one device, the account on the other device would be logged out. And I can see only one entry on the amazon online portal for both devices. So the 'send to device' function of the kindle app won't work appropriately. There are also many other inconveniences due applications using keychain items for identification purposes, which I can't finish listing here, and for obvious reasons, none of the merchants could help us out in those situations on their end.

My plan is to somehow edit the local keychain items on the iPhone to stop (poorly designed) apps from mistreating different devices as the same one after system migration. Resetting or erasing the entire phone shouldn't be an option here.

How can I get both devices to work independently again?

  • I think you have misunderstood something - why do you think that Amazon is relying on "undocumented behavior"? - The Keychain is quite extensively documented.
    – jksoegaard
    Commented Sep 30, 2022 at 21:47
  • @jksoegaard I really don't see how "using keychain for uuid purposes" can be considered as "documented behavior". Remember the back and forth around IOS 10.3.
    – hzh
    Commented Oct 1, 2022 at 20:57
  • No one said that this must be an “uuid” specifically. However having identifying information there is more or less the whole purpose of the Keychain. Of course that’s documented behavior.
    – jksoegaard
    Commented Oct 1, 2022 at 21:42

2 Answers 2


As you rule out resetting and/or erasting the entire phone, then no - there's no way on the phone you can edit the local Keychain items for such "poorly designed" apps that do not themselves provide that feature.


Per apples documentation, the identifier should get changed when you uninstall all of the apps from that vendor.

  • The identifierForVendor should, for god's sake, be the preferred or better off only way that a vendor uses to identify the user. However what happens here is that many App developers are storing some sort of unique strings in the local keychain that only they can decipher to identify users. The problem still exists today, unless Apple one day decides to delete all entries inserted by an App from the keychain when the App is uninstalled. That's what was once introduced but later reverted around IOS 10.3.
    – hzh
    Commented Mar 12 at 21:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .