3 ms·
> If a user of the app deletes, it completely nukes their entire account, down to the last byte. Edit: This comment is in response to the suggestion that all a
by mikeiz404 5y ago
> If a user of the app deletes, it completely nukes their entire account, down to the last byte.
Edit: This comment is in response to the suggestion that all apple apps delete all local data which after rereading the parent they were only suggesting for their app.
Are you sure about that?
I'm not an iOS developer but as a user I noticed a few years ago that deleting google apps, even all google apps, off my phone and from icloud still resulted in a freshly installed google app suggesting I log in using the account I was last using.
My best guess after doing some searching is re-identification was done using a "Keychain Access Group"[1] which does not automatically get deleted on app uninstall. Though it is stated [2][3] that this is an implementation detail and not a guaranteed behavior. If I recall correctly the only way to reset the Keychain Access Group if the app doesn't do it is to wipe the phone.
It is also possible to persist data if an app is part of an "Application Group" and one of the apps in that group is still installed on your device then data shared via that approach will not be automatically deleted unless all apps in that group are uninstalled (from what I have read).
Apple does have the "DeviceCheck"[4] framework which significantly limits the amount of bits which can persist across app reinstalls which prevents / severely limits an app's ability to reidentify users but still enable some useful use cases. However until "Keychain Access Group" persistence is removed there is not a lot motivating a developer to use this framework.
1: https://developer.apple.com/documentation/security/keychain_services/keychain_items/sharing_access_to_keychain_items_among_a_collection_of_apps https://developer.apple.com/documentation/security/keychain_...
2: https://developer.apple.com/forums/thread/36442?page=2 https://developer.apple.com/forums/thread/36442?page=2 and for some prior history see https://developer.apple.com/forums/thread/72271?page=2 https://developer.apple.com/forums/thread/72271?page=2
3: https://stackoverflow.com/questions/60485419/ios-keychain-data-will-persist-after-app-deleted-and-reinstall https://stackoverflow.com/questions/60485419/ios-keychain-da...
4: https://developer.apple.com/documentation/devicecheck https://developer.apple.com/documentation/devicecheck
- ChrisMarshallNY 5y agoI don’t have control over MItM attacks, but Apple enforces TLS (and insists on it being robust). I wrote every line of code in the server that manages users’ PID (which is held under conditions that would drive most HNers into fits). I use a modified variant of my BAOBAB server[0]. It’s pretty tightly bolted down. The security of the system is enforced on the server[1]. I also wrote every line of the native Swift frontend app. I use the keychain for some stuff, and persistent prefs[2] for other stuff. The keychain can live between installs, so I have to explicitly delete that, as well as the persistent prefs. Since it only holds login info for a deleted account, it’s not an enormous risk (unless the user is one of those folks that reuses passwords). So, yeah. I’m sure. [0] https://riftvalleysoftware.com/work/open-source-projects/#baobab https://riftvalleysoftware.com/work/open-source-projects/#ba... [1] https://riftvalleysoftware.com/BAOBAB/PDFs/Security.pdf https://riftvalleysoftware.com/BAOBAB/PDFs/Security.pdf (downloads a PDF). [2] https://riftvalleysoftware.com/work/open-source-projects/#RVS_PersistentPrefs https://riftvalleysoftware.com/work/open-source-projects/#RV...
- mikeiz404 5y agoAh I misinterpreted that you were talking just about your app, my apologies. I didn't mean to call you out on that. I'll update my comment to reflect that.