We are observing multiple different deviceId values linked to the same user within short timeframes. In some instances, a new deviceId appears every few minutes or hours. We utilize this identifier for managing Apple Wallet pass updates.
We would appreciate understanding which scenarios might cause the deviceId to change. Could it be influenced by:
-
Device restoration or factory reset procedures
-
App reinstallation or data clearing
-
iOS version updates
-
iCloud account changes or Apple ID authentication status changes
-
Privacy feature activation (such as App Tracking Transparency or Private Relay)
-
Testing environment usage (simulators or automated testing frameworks)
We aim to determine whether this behavior is expected or if it suggests atypical usage patterns.
Thank you for your assistance!
Hi @bsanesteban,
You wrote:
[...] We would appreciate understanding which scenarios might cause the deviceId to change. [...] We aim to determine whether this behavior is expected or if it suggests atypical usage patterns. [...]
The deviceLibraryIdentifier is an opaque string generated by the PassKit daemon (passd) on-device. It isn't used for hardware fingerprinting, like an IDFA, IDFV, or APNs token. It cannot be accessed by third-party apps and only your web service and the system PassKit daemon ever see it.
This identifier is stable under normal everyday use, but isn't a permanent lifecycle-proof identifier. Churn is expected in testing environments, including Simulator and on-device sandbox testing, and during device lifecycle events (e.g., resets, restores, device replacements, etc.).
In production users, frequent churn within short timeframes (minutes to hours) is atypical and warrants investigation on your end—most commonly pointing to automated testing. The correct architectural approach is to treat the value as an ephemeral, per-device-state /device registration handle and rely on APNs feedback for stale record cleanup.
The deviceLibraryIdentifier should not be used as a user identity; associate it with your user identity through serialNumber, not the other way around.
Cheers,
Paris X Pinkney | WWDR | DTS Engineer