Hey Richa, thanks for prototyping this feature. I support landing a
prototype in Chromium and would be happy to help if y’all need code
reviews, etc. FYI I also posted a Chrome position on this proposal on the
IPA repo here <https://github.com/patcg-individual-drafts/ipa/issues/59>
with some of our concerns with the proposal, and we’re happy to discuss
them further in the PATCG with you and the rest of the team.

Note: Chrome still plans to ship the Attribution Reporting API
<https://github.com/WICG/attribution-reporting-api> as explained in this
document
<https://developer.chrome.com/docs/privacy-sandbox/attribution-reporting/chrome-shipping>.
Prototyping new experimental APIs in Chromium is part of the community
development process and doesn't change Chrome's plans for ARA.

Best,
Charlie

On Fri, Mar 3, 2023 at 9:58 AM Richa Jain <ric...@meta.com> wrote:

> Contact emails
>
> ric...@meta.com <richajain....@gmail.com> (Richa Jain, Meta)
>
> btsav...@meta.com (Ben Savage, Meta)
>
>
> Explainer
>
> https://github.com/patcg-individual-drafts/ipa/blob/main/IPA-End-to-End.md
>
>
> Specification
>
> Under development at https://github.com/patcg-individual-drafts/ipa
>
>
> Design Doc One-Pager
>
>
> https://docs.google.com/document/d/1LBv-Sg84jyq3Em474kgEbOaJ1GY6XsQKj6TlAlnIkyw/
>
>
> Summary
>
> Interoperable Private Attribution (IPA) is an API for privacy-preserving
> advertising attribution. Attribution means counting the number of
> "conversions", for example purchases, that follow an ad interaction, for
> example viewing an ad. IPA preserves privacy by using cryptography and a
> network of helper parties who are trusted not to collude or be collectively
> coerced. See https://github.com/patcg-individual-drafts/ipa
> <https://github.com/patcg-individual-drafts/ipa>
>
>
> Blink component
>
> Blink > Attribution
>
>
> Motivation
>
> Advertising provides critical support for the web. Interoperable Private
> Attribution (IPA) enables advertisers to measure how their advertising
> campaigns are performing without relying on signals which identify specific
> individuals. In IPA, the user agent protects user identity using
> cryptography which is split across a network of helper parties. The helper
> parties are trusted not to collude or be collectively coerced. See also
>
>
> https://blog.mozilla.org/en/mozilla/privacy-preserving-attribution-for-advertising/
>
>
>
> One of the things we hope to learn by prototyping and conducting
> experiments, is how much the advertising industry is able to work with
> noisy data. Most ad reporting systems today do not add random noise to
> ensure a differential privacy guarantee, or limit the number of breakdowns
> according to a “privacy budget”. This will likely be a difficult
> transition. We hope to collect feedback to help us iterate on the
> techniques for adding random noise, to try to find an optimal balance of
> privacy and utility.
>
>
> Initial public proposal
>
>
> https://docs.google.com/document/d/1KpdSKD8-Rn0bWPTu4UtK54ks0yv2j22pA5SrAD9av4s/edit
>
>
> TAG review
>
> Pending. Issue can be found here
> <https://github.com/w3ctag/design-reviews/issues/823>
>
>
> TAG review status
>
> Pending
>
>
> Risks
>
> In the IPA proposal, a user-agent stores a user identifier (the “match
> key”) and processes it in response to API calls from any secure origin, 
> *including
> cross-site origins.* Match keys do not follow the modern patterns of site
> isolation in web browsers, because while write permissions are partitioned
> by site, the ability to access an encrypted secret-sharing of the match key
> is available to all secure origins. We believe that the restrictions on
> the use of match keys are sufficient because the value returned by the
> API is a per-origin encryption of shares of the match key.  It would take
> at least two trusted helper parties (see the “Threat Model
> <https://github.com/patcg/docs-and-reports/tree/main/threat-model>”
> document the PAT-CG has put together for details) to decrypt the shares and
> then collude with one another to recover the underlying identifier.
>
>
>
> In our initial prototyping, we intend to make this feature off by default.
> Developers can turn it on manually for testing.
>
>
> Interoperability and Compatibility
>
> IPA has two fundamental operations: setMatchKey, which sets a user
> identifier, and getEncryptedMatchKey, which retrieves an encrypted match
> key. To preserve user privacy, the side effects of setting a match key are
> unobservable to sites except in aggregate. This means the API could be
> effectively disabled, even on a per-person basis, by making setMatchKey a
> no-op. In addition, getEncryptedMatchKey uses a lazily resolved Promise so
> the API could be disabled, or return random data, with no compatibility
> impact for sites.
>
>
>
> *Gecko*: Pending. Issue can be found here
> <https://github.com/mozilla/standards-positions/issues/753>
>
>
>
> *WebKit*: Pending. Issue can be found here
> <https://github.com/WebKit/standards-positions/issues/142>
>
>
>
> *Web developers*: IPA has been covered by several blog posts and websites
> e.g. here
> <https://www.adweek.com/programmatic/ipa-the-meta-and-mozilla-attribution-framework-gains-traction-at-the-w3c-conference/>
>  and here
> <https://stratechery.com/2022/an-interview-with-eric-seufert-about-the-post-att-landscape/>.
> An anonymous survey of participants in the “Private Advertising Technology
> Community Group” (link
> <https://docs.google.com/document/d/1bydwuN0_K2anOZV41xNJn1Kt0vt9WPOkf56ESnmQ5_A/edit?usp=sharing>)
> shows strong preference for the architectural decisions and capabilities of
> IPA. Let us know if we need to provide more signals to showcase the support.
>
>
> WebView application risks
>
> There may be changes to WebView behaviour. We are still discussing the
> issue here <https://github.com/patcg-individual-drafts/ipa/pull/41>.
>
>
> Debuggability
>
> We plan to extend DevTools’ storage model to indicate whether an identity
> provider has a match key set and let developers clear a match key without
> clearing all site data; to inspect helper networks, their keys, and the
> epoch clock. These are useful when developing and debugging IPA.
>
>
> Is this feature fully tested by web-platform-tests
> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
> ?
>
> No, but we plan to submit tests to WPT. We might need to extend WPT
> browser hooks to interact with IPA storage.
>
>
> Flag name
>
> Blink feature, interoperable-private-attribution.
>
>
> Requires code in //chrome?
>
> True
>
>
> Tracking bug
>
> https://bugs.chromium.org/p/chromium/issues/detail?id=1404067
>
>
> Estimated milestones
>
> No milestones specified
>
>
> Link to entry on the Chrome Platform Status
>
> https://chromestatus.com/feature/4855434349903872
>
>
>
> 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/CADjAqN4RDJspXgEWNkq-pfdFzanA7K7z70RB5Gsku2wXF9eFow%40mail.gmail.com.

Reply via email to