Hi,

Thanks for reaching out.

We’ve reviewed the proposal and don’t have any significant concerns. We’ll 
continue providing feedback via GitHub where appropriate.

Thanks,
Erik

From: Paul Jensen <pauljen...@chromium.org>
Sent: Friday, May 17, 2024 5:42 AM
To: Yoav Weiss (@Shopify) <yoavwe...@chromium.org>
Cc: blink-dev <blink-dev@chromium.org>; Erik Anderson 
<erik.ander...@microsoft.com>
Subject: Re: Intent to Ship: Protected Audience: reporting timeouts & 
multiple-bids

Actually CC Erik this time.

On Fri, May 17, 2024 at 8:40 AM Paul Jensen 
<pauljen...@chromium.org<mailto:pauljen...@chromium.org>> wrote:


On Wed, May 15, 2024 at 8:36 AM Yoav Weiss (@Shopify) 
<yoavwe...@chromium.org<mailto:yoavwe...@chromium.org>> wrote:

On Monday, May 6, 2024 at 10:03:16 PM UTC+2 Paul Jensen wrote:
Contact emails

pauljen...@chromium.org<mailto:pauljen...@chromium.org>


Explainer

Protected Audience reporting timeouts: 
https://github.com/WICG/turtledove/pull/1101

Protected Audience multiple-bids: https://github.com/WICG/turtledove/pull/1048


Specification

Protected Audience reporting timeouts: 
https://github.com/WICG/turtledove/pull/1102

Protected Audience multiple-bids: https://github.com/WICG/turtledove/pull/1138


Summary

Protected Audience (PA) reporting timeouts:

After a PA auction finishes selecting an ad and that ad is allowed to start 
rendering, the browser then runs a JavaScript function from the seller(s) and 
winning buyer to assemble reports that are sent back to their servers. These 
functions are currently given 50ms to run, after which they're aborted. We've 
heard feedback from users of the API that 50ms may not be sufficient to 
assemble the reports and may result in broken billing and other basic 
functionality, resulting in lower website revenue.  We’re proposing making the 
timeout configurable up to 5s. (This JavaScript generally runs in a separate 
process, i.e. off the main thread.)

I'm concerned about this timeout, tbh.
It feels very arbitrary and if set by the wrong party, it can create some 
adversarial effects.
Can you expand on why do we need a configurable timeout here, rather than just 
increasing it for everyone?

I think configurability is useful here for a few reasons:

  1.  There are potentially three different variables that may determine the 
optimal setting of this timeout:

     *   Different devices may have different execution performance, so a fixed 
timeout across all devices may be suboptimal.

     *   Different publisher pages may have different execution requirements.  
Some may be sensitive to how much execution time is allowed for these reporting 
scripts, so a fixed timeout across all publisher pages may be suboptimal.

     *   Different auction participants may have different execution 
requirements.  Some may be sensitive to how much execution time is given for 
them to complete execution of their reporting scripts.

  1.  Making it configurable allows callers of the API to experiment and tune 
to find the optimal timeout for particular situations.
  2.  Changing the default timeout could potentially upset ongoing 
experimentation.

If a configurable timeout is indeed needed, am I correct that the timeout would 
be set by the publisher, and its consequences would be felt by the seller?
It’s set by whoever is initiating the auction.  This could be anyone on the 
publisher page, including the publisher or a seller acting on their behalf.

Also, can you expand on "This JavaScript generally runs in a separate process"? 
Where is it run?
On desktop, we use one process to run all bidding and scoring scripts for one 
origin, and that gets used for this reporting step also.  On Android, where 
system resources are more constrained, we use site-isolation’s heuristics to 
pick an appropriate process for each origin’s scripts.



Protected Audience multiple-bids:

Presently buyers participating in PA ad selection auctions are only allowed to 
return one bid per interest group stored on a user's device. This has a couple 
downsides:

  1.  When that one bid does not pass the k-anonymity threshold, the bid 
generation logic must be invoked again which can be slow, potentially doubling 
auction runtime.
  2.  This preferences adtechs that store more interest groups on device as a 
way to get more bids into the auction. Many interest groups on device is 
something we publicly have stated is undesirable: 
https://developers.google.com/privacy-sandbox/relevance/protected-audience-api/latency#fewer_interest_group_owners

To fix this we're allowing bidding scripts to return multiple bids.


Blink component

Blink>InterestGroups<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EInterestGroups>


TAG review

For Protected Audience: https://github.com/w3ctag/design-reviews/issues/723


TAG review status

Completed for Protected Audience, resolved unsatisfied.


RisksInteroperability and Compatibility

Both features represent optional new behavior that shouldn’t break existing 
usage.



Gecko & WebKit: No signal on parent proposal, Protected Audience.  Asked in the 
Mozilla forum here<https://github.com/mozilla/standards-positions/issues/770>, 
and in the Webkit forum 
here<https://github.com/WebKit/standards-positions/issues/158>.



Edge: Edge has announced plans to support the Ad Selection 
API<https://github.com/WICG/privacy-preserving-ads/blob/main/README.md> which 
shares much of its API surface with Protected Audience.

I'd love for the Edge team to review this, if at all possible.
I know it's exceeding the bounds of our process, but given the lack of interest 
in reviewing this from the TAG, Mozilla and Apple, and the ongoing complexity 
of this feature, it's be great to try and get some deep technical review from a 
different browser team.
Sounds like a great idea; we’ve reached out to, and CC'd, Erik Anderson for 
comment.




Web developers:

Protected Audience reporting timeouts: Multiple companies requesting on Github 
issue<https://github.com/WICG/turtledove/issues/959> and WICG meeting though 
notes<https://github.com/WICG/turtledove/blob/main/meetings/2024-02-07-FLEDGE-call-minutes.md#topic-2-reporting-and-top-level-worklet-timeouts-httpsgithubcomwicgturtledoveissues959>
 are missing several comments from others.

Protected Audience multiple-bids: 3+ companies requesting on Github 
issue<https://github.com/WICG/turtledove/issues/595>, discussed in 6 different 
WICG 
meetings<https://github.com/search?q=repo%3AWICG%2Fturtledove+path%3A%2F%5Emeetings%5C%2F%2F+595&type=code>.


Debuggability

PA reporting and bidding scripts are debuggable in DevTools.  Generated bids 
also show up in the Application -> Storage -> Interest Groups DevTools pane.


Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, 
ChromeOS, Android, and Android WebView)?

It will be supported on all platforms that support Protected Audience, so all 
but WebView.


Is this feature fully tested by 
web-platform-tests<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?

We plan to land web-platform-tests for both features shortly.


Flag name on chrome://flags

None


Finch feature name

FledgeReportingTimeout, FledgeMultiBid


Requires code in //chrome?

False


Estimated milestones

Shipping on desktop and Android in M124.


Anticipated spec changes

None


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5095020001755136



This intent message was generated by Chrome Platform 
Status<https://chromestatus.com/>.

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/BY5PR00MB0823537D831A5D4E2C1E6997F4EA2%40BY5PR00MB0823.namprd00.prod.outlook.com.

Reply via email to