ORTB
中 / EN
Chapter navigation

Publisher Restrictions

consent

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.

ValueEnum name (pending official)Meaning
0PurposeFlatlyNotAllowedByPublisherThe publisher flatly disallows this purpose: the vendor must not process for it, whether or not it declared the purpose 'flexible'.
1RequireConsentRequire consent: a vendor that declared the purpose flexible with a default of legitimate interest must switch to consent.
2RequireLegitimateInterestRequire legitimate interest: a vendor that declared the purpose flexible with a default of consent must switch to legitimate interest.

The semantics of the three values (purpose disallowed / require consent / require legitimate interest) are cross-verified against the TCF policy wording ('restrictions come in two kinds: purpose and legal basis') and several industry implementations; the official enum names and verbatim definitions await Consent string formats v2.md.

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

Gaps pending verification (draft)

  • The official enum names and verbatim definitions of RestrictionType 0/1/2 await Consent string formats v2.md (GitHub raw currently unreachable); the enum names here follow common industry usage and are flagged as pending
This chapter's body is migrated from the legacy /protocol/gpp-tcf single page; the material matches the official specification.