Skip to content

Commit 8df0048

Browse files
committed
updates based on code review and FSWG input
1 parent cf47ed1 commit 8df0048

File tree

3 files changed

+35
-28
lines changed

3 files changed

+35
-28
lines changed

TCFv2/IAB Tech Lab - CMP API v2.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -727,6 +727,7 @@ The steps for integrating a CMP SDK into an app are the following:
727727
| `IABTCF_TCString` | `String`: Full encoded TC string |
728728
| `IABTCF_VendorConsents` | `Binary String`: The `'0'` or `'1'` at position **n** – where **n**'s indexing begins at `0` – indicates the consent status for Vendor ID **n+1**; `false` and `true` respectively. eg. `'1'` at index `0` is consent `true` for vendor ID `1` |
729729
| `IABTCF_VendorLegitimateInterests` | `Binary String`: The `'0'` or `'1'` at position **n** – where **n**'s indexing begins at `0` – indicates the legitimate interest status for Vendor ID **n+1**; `false` and `true` respectively. eg. `'1'` at index `0` is legitimate interest established `true` for vendor ID `1` |
730+
| `IABTCF_DisclosedVendors` | `Binary String`: The `'0'` or `'1'` at position **n** – where **n**'s indexing begins at `0` – indicates the status of disclosure in CMP for Vendor ID **n+1**; `false` and `true` respectively. eg. `'1'` at index `0` is vendor disclosed `true` for vendor ID `1` |
730731
| `IABTCF_PurposeConsents` | `Binary String`: The `'0'` or `'1'` at position **n** – where **n**'s indexing begins at `0` – indicates the consent status for purpose ID **n+1**; `false` and `true` respectively. eg. `'1'` at index `0` is consent `true` for purpose ID `1` |
731732
| `IABTCF_PurposeLegitimateInterests` | `Binary String`: The `'0'` or `'1'` at position **n** – where **n**'s indexing begins at `0` – indicates the legitimate interest status for purpose ID **n+1**; `false` and `true` respectively. eg. `'1'` at index `0` is legitimate interest established `true` for purpose ID `1` |
732733
| `IABTCF_SpecialFeaturesOptIns` | `Binary String`: The `'0'` or `'1'` at position **n** – where **n**'s indexing begins at `0` – indicates the opt-in status for special feature ID **n+1**; `false` and `true` respectively. eg. `'1'` at index `0` is opt-in `true` for special feature ID `1` |

TCFv2/IAB Tech Lab - Consent string and vendor list formats v2.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727
- [Full TC String passing](#full-tc-string-passing)
2828
+ [What if consent is governed differently in a country?](#what-if-consent-is-governed-differently-in-a-country)
2929
+ [What happened to Created and LastUpdated?](#what-happened-to-created-and-lastupdated)
30+
+ [Why was support for legitimate interest for purposes 3 to 6 deprecated?](#why-was-support-for-legitimate-interest-for-purposes-3-to-6-deprecated)
31+
+ [Why was the disclosed vendors section made mandatory in TCF 2.3?](#mandatory_in_2_3)
3032
* [Creating a TC String](#creating-a-tc-string)
3133
+ [How should a Transparency & Consent String be stored?](#how-should-a-transparency--consent-string-be-stored)
3234
+ [What are the Purposes and Features being supported?](#what-are-the-purposes-and-features-being-supported)
@@ -330,6 +332,10 @@ The Created and LastUpdated fields previously corresponded to decisecond timesta
330332

331333
In order to strengthen the TCF as a standard within the industry it was decided with version 2.2 to prohibit reliance on Legitimate Interest for purpose 3 (create a personalised ads profile), purpose 4 (select personalised ads), purpose 5 (create a personalised content profile) and purpose 6 (select personalised content).
332334

335+
### Why was the disclosed vendor section made mandatory in TCF 2.3?<a name="mandatory_in_2_3"></a>
336+
337+
To solved the abiguity issue for vendors declaring only special purposes (no purposes under consent and purposes under legitimate interest or only purposes under consent, for which cases we used the LI signal as the identifier for special purpose) we have re-introduced the disclose vendor section to specificaly declare which vendors have been disclosed through the CMP. This way there is no abiguity regarding a vendor only declaring special purposes being disclosed or not. If a vendor declaring only special purposes is not listed in the disclosed vendor list that vendor cannot operate under the specisl purpose.
338+
333339
## Creating a TC String
334340

335341
The following details provide information on creating, storing, and managing a TC String.

TCFv2/TCF-Implementation-Guidelines.md

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -18,42 +18,42 @@ Policy FAQ, webinars, and other resources are available at
1818

1919
### [Introduction to the TCF](#Intro)<br>
2020
### [Common Questions](#commonquestions)<br>
21-
&nbsp;&nbsp;&nbsp;&nbsp;**[Do I need to read the Policy?](#needpolicy)**<br>
22-
&nbsp;&nbsp;&nbsp;&nbsp;**[What changed in v2.3?](#changesV2_3)**<br>
23-
&nbsp;&nbsp;&nbsp;&nbsp;**[What changed in v2.2?](#changesV2_2)**<br>
24-
&nbsp;&nbsp;&nbsp;&nbsp;**[What changed in v2.1?](#changesV2_1)**<br>
25-
&nbsp;&nbsp;&nbsp;&nbsp;**[What changed in v2?](#changesV2)**<br>
21+
&nbsp;&nbsp;&nbsp;&nbsp;**[Do I need to read the Policy?](#needpolicy)<br>
22+
&nbsp;&nbsp;&nbsp;&nbsp;**[What changed in v2.3?](#changesV2_3)<br>
23+
&nbsp;&nbsp;&nbsp;&nbsp;**[What changed in v2.2?](#changesV2_2)<br>
24+
&nbsp;&nbsp;&nbsp;&nbsp;**[What changed in v2.1?](#changesV2_1)<br>
25+
&nbsp;&nbsp;&nbsp;&nbsp;**[What changed in v2?](#changesV2)<br>
2626
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Within the Transparency and Consent String (TC String)](#changetcstring)<br>
2727
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Within the Global Vendor List (GVL) Format](#changegvl)<br>
2828
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Within the Consent Management Platform API](#changecmp)<br>
29-
&nbsp;&nbsp;&nbsp;&nbsp;**[How do I evaluate the details provided in the TC String?](#evaluatetcstring)**<br>
30-
&nbsp;&nbsp;&nbsp;&nbsp;**[How should I handle multiple signals with different information?](#mergesignals)**<br>
29+
&nbsp;&nbsp;&nbsp;&nbsp;[How do I evaluate the details provided in the TC String?](#evaluatetcstring)<br>
30+
&nbsp;&nbsp;&nbsp;&nbsp;**[How should I handle multiple signals with different information?](#mergesignals)<br>
3131
### [Publisher guidelines](#pub)
32-
&nbsp;&nbsp;&nbsp;&nbsp;**[What is a Consent Management Platform (CMP) and why do I, as a Publisher, need one?](#whatiscmp)**<br>
33-
&nbsp;&nbsp;&nbsp;&nbsp;**[What publisher controls are available?](#pubcontrols)**<br>
34-
&nbsp;&nbsp;&nbsp;&nbsp;**[The Global Vendor List](#gvl)**<br>
35-
&nbsp;&nbsp;&nbsp;&nbsp;**[Withdrawal of consent](#withdraw)**<br>
32+
&nbsp;&nbsp;&nbsp;&nbsp;**[What is a Consent Management Platform (CMP) and why do I, as a Publisher, need one?](#whatiscmp)<br>
33+
&nbsp;&nbsp;&nbsp;&nbsp;**[What publisher controls are available?](#pubcontrols)<br>
34+
&nbsp;&nbsp;&nbsp;&nbsp;**[The Global Vendor List](#gvl)<br>
35+
&nbsp;&nbsp;&nbsp;&nbsp;**[Withdrawal of consent](#withdraw)<br>
3636
### [Vendor guidelines](#vendor)
37-
&nbsp;&nbsp;&nbsp;&nbsp;**[How do I find the TC String?](#findtcstring)**<br>
38-
&nbsp;&nbsp;&nbsp;&nbsp;**[How do I send the TC string?](#sendtcstring)**<br>
39-
&nbsp;&nbsp;&nbsp;&nbsp;**[How to determine legal bases from the TC String?](#detlegalbasis)**<br>
40-
&nbsp;&nbsp;&nbsp;&nbsp;**[How to determine if data may be transmitted?](#handletcstring)**<br>
41-
&nbsp;&nbsp;&nbsp;&nbsp;**[What if I don’t receive the TC string?](#nostring)**<br>
42-
&nbsp;&nbsp;&nbsp;&nbsp;**[How do I determine which Global Vendor List to use?](#choosegvl)**<br>
43-
&nbsp;&nbsp;&nbsp;&nbsp;**[What else is there to consider when integrating with the TCF?](#whatelse)**<br>
37+
&nbsp;&nbsp;&nbsp;&nbsp;**[How do I find the TC String?](#findtcstring)<br>
38+
&nbsp;&nbsp;&nbsp;&nbsp;**[How do I send the TC string?](#sendtcstring)<br>
39+
&nbsp;&nbsp;&nbsp;&nbsp;**[How to determine legal bases from the TC String?](#detlegalbasis)<br>
40+
&nbsp;&nbsp;&nbsp;&nbsp;**[How to determine if data may be transmitted?](#handletcstring)<br>
41+
&nbsp;&nbsp;&nbsp;&nbsp;**[What if I don’t receive the TC string?](#nostring)<br>
42+
&nbsp;&nbsp;&nbsp;&nbsp;**[How do I determine which Global Vendor List to use?](#choosegvl)<br>
43+
&nbsp;&nbsp;&nbsp;&nbsp;**[What else is there to consider when integrating with the TCF?](#whatelse)<br>
4444
### [Consent Management Platform (CMP) guidelines](#cmp)
45-
&nbsp;&nbsp;&nbsp;&nbsp;**[Collecting consent from users](#collectconsent)**<br>
46-
&nbsp;&nbsp;&nbsp;&nbsp;**[Sharing consent with vendors](#shareconsent)**<br>
47-
&nbsp;&nbsp;&nbsp;&nbsp;**[Storing Consent](#storeconsent)**<br>
48-
&nbsp;&nbsp;&nbsp;&nbsp;**[Other GDPR rights](#otherrights)**<br>
49-
&nbsp;&nbsp;&nbsp;&nbsp;**[Encoding publisher restrictions](#pubrestrenc)**<br>
50-
&nbsp;&nbsp;&nbsp;&nbsp;**[CMP interface requirements](#cmpreq)**<br>
45+
&nbsp;&nbsp;&nbsp;&nbsp;**[Collecting consent from users](#collectconsent)<br>
46+
&nbsp;&nbsp;&nbsp;&nbsp;**[Sharing consent with vendors](#shareconsent)<br>
47+
&nbsp;&nbsp;&nbsp;&nbsp;**[Storing Consent](#storeconsent)<br>
48+
&nbsp;&nbsp;&nbsp;&nbsp;**[Other GDPR rights](#otherrights)<br>
49+
&nbsp;&nbsp;&nbsp;&nbsp;**[Encoding publisher restrictions](#pubrestrenc)<br>
50+
&nbsp;&nbsp;&nbsp;&nbsp;**[CMP interface requirements](#cmpreq)<br>
5151
### [Other Frequently Asked Questions](#otherfaq)
52-
&nbsp;&nbsp;&nbsp;&nbsp;**[Are cookies required for working with the CMP API?](#cookiesrequired)**<br>
52+
&nbsp;&nbsp;&nbsp;&nbsp;**[Are cookies required for working with the CMP API?](#cookiesrequired)<br>
5353
&nbsp;&nbsp;&nbsp;&nbsp;**[Can I also use the API for CCPA or other laws?](#ccpa)**<br>
54-
&nbsp;&nbsp;&nbsp;&nbsp;**[Related resources](#resources)**<br>
55-
&nbsp;&nbsp;&nbsp;&nbsp;**[Will these FAQ be updated?](#faqupdates)**<br>
56-
&nbsp;&nbsp;&nbsp;&nbsp;**[How can I learn more?](#learnmore)**<br>
54+
&nbsp;&nbsp;&nbsp;&nbsp;**[Related resources](#resources)<br>
55+
&nbsp;&nbsp;&nbsp;&nbsp;**[Will these FAQ be updated?](#faqupdates)<br>
56+
&nbsp;&nbsp;&nbsp;&nbsp;**[How can I learn more?](#learnmore)<br>
5757

5858

5959
# Introduction to the TCF <a name="intro"></a>

0 commit comments

Comments
 (0)