iabtcf-es icon indicating copy to clipboard operation
iabtcf-es copied to clipboard

Update the getVendorList to support new v2.2 vendor list fields

Open HeinzBaumann opened this issue 1 year ago • 11 comments

Version 2.2

Module (core, cmpapi, cli, stub, or testing) command getVendorList

Describe with reproduction steps – What is the expected behavior? We also need to extend the library with the new metadata GVL and Vendor

GVL Declarations A list of Categories of data collected Vendor Details List of Categories of data collected across Purposes Data retention duration for each purpose as applicable GDPR/privacy policy page and Legitimate Interest claim URL

HeinzBaumann avatar May 15 '23 15:05 HeinzBaumann

@HeinzBaumann Could we have a link here to the lates approved GVL format, thanks

sevriugin avatar May 18 '23 07:05 sevriugin

@sevriugin https://vendor-list.consensu.org/v3/vendor-list.json

HeinzBaumann avatar May 19 '23 20:05 HeinzBaumann

@HeinzBaumann Should we support the legacy version of the GVL in the library and make new fields optional?

export interface Declarations {
  purposes: IntMap<Purpose>;
  specialPurposes: IntMap<Purpose>;
  features: IntMap<Feature>;
  specialFeatures: IntMap<Feature>;
  stacks: IntMap<Stack>;
  dataCategories?: IntMap<DataCategory>;
}
export interface Vendor extends GVLMapItem {
  purposes: number[];
  legIntPurposes: number[];
  flexiblePurposes: number[];
  specialPurposes: number[];
  features: number[];
  specialFeatures: number[];
  policyUrl: string;
  usesCookies: boolean;
  cookieMaxAgeSeconds: number | null;
  cookieRefresh: boolean;
  usesNonCookieAccess: boolean;
  deviceStorageDisclosureUrl?: string;
  deletedDate?: Date | string;
  overflow?: {
    httpGetLimit: 32 | 128;
  };
  dataRetention?: DataRetention;
  urls?: VendorUrl[];
  dataDeclaration?: number[];
}
export interface DataCategory extends GVLMapItem {
  description: string;
}
export interface DataRetention {
    stdRetention?: number;
    purposes: IntMap<number>;
    specialPurposes: IntMap<number>;
}
export interface VendorUrl {
    langId: string;
    privacy: string;
    legIntClaim: string;
}

sevriugin avatar May 21 '23 07:05 sevriugin

This is a good suggestion. By end of June the old GVL format is no longer supported. So I think we don't need to do it that way but if we get someone to implement it sooner, we should do it as you suggest to stay compatible with both versions.

HeinzBaumann avatar May 25 '23 23:05 HeinzBaumann

@HeinzBaumann I think as the v3 GVL is planned to be "complete" by end of june (as thats the deadlinefor the vendors) I still expect that the lib may be used with a v2 gvl during the period until end of sep (deadline to consider policy v2 strings as invalid) - so i would alos vote for marking the new fields optional

uc-bsam avatar May 26 '23 07:05 uc-bsam

Thanks for comments. I will try to create a PR making these fields optional for now and will add TODO comment to change them to mandatory when the transition period will be finished

sevriugin avatar May 26 '23 08:05 sevriugin

When will the new fields be available?

BenBornschein avatar Jul 26 '23 09:07 BenBornschein

Any updates? @marco-prontera @sevriugin @aitnitishshelage @kenario when can we expect a new package version to be released?

TUNER88 avatar Sep 22 '23 15:09 TUNER88

@TUNER88 as far as I can see, all the new vendor list fields are supported. Check this version https://www.npmjs.com/package/@iabtechlabtcf/core - the package name changed. I did not get any notification about that change, maybe you did not, too.

jelenatomcic avatar Sep 25 '23 06:09 jelenatomcic

I would love some clarification on whether or not @iabtechlabtcf is the main stable package now? I don't see this clearly communicated anywhere.

If that is the case, I assume that many others don't know about this either, since @iabtcf has nearly 4 times the weekly downloads?

neolsw avatar Jun 21 '24 12:06 neolsw

@iabtechlabtcf is latest and greatest and must be used to be compliant with TCF 2.2.

HeinzBaumann avatar Jun 25 '24 16:06 HeinzBaumann