Hi everyone, Re: Ad Selection API and how it relates to Protect Audience API. As we’ve discussed in various forums, while there are important differences in our proposal vs. Bidding & Auction Services, we have a general goal to minimize the amount of work a developer needs to do in order to target both APIs. As a result, yes, the APIs are currently very closely aligned and we will proactively raise concerns via the associated GitHub repos and public calls if/where we think that is no longer possible. At the same time, there is one very large difference: the cloud TEE provider matrix. Microsoft is continuing to listen to feedback from the ecosystem about cloud execution environments for these TEE-based APIs. Our preview of the Ad Selection API currently supports Azure while Bidding & Auction Services supports AWS and GCP. My understanding is that the Azure team has been talking with the Bidding & Auction Services team for approximately the past year in the hopes of getting onboarded as a cloud provider. The Azure team believes they have met all of the criteria defined by Google for supporting public clouds and is actively maintaining a fork that includes Azure support. While that conversation is ongoing, we are deeply concerned that there is still no concrete timeline for support. Furthermore, Azure support is now being coupled to other longer-term milestones in the design of B&A. As a result, the Microsoft Ads team has been unable to broadly test this API in large part due to the dependency on Azure support. The Microsoft Azure team is open to feedback about how they can help accelerate things. Re: the request and response encoding in Ad Selection API. Yes, Ad Selection API leverages the same encryption as Bidding & Auction services. Re: the location and format of the coordinator keys that Chrome fetches. From a client browser perspective, it looks the same—Microsoft Edge provides a public key endpoint and uses the same key list schema. On the key management service side, Azure’s implementation looks a little different than what I believe you’re doing with AWS and GCP, but I believe that detail is out of scope here. Thanks, Erik
From: Yoav Weiss (@Shopify) <yoavwe...@chromium.org> Sent: Wednesday, October 30, 2024 3:10 AM To: blink-dev <blink-dev@chromium.org> Cc: Mike Taylor <miketa...@chromium.org>; blink-dev <blink-dev@chromium.org>; Manny Isu <manny...@google.com>; beham...@google.com <behamil...@google.com>; Yoav Weiss <yoavwe...@chromium.org>; Erik Anderson <erik.ander...@microsoft.com>; Paul Jensen <pauljen...@chromium.org> Subject: Re: [blink-dev] Intent to Ship: Protected Audience Bidding & Auction Services LGTM2 On Tuesday, October 29, 2024 at 7:27:52 PM UTC+1 Mike Taylor wrote: Thanks - LGTM1 On 10/29/24 10:33 AM, Paul Jensen wrote: On a related note, we requested a TAG review of Bidding and Auction Services here<https://github.com/w3ctag/design-reviews/issues/1009>, and updated our standards-positions-asks to mention Bidding and Auction Services here<https://github.com/WebKit/standards-positions/issues/158#issuecomment-2432121278> and here<https://github.com/mozilla/standards-positions/issues/770#issuecomment-2432124085>. On Wed, Oct 23, 2024 at 12:29 PM Paul Jensen <pauljen...@chromium.org<mailto:pauljen...@chromium.org>> wrote: Erik, Edge recently started an Origin Trial for the Ad Selection API<https://blogs.windows.com/msedgedev/2024/10/08/ad-selection-api-limited-preview/>, and I had three questions about its compatibility with Protected Audience Bidding & Auction Services: 1. The Ad Selection API details<https://github.com/WICG/privacy-preserving-ads/blob/main/API%20Details.md> says it “aims to maximize syntactic compatibility with the Protected Audience API”. Can you confirm that the Ad Selection API uses nearly the same web API as specified in the Protected Audience API specification<https://wicg.github.io/turtledove/>? 2. Is the Ad Selection API also using similar request and response encoding and encryption as specified in the Bidding and Auction Services specification<https://privacysandbox.github.io/draft-ietf-bidding-and-auction-services/draft-ietf-bidding-and-auction-services.html>? 3. We recently posted the location and format of the coordinator keys that Chrome fetches<https://github.com/WICG/turtledove/pull/1309/files>. Does the Ad Selection API use a similar mechanism? On Fri, Oct 18, 2024 at 4:09 PM Paul Jensen <pauljen...@chromium.org<mailto:pauljen...@chromium.org>> wrote: Yoav, our IETF service spec repository<https://github.com/privacysandbox/draft-ietf-bidding-and-auction-services> is already public and we verified anyone can file issues there. We also verified with more experienced standardization folks that its IPR settings look right. On Wed, Oct 16, 2024 at 10:23 AM Yoav Weiss (@Shopify) <yoavwe...@chromium.org<mailto:yoavwe...@chromium.org>> wrote: On Wednesday, October 16, 2024 at 4:00:00 PM UTC+2 Mike Taylor wrote: On 10/7/24 10:30 AM, 'Russ Hamilton' via blink-dev wrote: Contact emails pauljen...@chromium.org<mailto:pauljen...@chromium.org>, behamil...@google.com<mailto:behamil...@google.com> Explainer Chrome: https://github.com/WICG/turtledove/blob/main/FLEDGE_browser_bidding_and_auction_API.md Thanks - this was helpful to read. Services: https://github.com/privacysandbox/fledge-docs/blob/main/bidding_auction_services_api.md Given that this service spec defines the protocols browsers and services would need to implement, could you move this to a more public venue? (where non-Google employees can comment, and files issues and PRs) Specification The web platform portion of the specification (navigator.getInterestGroupAdAuctionData() and the server response changes to navigator.runAdAuction()) is part of the Protected Audience spec<https://wicg.github.io/turtledove/>. The interface to the Bidding & Auction Services endpoint is described in https://privacysandbox.github.io/draft-ietf-bidding-and-auction-services/draft-ietf-bidding-and-auction-services.html Summary The Protected Audience API (formerly known as FLEDGE) is a Privacy Sandbox proposal to serve remarketing and custom audience use cases, designed so third parties cannot track user browsing behavior across sites. This proposal, the Protected Audience Bidding & Auction Services API, outlines a way to allow Protected Audience computation to take place on cloud servers in a Trusted Execution Environment (TEE), rather than running locally on a user's device. Moving computations to cloud servers can help optimize the Protected Audience auction, to free up computational cycles and network bandwidth for a device. 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. Risks Interoperability and Compatibility None. This is an optional new feature of the Protected Audience API. Ad techs can use this new feature by calling navigator.getInterestGroupAdAuctionData() and specifying values for new fields in the auction config. Without invoking the new function or explicit values for those new fields, there's no functional behavioral change as a result of this feature. 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: Microsoft has proposed their Ad Selection API<https://github.com/WICG/privacy-preserving-ads/tree/main> as a similar TEE on-server auction API. That API looks like it would have a near identical Web Platform API as the Bidding and Auction Services API. We have biweekly meetings with Microsoft, and are open to collaborating on specifying the API. Can you elaborate more on "near identical"? Would it be possible to have an interoperable server-bidding API between the two proposals in the near term? Web developers: Extensive interest in this feature from adtechs, evidenced by the myriad of discussions on Protected Audience’s issue tracker<https://github.com/WICG/turtledove/issues>, Protected Audience’s weekly WICG calls<https://github.com/WICG/turtledove/issues/88>, and the Protected Auction Services WICG calls<https://github.com/WICG/protected-auction-services-discussion/issues/27>. Debuggability On-device API surfaces should be debuggable in Chrome DevTools, and we’ve added extensive mechanisms for debugging<https://github.com/privacysandbox/fledge-docs/blob/main/debugging_protected_audience_api_services.md> Bidding and Auction services<https://github.com/privacysandbox/protected-auction-services-docs/blob/main/bidding_auction_services_api.md#related-documents>. Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, 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>? Lots of<https://github.com/web-platform-tests/wpt/blob/master/fledge/tentative/get-interest-group-auction-data.https.window.js> WPT tests<https://github.com/web-platform-tests/wpt/blob/master/fledge/tentative/server-response.https.window.js>. Remaining test coverage to be completed soon. Can you comment on what tests (or types of tests) are missing, and when you expect them to be done? Flag name on chrome://flags Overall control is not possible via chrome://flags, though the consented debugging support<https://github.com/privacysandbox/fledge-docs/blob/main/debugging_protected_audience_api_services.md#adtech-consented-debugging> is controlled via chrome://flags/#protected-audience-debug-token Finch feature name FledgeBiddingAndAuctionServer Requires code in //chrome? Only for UI for the consented debugging support<https://github.com/privacysandbox/fledge-docs/blob/main/debugging_protected_audience_api_services.md#adtech-consented-debugging>. Just the chrome://flags UI, right? Or is there some other debugging UI that gets enabled when flipping that on? Anticipated spec changes No web-visible changes expected. Just to confirm, you're adding a new web-visible API (and have specced that) but are not changing any other PA APIs, correct? Estimated milestones Shipping to all applicable platforms in M130. Link to entry on the Chrome Platform Status https://chromestatus.com/feature/4649601971257344 Links to previous Intent discussions Intent to prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABQTWrnSdvf7RgK2wxsmC6rWc8eRoqDZOvgwVFuEx1r2nqmAJg%40mail.gmail.com Intent to Experiment: https://groups.google.com/a/chromium.org/g/blink-dev/c/2bwMHd3Yz7I<https://groups.google.com/a/chromium.org/g/blink-dev/c/2bwMHd3Yz7I/m/BwMKwPP6GQAJ> Intent to Extend Experiment: https://groups.google.com/a/chromium.org/g/blink-dev/c/2bwMHd3Yz7I/m/xaJHFJ_uAAAJ Intent to Extend Experiment 2: https://groups.google.com/a/chromium.org/g/blink-dev/c/2bwMHd3Yz7I/m/RigQFZilAgAJ -- 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<mailto:blink-dev+unsubscr...@chromium.org>. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAAG-DU3H_eSNfb7gzNn-OTbdvqsatiZMP53m1pN_3TpyNrzoeA%40mail.gmail.com<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAAG-DU3H_eSNfb7gzNn-OTbdvqsatiZMP53m1pN_3TpyNrzoeA%40mail.gmail.com?utm_medium=email&utm_source=footer>. -- 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 visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/DM6PR00MB08301CD1C098A6213FD5B8DDF4552%40DM6PR00MB0830.namprd00.prod.outlook.com.