Chapter navigation
Publisher Restrictions
consentOn this page
Role & classification
The variable-length restriction entries at the tail of the Transparency & Consent Framework (TCF) Core segment: NumPubRestrictions Int(12) + per entry (PurposeId 6 bits + RestrictionType 2 bits + vendor range). The three RestrictionType values: 0 = purpose disallowed / 1 = require consent / 2 = require legitimate interest.
- GPP section
- §2 (Core tail)
- Carriage
- NumPubRestrictions Int(12) + entries
String & field layout
At the tail of the Core segment: read NumPubRestrictions Int(12) first; each restriction entry then consists of PurposeId Int(6) + RestrictionType Int(2) + a vendor Range (encoded like the range in the VendorConsents section). The entries are variable-length; the bit width is determined by the entry count.
| Value | Enum name | Meaning |
|---|---|---|
| 0 | Purpose Flatly Not Allowed by Publisher | Purpose Flatly Not Allowed by Publisher (regardless of Vendor declarations): the vendor must not process for this purpose, whether or not they declared it 'flexible'. |
| 1 | Require Consent | Require Consent (if Vendor has declared the Purpose ID's legal basis as Legitimate Interest and flexible): the vendor must switch to consent. |
| 2 | Require Legitimate Interest | Require Legitimate Interest (if Vendor has declared the Purpose ID's legal basis as Consent and flexible): the vendor must switch to legitimate interest. |
The three enum names (Purpose Flatly Not Allowed by Publisher / Require Consent / Require Legitimate Interest) and semantics are taken directly from the official Consent string formats v2.md (Final v2.2, May 2023) RestrictionType enum table; value 3 = UNDEFINED (not used).
Carriage & access
Restrictions only narrow, never widen, a vendor's operable scope as registered in the Global Vendor List (GVL): a vendor must always obey a restriction signal; for a purpose declared 'flexible', the restriction decides whether consent or legitimate interest finally applies; a purpose not declared flexible keeps its registered default legal basis, which a restriction may not change.
Invalid forms
- PurposeId outside the 1–24 range
- RestrictionType taking a reserved value (greater than 2)
- Overlapping or conflicting vendor ranges across multiple restrictions for the same purpose