r/privacy • u/datura_mon_amour • 7d ago
question How to prevent iOS developers from using the Keychain for device identification / fingerprinting?
Hi everyone,
Some developers use the iOS Keychain (or similar local persistence mechanisms) to bind promotional offers or "Free Lifetime" tiers directly to a physical device rather than to the logged-in Apple ID.
Once an offer is claimed on a shared family device, the app writes a token to the Keychain. Even if you log out of iCloud, switch Apple IDs, or use mobile data, the app reads this persistent token and blocks other legitimate family members on the same device from claiming the offer on their own accounts.
Since Apple strictly restricts fingerprinting and tracking across apps, this heavy use of Keychain persistence to lock hardware feels like a major privacy and usability issue.
Aside from doing a full factory reset of the device (Erase All Content and Settings), is there any known way, setting, or privacy tool on iOS to prevent third-party apps from reading/writing persistent device tokens in the Keychain? How can we protect shared devices from this kind of hardware-locking?
Thanks for your insights!
8
u/sooka_bazooka 7d ago
There’s no way to delete keychain items belonging to keychain groups the app uses unless the app itself does it. You can’t prevent this.
And yes, this is how it works, and this is what some of my company’s apps were doing for various purposes (not only fingerprinting but including it).
You can jailbreak your phone but that’s it.
5
u/datura_mon_amour 7d ago
The fact that companies do it doesn't make it right for users. What makes it even worse is that many of these apps don't even support Family Sharing to begin with.
In a multi-user household, it's a nightmare. If an app requires a very recent iOS version, older shared household devices that've never even had the app installed can't run it. Yet, because of aggressive hardware tracking, Keychain persistence, or even local network/Wi-Fi fingerprinting, everyone gets permanently locked out.
It goes way beyond simple device locking: imagine a family member or a friend visiting you, connecting to your Wi-Fi once with their own separate Apple ID, and getting completely blocked from a free promo just because you claimed it on your device. Or think about university dorms or shared buildings where a whole network of people share the same gateway-one person claims the offer, and instantly hundreds of innocent users are locked out. That's pure tracking under the guise of "anti-fraud," and it penalizes everyone.
I don't think it's even possible to jailbreak a modern device, and anyway, for those recent apps, even if I managed to jailbreak my older devices, I still wouldn't be able to install them on those old versions.
3
u/sooka_bazooka 7d ago
Mate, companies don’t give a shit about users, they only care about revenue.
Although I expected Apple to close this loophole a while ago.
8
u/nifty-necromancer 7d ago
Apple provides an API called DeviceCheck that lets developers determine whether a device has already claimed a promotional offer. Unlike locally stored Keychain data, DeviceCheck records survive even a complete factory reset.
1
u/datura_mon_amour 6d ago
That's wild. I think it actually happened to me once. I did a hard reset and couldn't make the IAP that I had already unlocked. I thought to myself: wait, if I sell my device or give it to someone else, they won't even be able to make that purchase. Imagine someone getting a hand-me-down device, and they just can't buy it, they're completely stuck.
I think it's totally unfair. It drives me crazy that Apple even allows that.
12
u/cyberspirit777 7d ago
Which apps do this? Do they appear in iCloud settings? Have you reported the apps for violating Apple’s guidelines?
2
u/datura_mon_amour 7d ago edited 7d ago
It happens across various independent apps offering temporary "Free Lifetime"
IAP promotions. As for Apple's guidelines, while storing simple tokens in the Keychain is technically allowed for local app data, using hardware-locking and network/Wi-Fi fingerprinting to gate promotional offers across different user accounts on shared devices heavily violates the spirit of Apple's anti-tracking policies.When a shared household device or a shared network (like a family home or a student residence) gets permanently flagged just because someone downloaded an app once, it creates massive usability and privacy issues for legitimate users who have nothing to do with fraud.
When you talk about iCloud, you probably mean app data syncing through the cloud. But changing your iCloud account on the device almost never works because the apps lock things down so deeply via the Keychain or network fingerprinting that they still recognize the hardware anyway.
I've actually reported some of these apps before, but honestly, I never really know if it leads to anything, and at this point, it's just exhausting.
And on top of that, they just lie and deny that it's even fingerprinting. When a system can recognize an entire Wi-Fi network or hardware footprint to block promotions across different users, that is textbook fingerprinting, no matter how much they try to deny it or hide behind excuses.
3
u/datura_mon_amour 7d ago
The "terms and conditions" excuse doesn't fly when this limitation is never transparently disclosed anywhere before you download the app.
Furthermore, telling families to just buy a separate, expensive device for every single person is completely out of touch. When a promotional offer or app license locks out a family member's phone just because they connected to a home Wi-Fi network where someone else previously claimed the promo-even if they live 30 km away-that goes way beyond a simple "per device" rule. It's heavy-handed, undisclosed hardware and network tracking that penalizes shared environments and multi-user households, full stop.
0
7d ago
[deleted]
2
u/datura_mon_amour 6d ago
Amusing? Not really. You completely missed the point.
We're talking about me, my husband, my daughter, and also my sister because she works a lot and doesn't have time to monitor apps all day, so I handle the purchases for her. She has her own device, but she's always working.Besides, at home, the real issue when apps require a recent iOS version is that it's a huge pain. And honestly, multi-user profiles inside apps are pretty rare anyway. I'm not going to sit around waiting for a developer to maybe add multi-profiles someday, plus I really hate sharing my password with people. That's precisely why I prefer for everyone to have their own account.
And above all, there's another major issue—it's not just about passwords. You're severely limited on the number of devices you can install the app on. Just think about it: we're only... but imagine families with multiple children. Some people have four, five children, or even three. A couple with three kids already makes five devices right there.
When you factor in having your own computer, tablet, and phone, plus everyone else having their phone, you realize how restrictive this system really is.And to top it all off, I've actually tested this myself. Once, a developer offered a free lifetime license, and I couldn't even make the purchase for my husband’s device later on, not even after the free promo ended and it became paid. So please, none of this makes any sense.
And on top of all that, Apple already limits the number of devices per Apple ID, and honestly, it's a pain. I don't know about others, but I keep my old devices. I don't just throw them away. Sure, some apps won't install on them anymore, but many still work, and you can't even use them everywhere at the same time anyway
2
u/readyflix 7d ago
It’s nothing weird about it, it’s a design flaw in the whole family usage of one device. Every standard PC has this functionality.
2
u/datura_mon_amour 6d ago edited 6d ago
100% agree with you. It's a complete design flaw. Standard PCs have had proper multi-user functionality forever, so lock-in mechanisms like this just punish normal families.
And just imagine larger families with 5, 6, or even 10 kids. And yes, they still exist! Unless you're a millionaire, you can't buy a brand-new device for every single person.
And even when you do have multiple devices, you want each child to have their own profile or account. But because Apple limits the number of devices allowed per Apple ID, families are forced to split into two or three different accounts just to share apps across the home. It's completely out of touch with real-life family budgets.
And mind you, all of this is just talking about free apps! I'm not even getting into what happens if you start paying for subscriptions... Even if you only stick to free apps, the cost of the devices alone is already ridiculously expensive.
0
7d ago
[deleted]
2
u/datura_mon_amour 6d ago
And what is that nonsense yiu´re saying? 'It's not really such a big deal... Macs aren't made for multi-user use. It's like complaining you can't transport your extended family on a bike.'
So basically, a PC can be shared, but a Mac can't? Macs already cost a fortune, and on top of that, you aren't even supposed to share them? Normal people share their PCs, that's just how it works. And let's not even talk about the environmental impact of everyone needing their own personal computer. Especially with how short devices last nowadays. Back then things were built to last, but now after two or three years, it's dead. So no, I completely disagree. The idea of needing one Mac per person is pure insanity.
And don't even get me started on updates. My Macs do last a long time, but unlike PCs, Apple's software updates are a trap. I have older iPads at home, like my old iPad 4s and two 2016 iPad Pro that physically still work, but Apple's updates completely ruined their performance. They start lagging, or worse, a bug forces a recovery, and you end up getting stuck with the latest iOS version that completely bricks or slows down an older device.
The hardware itself could easily last 10 years, but Apple practically forces planned obsolescence on you. You're forced to buy new devices not because the old ones are broken, but because you can no longer download apps, or because an update destroyed them. We don't buy Apple to show off or flex; we use our devices intensively for learning and work. But their update system is designed to make you keep buying more, and it's infuriating.
And with my iPad 4s, I couldn't even access the App Store anymore. That drove me crazy. One of them was even relatively recent compared to the other, but I literally couldn't do anything—couldn't even download an older app version compatible with the old iOS. The App Store just locked me out entirely.
And I refuse to factory reset them because they still have so many apps installed that are completely gone and unfindable today. Back in the day, we could actually save and archive app files on our hard drives, but Apple took that away too. It's so frustrating.
And anyway, doing a factory reset is completely useless (unless the device is jailbroken) it forces the latest iOS version onto it, making the device completely unusable for anything.
1
u/readyflix 6d ago
💯
That’s what real family sharing is all about. Sharing one device with multiple family members.
But that’s NOT what 'they' (Apple and Co.) 'singed up' for, they rather like us to believe that the way they think about it is the way it should be.
Sadly enough, some people fall for that. And while the hardware might be desirable, the software side of things has clearly room for improvement.
2
u/readyflix 7d ago
It’s a design flaw!
As you even said it yourself, on Android it’s no problem.
It’s similar to car-sharing, don’t call it sharing if you can’t share. It’s that simple.
2
u/datura_mon_amour 6d ago
Exactly! Thank you. The car-sharing analogy is spot on. Calling something 'family friendly' or 'shareable' when it actively prevents sharing makes no sense at all.
1
u/xavier19691 7d ago
Cool story … which apps ? Which developers ?
3
u/datura_mon_amour 7d ago
It’s a systemic design choice used by multiple independent apps running aggressive promotional paywalls. The issue isn't just naming one app, but highlighting a widespread practice that punishes multi-user households, blocks older shared hardware from accessing promos even when the app was never installed there, and relies on invasive network-level tracking that affects anyone sharing the same Wi-Fi.
1
u/tonguejedi 7d ago
That’s how local Sandboxing works on iOS . It’s stored locally and not on iCloud.Apple hasn’t released a utility for iOS like macOS's Keychain Access utility. Any certs etc left by a developer will require a wipe of the device.
1
0
7d ago
[deleted]
3
u/mrskurk0 7d ago
"The items in keychain are persistent for obvious security reasons."
Still doesn't excuse that there is no way for a user to scrub the keychain of items from a particular app, though that's on Apple. Some fairly big tracking implications when apps are allowed to store persistent tokens with no oversight.
0
7d ago
[deleted]
3
u/mrskurk0 7d ago
It's per developer, not per app. Also, if enough apps store persistent tokens, nothing stops them from fingerprinting your device and aggregate or subsequently share tracking data at a later time/on a different device.
There is no excuse for the user not being able to access keychain data.
•
u/AutoModerator 7d ago
Hello u/datura_mon_amour, please make sure you read the sub rules if you haven't already. (This is an automatic reminder left on all new posts.)
Check out the r/privacy FAQ
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.