Contact us

BOOK A PRESENTATION

One Persistent ID, Three Problems Solved: Fraud, Licensing, and Reinstall Abuse

NO NAME
Fraud detection, license enforcement, and reinstall abuse get discussed as three separate problems, usually by three different teams. They're not separate. Underneath all three sits the same unresolved question: is this the same device we saw before, or a new one?

Get that answer reliably, and a surprising amount of downstream work gets simpler. App Protector's new Get Device Identifier method exists to answer exactly that question. This article talks about a persistent, unique device identifier that survives app reinstalls, on both iOS and Android.

Why the obvious identifiers don't work

Most teams already have some form of device signal, they just don't have one that holds up. A few reasons why:

  • Advertising identifiers (IDFA, GAID) are by default resettable by the user, and increasingly restricted or unavailable outright depending on OS version and user consent choices.
  • App-generated UUIDs stored locally are wiped the moment the app is uninstalled. This is precisely the moment a lot of fraud and abuse patterns want them wiped.
  • Hardware identifiers like IMEI have been locked down by both platforms for years and were never realistically available to app-layer code anyway.

The result: most apps have a device identity that lasts exactly as long as the user wants it to. For fraud detection, licensing, and abuse prevention, that's close to useless.

Three problems, one underlying fix

Fraud detection

Mobile fraud increasingly relies on device churn. This includes uninstalling, resetting, or spoofing identifiers to look like a fresh, low-risk device on every attempt. A persistent identifier breaks that pattern: a device that's already been flagged, or that's associated with prior fraudulent sessions, stays recognizable even after a reinstall, a factory-reset-adjacent cleanup, or an attempt to appear new.

Licensing

For enterprise and B2B mobile apps, license enforcement usually assumes one install equals one seat. Without a persistent identifier, that assumption breaks the moment a user reinstalls, and it becomes trivially easy to share a single license across devices by uninstalling and reinstalling with different accounts. A stable device ID lets licensing logic tell the difference between "the same licensed device, reinstalled" and "a new device trying to claim the same seat."

Reinstall abuse.

Promotions, referral bonuses, and trial periods are usually scoped per device, which only works if a device can't simply erase its history by uninstalling. Reinstall abuse, claiming the same welcome bonus or trial repeatedly from one physical device, is a direct, measurable revenue leak for consumer and fintech apps alike, and it's specifically what a reinstall-resistant identifier is built to close off.

Where this fits with regulation, not just fraud teams

For regulated industries, this isn't only a fraud-ops nice-to-have. DORA already treats ICT risk controls, including fraud detection capability, as part of a financial entity's operational resilience posture, subject to supervisory scrutiny. And the incoming PSD3/PSR package is going to shift more fraud liability onto payment service providers directly, which raises the value of any signal that improves fraud detection accuracy before a transaction completes, not after. A persistent device identifier is exactly that kind of signal: it doesn't replace behavioral fraud detection, but it removes one of the easiest ways to defeat it.

Frequently Asked Questions

Get Device Identifier is a method in the App Protector SDK, available for iOS and Android, that returns a persistent, unique identifier for a device, one that remains consistent even after the app uninstall and reinstall.

Advertising identifiers are user-resettable, and app-generated UUIDs are wiped on uninstall. Get Device Identifier persists through reinstalls, which is what makes it useful for fraud detection, licensing, and reinstall-abuse prevention.

There are three main use cases for Get Device Identifier:

  • fraud detection (recognizing a device across sessions or reinstalls),
  • license enforcement (tying entitlements to a device rather than a resettable identifier),
  • reinstall abuse prevention (stopping repeated claims of per-device promotions or trials).

It should be governed like any persistent identifier. This includes documented purpose, proportionate retention, and use limited to the stated fraud/licensing/abuse-prevention purposes. It's a device signal, not a personal profiling tool, but that distinction should be clear in your data documentation.

Apply for Your Free 30-Day App Protector Trial

Get full access to advanced mobile security for 30 days, featuring both App Hardening to make your app tamper-proof and App Shielding to actively detect and block attacks in real time. Explore a user-friendly portal and see how your app stays protected at every stage. No upfront payment needed.

Want to learn more about cybersecurity trends and industry news?

SUBSCRIBE TO OUR NEWSLETTER

CyberSecurityhub

chevron-down linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram