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

Propose a GPC extension to OpenRTB #99

Conversation

AramZS
Copy link

@AramZS AramZS commented Apr 8, 2022

Intended to address #98

This is intended to apply to any applicable RTB version and I'd be happy to add to this PR if needed to allow it to apply to other iterations if maintainers will tell me what needs to be done in order to do so. I do not believe my organization is currently a Tech Lab member, however, if there are any questions I'd be glad to speak to the group.

The goal is to support passing the Global Privacy Control signal to downstream participants in order to allow them to make decisions on how to interpret the privacy state of a user in regard to applicable regulations.

Downstream consumers of this signal should use it as the primary signal where they believe it applies, since not all publishers may use the signal to change their interpretation of other privacy signals or may interpret it the same way as a downstream consumer. So, where the downstream consumer of OpenRTB signals sees both a USPAPI signal and a GPC signal on a request and considers the GPC signal to mean an opt-out in California, and where the USPAPI signal does not indicate such an opt-out, then the downstream consumer should consider the user opted-out.

When the creator of the OpenRTB object sees a GPC signal they must set this extension with that signal.

@AramZS
Copy link
Author

AramZS commented Apr 12, 2022

Resolved the open comment. Mistake on my part. Let me know if there are any other questions.


#### Notes

See [the Global Privacy Control website](https://globalprivacycontrol.org/) for deatils on the specification and its current market support.
Copy link
Contributor

Choose a reason for hiding this comment

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

Details


The goal is to support passing the Global Privacy Control signal to downstream participants in order to allow them to make decisions on how to interpret the privacy state of a user in regard to applicable regulations.

Downstream consumers of this signal should use it as the primary signal where they believe it applies, since not all publishers may use the signal to change their interpretation of other privacy signals or may interpret it the same way as a downstream consumer. So, where the downstream consumer of OpenRTB signals sees both a USPAPI signal and a GPC signal on a request and considers the GPC signal to mean an opt-out in California, and where the USPAPI signal does not indicate such an opt-out, then the downstream consumer should consider the user opted-out.
Copy link
Contributor

Choose a reason for hiding this comment

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

While this may be true, I'm not sure it's the appropriate place to state it

Copy link
Author

Choose a reason for hiding this comment

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

@patmmccann Is there a better place to open up such a discussion?

Copy link
Contributor

Choose a reason for hiding this comment

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

I'm not sure, but this looks like legal advice to me

Choose a reason for hiding this comment

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

+1 I expect we have to strike this paragraph. I recommend following the pattern for our solutions to other regulations, e.g., https://github.com/InteractiveAdvertisingBureau/USPrivacy/blob/master/CCPA/US%20Privacy%20String.md.

Copy link
Contributor

@dmdabbs dmdabbs Apr 14, 2023

Choose a reason for hiding this comment

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

...should use it as the primary signal...

Is this dictate appropriate? What does "primary signal" mean? @wittjill's earlier suggestion we scope our purpose to facilitation was spot on

Can we change the two intro paragraphs so that it is more in line with how other privacy specs are written, something like:

This community extension supports passing the Global Privacy Control signal to downstream participants in order to allow them to make decisions on how to interpret the privacy state of a user in regard to applicable regulations.

For more information about the Global Privacy Control specification visit: ​​https://globalprivacycontrol.org/

I'd propose this further minimalisation:

This community extension supports passing the Global Privacy Control signal that downstream recipients may use to determine how to process the request.

For more information about the Global Privacy Control specification visit: ​​https://globalprivacycontrol.org/

If the detailed guidance is retained, "...USPAPI signal and a GPC..." is dated since USPAPI is deprecated in favor of GPP, yes?

Copy link
Contributor

@patmmccann patmmccann left a comment

Choose a reason for hiding this comment

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

Minor edits

AramZS added 2 commits April 26, 2022 16:13
details was misspelled once and then we all copied it. Fixed them all.
@AramZS
Copy link
Author

AramZS commented Apr 26, 2022

Resolved the minor edits @patmmccann

Not sure what to do about the question of what an extension is intended to do / be used and where that should go? Is it that the detail is too high? Should it go somewhere else? I'm unclear on what the best place to put something like this is, but surely it needs to be someplace right?

@patmmccann
Copy link
Contributor

I am not sure what the best forum to discuss this is, but I feel confident this is not it.

Perhaps: https://github.com/InteractiveAdvertisingBureau/USPrivacy/blob/master/CCPA/USP%20API.md

@wittjill
Copy link
Contributor

@AramZS you can email me directly ([email protected]) and I can put you in touch with the privacy working groups.

Copy link
Contributor

@wittjill wittjill left a comment

Choose a reason for hiding this comment

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

Can we change the two intro paragraphs so that it is more in line with how other privacy specs are written, something like:

This community extension supports passing the Global Privacy Control signal to downstream participants in order to allow them to make decisions on how to interpret the privacy state of a user in regard to applicable regulations.

For more information about the Global Privacy Control specification visit: ​​https://globalprivacycontrol.org/

@simontrasler
Copy link

simontrasler commented Mar 31, 2023

We need a URL parameter for this field as well, for GET requests. Retract this comment, the HTTP header serves this purpose, there is no need for a URL parameter.

@simontrasler
Copy link

Since the GDPR and US Privacy signals are being promoted to the main specification in OpenRTB 2.6, I recommend we do the same for this one.

<th>Description</th>
</tr>
<tr>
<td>regs.ext.gpc</td>

Choose a reason for hiding this comment

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

If this is needed at all (and I expect it is), I recommend we put it directly in the mainline specification next to the fields for GDPR, GPP, etc.

Choose a reason for hiding this comment

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

Ignore my previous comment. I raised with the Working Group, the consensus is to stick with the extension for now.

@patmmccann
Copy link
Contributor

patmmccann commented Apr 18, 2023

Putting the prebid link that was on #98 here too

prebid/Prebid.js#8424

Prebid implemented this on regs.ext.gpc

</tr>
<tr>
<td>regs.ext.gpc</td>
<td>integer</td>
Copy link

@simontrasler simontrasler Apr 18, 2023

Choose a reason for hiding this comment

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

Make string, and propagate the contents of the HTTP header as-is. Then there is no interpretation of the (originally, string) value as it passes down the chain.

@simontrasler
Copy link

I tried to contact the author, to help resolve these issues. This was unsuccessful, so I have created a new pull request #123 to move the discussion there, and will close #99.

@hillslatt
Copy link
Contributor

Closing as dupe of #123

@hillslatt hillslatt closed this May 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants