12 March 2026 · Events
First-party events without fingerprints
Teams often hear “first-party” and assume the identity problem went away. It did not. First-party only means you collect it. Fingerprints — canvas, font lists, install IDs that never rotate — still turn a product event into a person graph.
In Privacy-First Mobile Telemetry we start by listing every identifier the SDK already has. Most apps discover more than they admitted in the DPIA: a vendor install ID, a push token used as a join key, a hashed email that is still unique. First-party storage does not make those fields harmless.
Name the action, not the person
An event name should describe a product action: transfer_completed, lesson_started, cart_abandoned. Properties should describe the action’s context: amount bucket, lesson id, cart size band. They should not describe the device’s uniqueness. If a property’s only job is to stitch sessions across reinstalls, it is an identity field wearing an analytics badge.
When a PM asks “how many people did this twice?”, the honest first-party answer may be “we can count repeat actions inside a rotating session, not across a lifetime device.” That sentence is uncomfortable. It is also the difference between Privacy-First App Analytics and a rebranded tracker.
Session keys that expire
We teach a session key minted on the device, rotated on a clock you publish (often 24 hours, sometimes the end of a task), and never reused after uninstall. Warehouse jobs must treat a new key as a new session, not as a puzzle to solve with probabilistic matching.
If you need multi-day journeys, prefer an authenticated account id that the user can see, export, and delete — not a silent fingerprint. Accounts are personal data with a relationship. Fingerprints are personal data with an alibi.
What to do on Monday
Export your live event dictionary. Highlight every property that would still identify a device after the user clears storage. Those fields go on the do-not-collect list unless counsel and product both sign a purpose that names identity explicitly. Then redesign activation as a count of actions inside a window, not a count of forever-IDs.
This is the same exercise as week one of the flagship studio. The journal version is shorter; the studio version includes a critique of your actual payload.