An external listener ID connects your app's account system to a podcast backend. Choose a value that remains stable when a person changes their email address, display name, or device.
An internal account UUID is often easier to manage than an email address. The exact choice depends on your system, but the mapping should be deliberate and documented.
Create the mapping on your server
Take the authenticated account from the trusted server session. Look up or create its listener mapping there. Do not accept a public request field called userId as proof that the caller owns that account.
Keep the workspace boundary alongside the external ID where your architecture needs it. A development account named 42 and a production account named 42 should not accidentally share a listener record through a configuration mistake.
If your app supports account merging, define what happens to follows and listening history before shipping the merge button. Two IDs may represent accounts that contain different choices. Copying the newest record over the older one can discard information.
Avoid changing a listener ID just because a person signs in through a second provider. The identity link belongs in your account model, not in an email comparison performed by the podcast screen.
Walk through account changes
Test an email change, a sign-out followed by another person signing in on the same device, and a deleted account created again later. Decide which cases keep a mapping and which create a new one.
A stable identifier is useful only when authorization remains correct. Review both together. Podnivo's listener model provides an application boundary, while your own backend remains responsible for choosing the correct authenticated person inside that boundary.