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

Add clearOriginJoinedAdInterestGroups() #4

Closed
wants to merge 25 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
986c6a9
Add clearOriginJoinedAdInterestGroups()
MattMenke2 Sep 25, 2023
2db3c9c
Update FLEDGE.md
MattMenke2 Oct 5, 2023
6f5565f
Update FLEDGE.md
MattMenke2 Oct 5, 2023
43d4c0a
Update fledge-tester-list.md (#845)
markusze Oct 7, 2023
1ad8867
Add auction server request flags (#757)
brusshamilton Oct 9, 2023
07888f4
Create 2023-10-04-FLEDGE-call-minutes.md
michaelkleber Oct 9, 2023
2512075
Minor Clarity on Destinations (#840)
thegreatfatzby Oct 9, 2023
8205273
Make join permissions imply leave permissions (#496)
MattMenke2 Oct 9, 2023
9765238
Remove `reportAdditionalBidResult` for additional bids. (#835)
orrb1 Oct 9, 2023
f510cd3
Update guidance on `additionalBidKey` rotation (#841)
orrb1 Oct 9, 2023
098bd26
Emphasize that the additional bid joining origin check fails open (#842)
orrb1 Oct 9, 2023
c21ba67
Add info about when the ad component support for event reporting is a…
xiaochen-z Oct 10, 2023
5456226
Update FLEDGE.md for typo nit (#850)
thegreatfatzby Oct 10, 2023
4f07d44
Update FLEDGE_k_anonymity_server.md (#677)
thegreatfatzby Oct 11, 2023
07bee97
Make it clear that validate ad auction is not parallel. (#848)
qingxinwu Oct 11, 2023
bf050a2
Fix problem with parsing & assigning Promise resolution value. (#854)
qingxinwu Oct 11, 2023
fe3e3c2
Avoid nesting for small if blocks. (#849)
qingxinwu Oct 11, 2023
1a537b6
[Spec] Add directFromSellerSignals (#771)
caraitto Oct 13, 2023
ffc0e8d
Handles header-based directFromSellerSignals. (#774)
qingxinwu Oct 13, 2023
82cbe4e
Remove direct from seller TODO that's done (#860)
caraitto Oct 13, 2023
d68ea6e
Set directFromSellerSignals dict members to null (#861)
caraitto Oct 13, 2023
ec8b4fe
Create 2023-10-11-FLEDGE-call-minutes.md
michaelkleber Oct 16, 2023
11d500c
Link adAuctionHeaders (#863)
qingxinwu Oct 16, 2023
97e837d
Add kanonStatus description for reportWin() (#714)
xtlsheep Oct 20, 2023
d84ccaf
Merge branch 'main' into clearOriginJoinedAdInterestGroups
JensenPaul Oct 20, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 28 additions & 12 deletions FLEDGE.md

Large diffs are not rendered by default.

30 changes: 21 additions & 9 deletions FLEDGE_k_anonymity_server.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,7 @@ where the crowd consists of $k$ users.

## Use cases in the Privacy Sandbox

The [FLEDGE](FLEDGE.md) proposal calls for k-anonymity thresholds on several
features. The first threshold is before interest groups are updated.
A browser should not request an interest group update from an untrusted
server unless there are at least $k$ other browsers also requesting the
same interest group update. This allows the browser for a particular user
to _hide in the crowd_ of other users also requesting the same update.
To implement this k-anonymity thresholds are applied to the `dailyUpdateUrl`.

k-anonymity is also applied to the `renderUrl` for ad creatives. One of the
k-anonymity is applied to the `renderUrl` for ad creatives. One of the
goals of [FLEDGE](FLEDGE.md) is to offer microtargeting protection; that is,
a user won't be shown an ad unless some minimum number, $k$, of other users
are also being shown the same ad. This is accomplished by applying k-anonymity
Expand All @@ -37,6 +29,26 @@ being passed to an ad's fenced frame via parameters like `size`. Adding `size`
to the k-anonymity check of the `renderUrl` is under discussion in [this
issue](https://github.com/WICG/turtledove/issues/312#issuecomment-1307471709).

k-anonymity is also applied at Reporting Time: if the buyer has provided a `reportWin`
function in the script available at `biddingScriptUrl`, the `browserSignals` argument
to the `reportWin` function call will include `interestGroupName` if the tuple of
interest group owner, name, bidding script URL and ad creative URL is jointly
k-anonymous (see
[here](https://github.com/WICG/turtledove/blob/main/FLEDGE.md#52-buyer-reporting-on-render-and-ad-events)).


Previously the [FLEDGE](FLEDGE.md) proposal called for k-anonymity thresholds on
Interest Group updates. The idea was a browser would not request an Interest Group
update from an untrusted server unless there were at least $k$ other browsers also
requesting the same Interest Group update. This meant a k-anon check was done on
the Interest Group's `dailyUpdateUrl`. After much discussion (in particular see
this comment on the proliferation of Interest Groups causing tradeoffs w/r/t latency
[here](https://github.com/WICG/turtledove/issues/361#issuecomment-1430069343), and
the bottom of section 1.2 discussing the `updateUrl` (`dailyUpdateUrl`) in the main explainer
[here](https://github.com/WICG/turtledove/blob/main/FLEDGE.md#12-interest-group-attributes))
it was decided to drop this requirement as the marginal cost to the auction was large
and the marginal benefit to privacy not enough.

Beyond FLEDGE there are also plans to use k-anonymity thresholds in [shared
storage](https://github.com/WICG/shared-storage). The shared storage
`selectURL` API may require that the returned URL meets a k-anonymity
Expand Down
5 changes: 4 additions & 1 deletion Fenced_Frames_Ads_Reporting.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ The following new APIs will be added for achieving this.

## reportEvent

Fenced frames can invoke the `reportEvent` API to tell the browser to send a beacon with event data to a URL registered by the worklet in `registerAdBeacon` (see below). Depending on the declared `destination`, the beacon is sent to either the buyer's or the seller's registered URL. Examples of such events are mouse hovers, clicks (which may or may not lead to navigation e.g. video player control element clicks), etc.
Fenced frames can invoke the `reportEvent` API to tell the browser to send a beacon with event data to a URL registered by the worklet in `registerAdBeacon` (see below). Depending on the declared `destination`(s), the beacon is sent to either the buyer's and/or the seller's registered URL. Examples of such events are mouse hovers, clicks (which may or may not lead to navigation e.g. video player control element clicks), etc.

This API is available from same-origin frames within the initial rendered ad document and across subsequent same-origin navigations, but it's no longer available after cross-origin navigations or in cross-origin subframes. (For this API, for chains of redirects, the requestor is considered same-origin with the target only if it is same-origin with all redirect URLs in the chain.) This way, the ad may redirect itself without losing access to reporting, but other sites can't send spurious reports.

Expand Down Expand Up @@ -218,6 +218,9 @@ window.fence.setReportEventDataForAutomaticBeacons({
```

# Support for Ad Components
For ad components [rendered in fenced frames](https://github.com/WICG/turtledove/blob/main/FLEDGE.md#4-browsers-render-the-winning-ad), the support for event-level reporting described below is available in Chrome starting M114.
For ad components rendered in iframes, the support will be available in Chrome starting M115. The support works for all combinations of the top-level ad and ad component being rendered in iframes and/or Fenced Frames.

## Goal
When a rendered ad is composed of [multiple pieces](https://github.com/WICG/turtledove/blob/main/FLEDGE.md#34-ads-composed-of-multiple-pieces), it is useful to detect user clicks that happened on ad components.

Expand Down
2 changes: 1 addition & 1 deletion fledge-tester-list.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ The usefulness of this page depends on testers sharing information and updates.
| Adform | DSP | Beginning January 1, 2024 | | privacysandbox@adform.com |
| Onetag | DSP & SSP | 2023-2024 | | privacysandbox@onetag.com |
| Yahoo Inc | DSP | beginning 15 Jan 2024 | | googleprivacysandbox@yahooinc.com |
| Magnite | SSP | January 2024 | | rsachdev@magnite.com |
| Magnite | SSP | January 2024 | | privacysandbox@magnite.com |

## Table - Publishers and Advertisers Interested in Testing or Early Adoption
Companies who may be interested in participating in tests and early adoption opportunities provided by ad tech companies.
Expand Down
Loading