How an app recognises a returning installation¶
A service does not need your name to link two actions. If both carry the same persistent code, it can recognise that they came from the same labelled installation or account.
Different codes answer different questions¶
| Identifier | What it can connect |
|---|---|
| Session ID | Actions during one visit or period of use. |
| Installation ID | Activity associated with one installed app over time. |
| Account/user ID | Activity associated with the account, potentially on several devices. |
| Advertising ID | A platform-provided advertising identifier, subject to platform controls. |
| Publisher-provided ID (PPID) | A label the publisher supplies; its scope depends on how the publisher generates and shares it. |
| Push token | An address for delivering notifications to an app installation; still identifying service metadata. |
These labels are not interchangeable. Removing the advertising ID does not remove an app's own account or installation ID. Snowplow's identifier documentation illustrates several kinds and their different lifetimes.
A finding from these apps¶
The Buienalarm audit traces a cross-app PPID into an advertising-targeting request together with selected city/country and ad context. Buienradar's audience plugin copies its Snowplow user ID into the Kantar field cs_fpid. These are concrete linkage paths found in code, not guesses from tracker names. See Buienalarm and Kantar/NMO.
Does “anonymous” mean unrecognisable?¶
A random-looking identifier can lack your name while remaining stable enough to link activity. A hash can likewise preserve the ability to match repeated values. To evaluate an anonymity claim, ask which identifiers remain, how long they last, whether accounts can be linked and what context accompanies them. Cracked Labs explains linking and matching.
Our patches suppress the specific identifier paths listed in each audit. Retained login, push or playback services can still use their own identifiers. We have not demonstrated that all remaining traffic is unlinkable.