Skip to content

Latest commit

 

History

History
72 lines (32 loc) · 5.62 KB

key_value_service_contextual_signals_propagation.md

File metadata and controls

72 lines (32 loc) · 5.62 KB

Passing buyer signals from B&A to TKV for PA flow

Overview

For a Protected Audience (PA) auction, we are passing an existing input signal Buyer signals to TEE based Key Value service (TKV) with Bidding and Auction (B&A) version 4.5.0. Starting with that version, Buyer signals can be optionally propagated to the buyer’s TKV in the encrypted payload, i.e. never through cleartext.

The purpose of this document is to explain how this works and how to enable it.

Background

During a PA auction performed using B&A servers, the Buyer Front End (BFE) calls out to the buyer’s TKV. Signals sent to TKV are limited because historically the TKV implementation matched Bring-Your-Own-Server (BYOS) functionality. The signals sent to BYOS are limited to reduce the impact if the service operator uses them to create a user’s cross-site profile.

Now that the TKV implementation can be trusted to protect the user’s data, we are considering what additional signals can be made available in TKV.

BFE has had access to buyer signals, but previously TKV did not. More context on what buyer signals are is available here. See this section for more context on where the buyer signals are coming from. See this section talking about motivation.

Motivation

To select the best ad to show to a user, adtechs can utilize all available data. They also want to make their ad selection decision in the environment that not only has compute, e.g. B&A, but has access to data, i.e. TKV.

To that end we can consider sending more contextual data to the TKV, where adtechs can use that data in their user defined functions (UDFs) along with data from advertiser sites to make improved ad retrieval decisions in an environment that has access to the AdTech's loaded data.

What are buyer signals

Architecture diagram.

The buyer signals field is a free form string. That string has serialized contextual signals corresponding to each buyer in an auction that could help in generating bids. Each buyer is aware of the format in which that string is serialized and can take advantage of it in respective UDFs.

Buyer signals are set by an untrusted Seller Ad Service based on the contextual information available at the time of the B&A SelectAdReqestrequest creation.
buyer signals have a parameter name of perBuyerSignals in generateBid.

Propagation details

Seller's ad server to B&A

As mentioned above, buyer signals are set by an untrusted Seller Ad Service based on the contextual information available at the time of the B&A SelectAdReqestthat is sent to SellerFrontEnd service (SFE).

That means that the perBuyerSignals (contextual signals) need to be available before SFE is called.

SFE then sends that info to BFE.

B&A to buyer's TEE Key/value service

BFE sends that info in the metadata field buyer_signals request. That field is later available in each UDF execution. See the UDF API section in this doc and this proto.

Enabling signals propagation

These signals won’t be propagated by default. By default there is no extra bandwidth or change in behavior.
An Adtech can choose to propagate by enabling a feature flag propagate_buyer_signals_to_tkv in BFE.

Adding buyer signals to the payload is extra bandwidth.

On device

We will add buyer signals propagation support for on device shortly after. We’re planning to update this document with additional details once they are finalized and are ready to be shared.

Feedback

Feedback on this feature is welcome. Please provide it by opening an issue on github.