Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add reach whitepaper #142

Merged
merged 12 commits into from
Jul 12, 2024

Conversation

hidayetaksu
Copy link
Contributor

Add the whitepaper on reach implementation best practices.

@hidayetaksu
Copy link
Contributor Author

This PR adds a white-paper on implementing reach measurement within the Privacy Sandbox, via the Shared Storage and Private Aggregation APIs.

@michalkalisz
Copy link

Thank you for this valuable document. It is not only insightful in the context of reach measurement but also has broader implications for aggregated reporting.

I am curious if you have considered the possibility of interleaving between checking if a report has been sent and marking it as sent.

    const hasReportedContent = (await sharedStorage.get(key)) === 'true';
    (...)
    await sharedStorage.set(key, true);

It seems to me that the ReachMeasurementOperation is not synchronized and may be executed simultaneously on two different worklets, which is quite realistic in the case of impressions (when multiple ads from the same advertiser are displayed on a single page).

Copy link
Collaborator

@alexmturner alexmturner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Generally looks good -- just a few nits :)

reach-whitepaper.md Outdated Show resolved Hide resolved
reach-whitepaper.md Outdated Show resolved Hide resolved
reach-whitepaper.md Outdated Show resolved Hide resolved
reach-whitepaper.md Outdated Show resolved Hide resolved
reach-whitepaper.md Outdated Show resolved Hide resolved
reach-whitepaper.md Outdated Show resolved Hide resolved
reach-whitepaper.md Outdated Show resolved Hide resolved
reach-whitepaper.md Outdated Show resolved Hide resolved
reach-whitepaper.md Outdated Show resolved Hide resolved
reach-whitepaper.md Outdated Show resolved Hide resolved
Copy link
Collaborator

@alexmturner alexmturner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! LGTM

@alexmturner alexmturner merged commit 11c6711 into patcg-individual-drafts:main Jul 12, 2024
@alexmturner
Copy link
Collaborator

@michalkalisz Thanks for your feedback! Definitely hear the concern and agree this could be an issue. We're looking into the options here, but one possibility could be extending the Web Locks API to function within Shared Storage as well. As a mitigation for now, you might be able to track Shared Storage calls on the page and wait for some amount of time between calls to sharedStorage.run(). (This won't completely fix the problem, but might make it rarer.)

Also, wanted to let you know that we've filed issue #153 for tracking feedback on the whitepaper generally in case you had more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants