When associating entitlements with a reader's Google Account, publishers must
create a publisher-provided identifier (PPID). The PPID is associated client-side,
and used in subsequent server-side calls for referring to the reader.
The PPID can be an existing publisher identifier for the reader, or a newly
created one, but must be stable for the reader. It cannot be updated without
the reader deleting and re-linking their account.

The initial association between a Google Account and a PPID is done exclusively
using the [client-side JavaScript api](https://developers.google.com/news/subscription-linking/implementation/client-side). All other features are done
using the [server-side integration](https://developers.google.com/news/subscription-linking/implementation/server-side).

> [!NOTE]
> **Note:** When creating a PPID, the publisher must store the association between the PPID and their internal record for the reader.

## PPID requirements

1. PPIDs must conform to [RFC 3986 Section 2.3](https://datatracker.ietf.org/doc/html/rfc3986#section-2.3)

   - RFC 3986 allows the following `unreserved` characters: `ALPHA
     / DIGIT / "-" / "." / "_" / "~"`
   - This means PPIDs can include uppercase and lowercase letters, numbers, hyphens, periods, underscores, and tildes.
2. The maximum length allowed is 150.

    const publisherProvidedId = 'ASDF_jkl-1234.~'