分册导航
Canadian TCF(GPP §5)
同意类定位与分类
互动广告局(Interactive Advertising Bureau,IAB)Canada 发布的透明度与同意框架(Transparency & Consent Framework,TCF)加拿大版,是全球隐私平台(Global Privacy Platform,GPP)§5 载荷,apiPrefix tcfcav1。本站解码器对该 section 仅读取首字段 Version,字段级布局未入库。
- GPP section
- §5 (tcfcav1)
- 承载点
- IAB Canada TCF · PIPEDA
字符串与字段布局
互动广告局(Interactive Advertising Bureau,IAB)Canada 维护的加拿大版透明度与同意框架(Transparency & Consent Framework,TCF),作为全球隐私平台(Global Privacy Platform,GPP)§5 载荷,apiPrefix 为 tcfcav1。面向加拿大《个人信息保护和电子文件法》(Personal Information Protection and Electronic Documents Act,PIPEDA),与欧盟版的核心差异在于同意模型:EU 用「同意 / 正当利益」,加拿大用「明确同意(Express Consent)/ 暗示同意(Implied Consent)」。同意管理平台(Consent Management Platform,CMP)须向 IAB Canada 注册后方可创建 TC String。
面向加拿大《个人信息保护和电子文件法》(Personal Information Protection and Electronic Documents Act,PIPEDA):与欧盟《通用数据保护条例》(General Data Protection Regulation,GDPR)要求明确同意不同,PIPEDA 在某些情形允许暗示同意(implied consent),这直接影响同意信号的语义与 UI 要求。
| 字段 | 位宽 | 说明 |
|---|---|---|
| Version | Int(6) | 版本号,值为 1(EU 版为 2)。 |
| Created | Datetime | TC String 最后更新的 epoch 时间(UTC,取整天)。 |
| LastUpdated | Datetime | TC String 最后更新的 epoch 时间(UTC,取整天)。 |
| CmpId | Int(12) | 最后更新该 TC String 的同意管理平台(Consent Management Platform,CMP)ID。 |
| CmpVersion | Int(12) | 该 CMP 的版本号。 |
| ConsentScreen | Int(6) | 用户给出同意时所在的 CMP 界面屏号。 |
| ConsentLanguage | String(2) | CMP UI 展示时使用的双字母 ISO 639-1 语言码(加拿大场景为 en 或 fr)。 |
| VendorListVersion | Int(12) | 创建该 TC String 所使用的全球供应商列表(Global Vendor List,GVL)版本。 |
| TcfPolicyVersion | Int(6) | GVL 对应的 TCF 政策版本;新版本会使现有串失效并要求 CMP 重新建立透明度与同意。 |
| UseNonStandardStacks | Boolean | 1 = CMP 使用了非 IAB 标准 Stack 描述;0 = 使用标准 Stack。 |
| SpecialFeatureExpressConsent | Bitfield(12) | 每个特殊功能一位:1 = 用户已给出明确同意;0 = 未给出。 |
| PurposesExpressConsent | Bitfield(24) | 每个目的一位:1 = 明确同意;0 = 无明确同意。注意:Purpose 1 位在 TCF Canada 中不使用。 |
| PurposesImpliedConsent | Bitfield(24) | 每个目的一位:1 = 暗示同意已建立且用户未反对;0 = 暗示同意未建立或用户已反对。注意:Purpose 1 位在 TCF Canada 中不使用。 |
| VendorExpressConsent | OptimizedRange | 已给出明确同意的供应商 ID 列表。 |
| VendorImpliedConsent | OptimizedRange | 暗示同意已建立且用户未反对的供应商 ID 列表。 |
| PubRestrictions | N-ArrayOfRanges(6,2) | 发布商限制:每条 = PurposeId + RestrictionType(0 发布商完全禁止 / 1 要求明确同意 / 2 要求暗示同意 / 3 未定义)+ 供应商 range。 |
承载与访问
以 GPP §5(apiPrefix tcfcav1)承载;__gpp 的 supportedAPIs 中形如 "5:tcfcav1"。客户端 API 键名形如 IABGPP_TCFCAV1_CmpId / IABGPP_TCFCAV1_VendorExpressConsents / IABGPP_5_TCString 等。
可选子段
可选子段(SubsectionType Int(3)=1):已披露供应商列表,OptimizedRange 编码,以 . 分隔追加到 Core 子段后。
可选子段(SubsectionType Int(3)=3):发布商自身目的的透明度与同意,含 PubPurposesExpressConsent Bitfield(24) + PubPurposesImpliedConsent Bitfield(24) + NumCustomPurposes Int(6) + 自定义目的位场。
版本差异
与 TCF EU 的关键差异(官方 Summary of differences):①「consent」→「express consent」;②「legitimate interest」→「implied consent」;③「special feature opt ins」→「special feature express consent」;④「Right to Object」→「Objection」。此外:Version=1(EU=2);Purpose 1 位不使用(EU 中 Purpose 1 为设备存储同意);ConsentLanguage 为英/法双语(ISO 639-1 en/fr)。
失效形态
- 把加拿大版 TC String 当作 EU 版解析(字段级布局不同:Version=1 vs 2、Express/Implied 双通道 vs Consent/正当利益)
- 假定 PIPEDA 与 GDPR 的同意语义一致(暗示同意 vs 明确同意)
- 使用 Purpose 1 位(TCF Canada 中不使用)
- RestrictionType 按 EU 语义解读(加拿大版的 1 = Require Express Consent / 2 = Require Implied Consent,非 EU 的 Require Consent / Require Legitimate Interest)