Skip to content

Commit

Permalink
Edit redaction rule for reportWin
Browse files Browse the repository at this point in the history
  • Loading branch information
Maks Orlovich committed May 12, 2023
1 parent be324d7 commit 8d31e25
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions FLEDGE.md
Original file line number Diff line number Diff line change
Expand Up @@ -772,9 +772,9 @@ In auctions that involve multiple currencies, there may be values with different

To help deal with this scenario, an optional mode is available that converts all bid-related information to seller's preferred currency (in component auctions, reporting for it is for that component's seller). This is configured via the `sellerCurrency` setting in each auction configuration.

If `sellerCurrency` is not set, all bids are passed as-is. Since passing currency tags around could leak an unacceptable amount of information, the corresponding currency tags (`bidCurrency`, `highestScoringOtherBidCurrency`) are also redacted to `'???'`, with the exception of the winning bid (but not `highestScoringOtherBid`) passed to `reportWin()`.
If `sellerCurrency` is not set, all bids are passed as-is. Since passing currency tags around could leak an unacceptable amount of information, the corresponding currency tags (`bidCurrency`, `highestScoringOtherBidCurrency`) are also redacted to `'???'`, with the exception of the winning bid (but not `highestScoringOtherBid`) passed to `reportWin()`, which gets the entry corresponding to it in `perBuyerCurrencies` if available, or `'???'` otherwise.

If `sellerCurrency` is set, `scoreAd()` for an auction is responsible for converting bids not already in that currency to `sellerCurrency`, via the `incomingBidInSellerCurrency` field of its return value. A bid already explicitly in the seller's currency can not be changed by `incomingBidInSellerCurrency`. If neither the original bid is explicitly in proper currency nor an `incomingBidInSellerCurrency` is specified, the value used for reporting and private aggregation is zero. In this mode, all APIs like event reporting, debug event-level loss reporting, and private aggregation will see the converted values, with the `sellerCurrency` as the appropriate currency tag, except the invocation of `reportWin()` (but not private aggregation triggered off `reportWin()` will once again see its own value and currency for `bid` and `bidCurrency` (but not `highestScoringOtherBid` and `highestScoringOtherBidCurrency`).
If `sellerCurrency` is set, `scoreAd()` for an auction is responsible for converting bids not already in that currency to `sellerCurrency`, via the `incomingBidInSellerCurrency` field of its return value. A bid already explicitly in the seller's currency can not be changed by `incomingBidInSellerCurrency`. If neither the original bid is explicitly in proper currency nor an `incomingBidInSellerCurrency` is specified, the value used for reporting and private aggregation is zero. In this mode, all APIs like event-level reporting, debug event-level loss reporting, and private aggregation will see the converted values, with the `sellerCurrency` as the appropriate currency tag, except the invocation of `reportWin()` (but not private aggregation triggered off `reportWin()`) will once again see its own value for `bid` and its setting in `perBuyerCurrencies` for `bidCurrency` (but not `highestScoringOtherBid` and `highestScoringOtherBidCurrency`, which will still be in `sellerCurrency`, since they may be from a different bidder).

Note that `incomingBidInSellerCurrency` is different from the modified bid returned by a component auction: it represents a mechanical currency translation of the original buyer's bid, rather than the bid the component auction is making in a top-level auction (which could, perhaps, be reduced by the intermediate seller's fee or the like). It can also be specified in top-level auctions, unlike the modified bid.

Expand Down

0 comments on commit 8d31e25

Please sign in to comment.