| Date | Comments |
| Sept 28, 2022 | Published final public version |
| June, 2023 | Fixed Canada api name |
Each section represents a unique privacy signal, usually a unique jurisdiction. Below are the supported discrete sections.
| Section ID | Client-side API Prefix | Description |
1 |
tcfeuv1 | EU TCF v1 section (deprecated) |
2 |
tcfeuv2 | EU TCF v2 section (see note below) |
3 |
GPP Header section (REQUIRED, see note below) | |
4 |
-- | GPP signal integrity section |
5 |
tcfcav1 | Canadian TCF section |
6 |
uspv1 | USPrivacy String (Unencoded Format) |
7 |
usnat | MSPA US National Section |
8 |
usca | US - California section |
9 |
usva | US - Virginia section |
10 |
usco | US - Colorado section |
11 |
usut | US - Utah section |
12 |
usct | US - Connecticut section |
13 |
usfl | US - Florida section |
14 |
usmt | US - Montana section |
15 |
usor | US - Oregon section |
16 |
ustx | US - Texas section |
17 |
usde | US - Delaware section |
18 |
usia | US - Iowa section |
19 |
usne | US - Nebraska section |
20 |
usnh | US - New Hampshire section |
21 |
usnj | US - New Jersey section |
22 |
ustn | US - Tennessee section |
23
| usmn | US - Minnesota section |
24
| usmd | US - Maryland section |
25
| usin | US - Indiana section |
26
| usky | US - Kentucky section |
27
| usri | US - Rhode Island section |
Note: In order to make it simple to distinguish a GPP string from the existing IAB Europe TCF v2 TC String the first space in the header should be the version. This would allow current implementations to more easily understand and adapt to a GPP string. If the reader of a string finds “C” as the first character this indicates the string is IAB Europe’s TCF v2.0 ("2" in bits corresponds to letter "C" in base64). If the reader of a string finds a “D” as the first character this indicates the string is GPP ("3" in bits corresponds to letter "D" in base64).
New privacy framework signals may start as reusable subsections in the GPP. Over time as they become more widely adopted, they may become sections with their own ID and reference in the Header. Reusable subsections may be added to any section using the delimiter “.” (dot) to separate the subsections from each other. Details on a reusable subsection, including whether it is available, required, or optional, for a specific section are included in each specific section’s documentation.
In order to be included as a supported reusable subsection, the signal must meet the following criteria:
- Be openly designed
- Be widely understood and adopted
- Have a clear interface for machines
Below is a list of supported reusable subsections.
GPC is signaled in user agent headers (Sec-GPC) and a simple javascript API (globalPrivacyControl). Entities creating GPP strings may check for whether GPC is set and pass along the value they find (from the headers or javascript API) in the GPC subsection for all sections where it is available. Potential values in the user agent API are boolean (0/1 for header and true/false for javascript API). At the time of publication, true is an opt out of sale under CCPA (“Do not sell my personal information”).