Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TCF Purpose 1 and Purpose 2 enforcement for Prebid v4.0 #5336

Merged
merged 25 commits into from
Jun 24, 2020
Merged

Conversation

Fawke
Copy link
Contributor

@Fawke Fawke commented Jun 5, 2020

Type of change

  • Feature

Description of change

This PR builds on #5185, and has following changes:

  • Purpose 1 and Purpose 2 are enforced by default.
  • allowAuctionWithoutConsent is now deprecated for TCF 2 workflow.
  • Purpose 2 does additional check for legitimate interest.

modules/gdprEnforcement.js Outdated Show resolved Hide resolved
modules/gdprEnforcement.js Show resolved Hide resolved
modules/gdprEnforcement.js Show resolved Hide resolved
modules/gdprEnforcement.js Show resolved Hide resolved
modules/gdprEnforcement.js Outdated Show resolved Hide resolved
modules/gdprEnforcement.js Outdated Show resolved Hide resolved
modules/gdprEnforcement.js Outdated Show resolved Hide resolved
modules/gdprEnforcement.js Outdated Show resolved Hide resolved
modules/gdprEnforcement.js Outdated Show resolved Hide resolved

const purposeAllowed = rule.enforcePurpose === false || purposeConsent === true;
const vendorAllowed = rule.enforceVendor === false || vendorConsent === true;

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment: "Few if any vendors will be declaring Legitimate Interest for Purpose 1 (Device Access). However, a number of them do declare LI for Purpose 2 (Basic Ads). So if LI has been established, allow the auction and let the server side sort out the legal basis."

Copy link
Contributor Author

@Fawke Fawke Jun 9, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I chose this comment, which you mentioned earlier over this:

Comment: "Few if any vendors should be declaring Legitimate Interest for Device Access (Purpose 1), but some are claiming LI for Basic Ads (Purpose 2)". Prebid.js can't check to see who's declaring what legal basis, so if LI has been established for Purpose 2, allow the auction to take place and let the server sort out the legal basis calculation."

Copy link
Collaborator

@jaiminpanchal27 jaiminpanchal27 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@bretg
Copy link
Collaborator

bretg commented Jun 16, 2020

Docs PR prebid/prebid.github.io#2061

@bretg bretg removed the needs docs label Jun 16, 2020
@Fawke Fawke merged commit eb2ef7b into prebid-4.0 Jun 24, 2020
@jsnellbaker jsnellbaker mentioned this pull request Jul 23, 2020
1 task
jsnellbaker added a commit that referenced this pull request Jul 23, 2020
* remove these adapters from 4.0 (#5369)

Co-authored-by: sumit sharma <[email protected]>

* add meta key to interpreted bid response (#5358)

* add meta key to interpreted bid response

* add more unit tests

Co-authored-by: sumit sharma <[email protected]>
Co-authored-by: sumit sharma <[email protected]>

* add adomain to bid.meta in spotx adapter (#5401)

* add adomain to bid.meta in spotx adapter


this puts the adomain key in the right spot, related to #5358 and partially solves #3115 for SpotX

* Update spotxBidAdapter.js

* Update spotxBidAdapter.js

* unit test for adomain on spotx adapter

* Update spotxBidAdapter_spec.js

* Update spotxBidAdapter_spec.js

* adds advertiserDomains meta to the pubmatic adapter (#5402)

* adds advertiserDomains meta

* Update pubmaticBidAdapter.js

* unit test for meta.advertiserDomains to pubmatic

* Update pubmaticBidAdapter_spec.js

* TCF Purpose 1 and Purpose 2 enforcement for Prebid v4.0 (#5336)

* TCF v2.0 enforcement

* test/spec/modules/gdprEnforcement_spec.js

* add check for gdpr version

* add logInfo message

* remove comment and store value of PURPOSES in an object

* add gvlid check

* add unit tests for validateRules function

* remove purposeId parameter from validateRules function

* add extra tests

* make failing unit test case pass

* deprecate allowAuctionWithouConsent with tcf 2 workflow

* add extra checks for defaults

* remove tcf 2 test page

* add strict gvlid check

* add comments and shorten log messages

* shorted log messages

* add unit tests for setEnforcementConfig

* add gvlid for alias and gvlMapping support

* remove gvlid check

* add support to add gvlid for aliases

Co-authored-by: Jaimin Panchal <[email protected]>

* add advertiserDomains meta field to ix adapter (#5404)

* add advertiserDomains meta field to ix adapter

* Update ixBidAdapter.js

* Update ixBidAdapter_spec.js

* Update ixBidAdapter_spec.js

* add adomain to bid.meta in telaria adapter (#5400)

* add adomain to bid.meta in telaria adapter

this puts the adomain key in the right spot, related to #5358 and partially solves #3115 for Telaria

* Remove digitrust from prebid server js adapter (#5438)

* Update prebidServerBidAdapter_spec.js

* Update index.js

* Interactive advertising bureau digitrust exit (#5429)

* Removing DigiTrust ID system core.

* Removing test spec for digitrust id.

* Removing DigiTrust references from eids test spec.

Co-authored-by: Chris Cole <[email protected]>

* Delete serverbidBidAdapter.md (#5477)

deprecated in favor of consumable adapter

* Set cookie domain in pubcid / userid on main domain, not subdomain (#5500)

* update formatting

* update formatting

* requested changes implemented

* add unit test

* add test case for missing adomain in ix adapter (#5422)

* add test case for missing adomain in ix adapter

at request of @ix-prebid-support on #5404

* Update ixBidAdapter_spec.js

* Update ixBidAdapter_spec.js

* Update ixBidAdapter_spec.js

* drop support for userId configs with the `usersync` config object (#5427)

* drop support for userId configs with the `usersync` config object, per deprecation notice

* changes on drop support (#1)

* Update userIdTargeting.md

* Update userId.md

* Update userId_spec.js

* Update britepoolIdSystem.md

* Update sharedIdSystem.md

Co-authored-by: Patrick McCann <[email protected]>

Co-authored-by: sumit sharma <[email protected]>
Co-authored-by: sumit sharma <[email protected]>
Co-authored-by: sumit sharma <[email protected]>
Co-authored-by: Patrick McCann <[email protected]>
Co-authored-by: Neelanjan Sen <[email protected]>
Co-authored-by: Jaimin Panchal <[email protected]>
Co-authored-by: Neelanjan Sen <[email protected]>
Co-authored-by: Chris Cole <[email protected]>
Co-authored-by: Isaac A. Dettman <[email protected]>
Co-authored-by: Scott <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants