content/browser/aggregation_service/README.md
This directory contains the implementation of the client-side logic for the Aggregation service proposed for the Attribution Reporting API.
Currently, this library's consumers are:
In broad strokes, this library exposes functions built from a few basic operations:
AggregatableReportRequest)
and serializes and encrypts its cleartext payload with the aggregation
service's public key to produce an aggregatable report
(AggregatableReport).
This library automatically fetches the aggregation service server's public key
if a valid key is not already stored on disk. For more information on payload
encryption, see
payload_encryption.md.Consumers can use the following methods of the public interface, defined in
aggregation_service.h.
AggregationService::ScheduleReport()
schedules a report to be assembled and sent after a randomized delay. This is
used for standard Private Aggregation
reports.AggregationService::AssembleAndSendReport()
assembles and sends a report immediately. This is used for Private
Aggregation duplicate debug
reports.AggregationService::AssembleReport()
just assembles a report. This is used for Attribution Reporting aggregatable
reports.
Note that this consumer implements their own scheduling and sending logic.PrivacySandbox.AggregationService.ScheduledRequests contains histograms that
pertain to requests created by ScheduleReport().PrivacySandbox.AggregationService.UnscheduledRequests contains histograms
that pertain to requests created by AssembleAndSendReport().A command-line tool that generates aggregatable reports for testing is available. Please see //tools/aggregation_service's README for more detail
TODO: Expand this README.