4 ms·
I asked the questions because I'd like to know the answer. I'm not arguing passive aggressively. I looked at the source repo, and at a glance, it looks like th
by danjoc 9y ago
I asked the questions because I'd like to know the answer. I'm not arguing passive aggressively.
I looked at the source repo, and at a glance, it looks like the app stores the key pair on the iOS keychain. My guess is that means the key can be removed from the device if the user chooses to do so, or if the user give access to the keychain to another application. Perhaps I'm wrong about that. I keep hearing "The key never leaves the device" repeated, and I'd mainly like to know how that guarantee is made.
- pfg 9y agoThe app uses kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly[1]. Quoting the relevant iOS documentation[2]: > After the first unlock, the data remains accessible until the next restart. This is recommended for items that need to be accessed by background applications. Items with this attribute do not migrate to a new device. Thus, after restoring from a backup of a different device, these items will not be present. [1]: https://github.com/kryptco/kryptonite-ios/blob/42c71d6381def40e1322f3b951a395f2c6e65178/Kryptonite/KeyPair.swift#L35 https://github.com/kryptco/kryptonite-ios/blob/42c71d6381def... [2]: https://developer.apple.com/reference/security/ksecattraccessibleafterfirstunlockthisdeviceonly https://developer.apple.com/reference/security/ksecattracces...