Prebid.js icon indicating copy to clipboard operation
Prebid.js copied to clipboard

Adapters that may not handle GDPR-Applies correctly

Open bretg opened this issue 3 years ago • 9 comments

Description

As uncovered in #7156 , there are are several bid adapters that may not be properly handling the gdprApplies flag.

Background: the Consent Management Platform (CMP) is responsible for knowing whether the current user is "in-scope" for GDPR, i.e. they reside in the European Economic Area (EEA). It signals this information to Prebid along with the consent string. Bid adapters must be able to handle all of these scenarios:

  1. CMP provides gdprApplies:true and a valid consent string - normal GDPR processing
  2. CMP provides gdprApplies:false and a valid consent string - bidder endpoints may choose to verify the user's GDPR scope or to trust the CMP.
  3. CMP provides gdprApplies:true but no consent string - processing depends on vendor's Legitimate Interest claims and legal advice from the bidder's lawyers.
  4. CMP provides gdprApplies:false and no consent string - bidder endpoints may choose to verify the user's GDPR scope or to trust the CMP.
  5. CMP provides only a valid consent string - if the CMP declines to define the GDPR scope, bidder processing depends on whether the endpoint can detect the user's location and legal advice from their lawyers.
  6. CMP provides neither value - if the CMP doesn't define the scope or the consent, bidder processing depends on whether the endpoint can detect the user's location and legal advice from their lawyers.

Bid adapters that need to be reviewed

These bidders don't look for gdprApplies. Please confirm your implementation with your legal team. Prebid recommends passing the gdprApplies flag along with the consent string.

  • [x] addefend - @addefend
  • [ ] apstream - @frstua
  • [x] glimpse - @samueldobbie , @tim-hm
  • [ ] improveDigital - @jbartek25 , @agregorio-improve "there's no plan to add support for gdprApplies param in the current adapter generation as our server does IP lookups. The next generation adapter launching in Q1 will include gdprApplies"

These bidders currently only consider gdprApplies if a consent string is available. Please confirm your implementation with your legal team. Prebid recommends using the gdprApplies flag even if it's available even if there's no consent string.

  • [ ] cleanmedianet - @sa1omon
  • [ ] engageya - @mikomgk
  • [ ] gamoshi - @sa1omon
  • [ ] stroeer - @PavlaKanova , @lukashavrlant
  • [x] bliink - @Kola-Kola
  • [ ] logan - @WlsLogan
  • [ ] mathildeads - @mathilde-ads
  • [x] mediasquare - @matthieularere-msq
  • [x] onetag - @onetag-dev
  • [x] richaudience - @richaudience
  • [x] rubicon - @robertrmartinez
  • [ ] smilewanted - @MaxSmileWanted
  • [x] triplelift - @nllerandi - "We fallback to the determination of applicability based on geo IP resolution if our params are not present."
  • [ ] videoreach - @VideoReach

These modules don't send gdprApplies to their endpoints. There's a possible problem in these scenarios where gdprApplies:true and there's no consent string. If endpoints are doing IP-address lookups, then they may be ok, but if not, the adapter should be passing gdprApplies so the endpoint has all the info it needs to process correctly.

  • [ ] adnuntius - @mikael-lundin
  • [ ] beop - @bloodyowl , @sebrobert
  • [ ] criteoIdSystem - @allanjun

bretg avatar Nov 30 '21 15:11 bretg

@samueldobbie that does not look like it handles case 3 correctly (gdprApplies: true, consentString: undefined would fall down to the last return which says gdprApplies: false).

https://github.com/prebid/Prebid.js/blob/a5b0d6416215e0d28f035a47341e718da770239b/modules/glimpseBidAdapter.js#L138-L154

dgirardi avatar Nov 30 '21 17:11 dgirardi

Good catch @dgirardi, thanks! Should be fixed here.

samueldobbie avatar Nov 30 '21 17:11 samueldobbie

I guess this is related with user sync for mediasquare bidder, if that's so it should be fixed by PR #7780

matthieularere-msq avatar Nov 30 '21 18:11 matthieularere-msq

We do IP-address lookups but we can add a gdpr applies true as well. :)

On Tue, Nov 30, 2021 at 6:52 PM bretg @.***> wrote:

Description

As uncovered in #7156 https://github.com/prebid/Prebid.js/issues/7156 , there are are several bid adapters that may not be properly handling the gdprApplies flag.

Background: the Consent Management Platform (CMP) is responsible for knowing whether the current user is "in-scope" for GDPR, i.e. they reside in the European Economic Area (EEA). It signals this information to Prebid along with the consent string. Bid adapters must be able to handle all of these scenarios:

  1. CMP provides gdprApplies:true and a valid consent string - normal GDPR processing
  2. CMP provides gdprApplies:false and a valid consent string - bidder endpoints may choose to verify the user's GDPR scope or to trust the CMP.
  3. CMP provides gdprApplies:true but no consent string - processing depends on vendor's Legitimate Interest claims and legal advice from the bidder's lawyers.
  4. CMP provides gdprApplies:false and no consent string - bidder endpoints may choose to verify the user's GDPR scope or to trust the CMP.
  5. CMP provides only a valid consent string - if the CMP declines to define the GDPR scope, bidder processing depends on whether the endpoint can detect the user's location and legal advice from their lawyers.
  6. CMP provides neither value - if the CMP doesn't define the scope or the consent, bidder processing depends on whether the endpoint can detect the user's location and legal advice from their lawyers.

Bid adapters that need to be reviewed

These bidders don't look for gdprApplies. Please confirm your implementation with your legal team. Prebid recommends passing the gdprApplies flag along with the consent string.

These bidders currently only consider gdprApplies if a consent string is available. Please confirm your implementation with your legal team. Prebid recommends using the gdprApplies flag even if it's available even if there's no consent string.

These modules don't send gdprApplies to their endpoints. There's a possible problem in these scenarios where gdprApplies:true and there's no consent string. If endpoints are doing IP-address lookups, then they may be ok, but if not, the adapter should be passing gdprApplies so the endpoint has all the info it needs to process correctly.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/prebid/Prebid.js/issues/7775, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAH64BLITODJP275TJOH2GTUOUFPNANCNFSM5JCFYVJA .

mikael-lundin avatar Dec 01 '21 09:12 mikael-lundin

Hi,

The change to use "gdprApplies" has been completed. Please check the pull request: #7788

Cheers

richaudience avatar Dec 01 '21 15:12 richaudience

Hi,

We change the support of "gdprApplies", please you can check the PR here : #7860 .

Thanks.

kola-kola avatar Dec 14 '21 11:12 kola-kola

We fallback to the determination of applicability based on geo IP resolution if our params are not present.

nllerandi3lift avatar Dec 14 '21 19:12 nllerandi3lift

Improve Digital adapter: there's no plan to add support for gdprApplies param in the current adapter generation as our server does IP lookups. The next generation adapter launching in Q1 will include gdprApplies.

jbartek25 avatar Dec 15 '21 09:12 jbartek25

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Jan 08 '22 23:01 stale[bot]

Let's handle this with an adapter documentation warning

patmmccann avatar Mar 15 '23 16:03 patmmccann

@jbartek25 your next generation adapter that includes this change has been released, correct?

patmmccann avatar Mar 23 '23 15:03 patmmccann

@jbartek25 your next generation adapter that includes this change has been released, correct? @patmmccann correct. it was released in Q1/2022

jbartek25 avatar Mar 23 '23 16:03 jbartek25

adnuntias appears to handle here with a diff endpoint https://github.com/prebid/Prebid.js/blob/467f78f211775702ac61e2ade86ed393ada26b9a/modules/adnuntiusBidAdapter.js#L134

patmmccann avatar May 01 '23 14:05 patmmccann

Criteo handles here https://github.com/prebid/Prebid.js/blob/48cd24551a633d1421e10a8dad4f8a957f14d87a/modules/criteoIdSystem.js#L99

patmmccann avatar May 01 '23 14:05 patmmccann

I reviewed triplelift just now, should be very easy to relax this https://github.com/prebid/Prebid.js/blob/48cd24551a633d1421e10a8dad4f8a957f14d87a/modules/tripleliftBidAdapter.js#L90

@patrickloughrey

patmmccann avatar May 01 '23 14:05 patmmccann