1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34

content / test / data / attribution_reporting / aggregatable_report_goldens / README.md [blame]

# Attribution Reporting Aggregatable Report Goldens

This directory contains a set of golden files (JSON reports) that are valid
attribution aggregatable reports generated by the Chrome client for server
interoperability testing.

The subdirectory latest/ contains files matching the current implementation,
and files matching old versions' implementations will be archived in
version_{x}/ where {x} represents a specific version string.

Each subdirectory includes a private/public key pair which are base64-encoded
and can be used to encrypt/decrypt the data. See
//third_party/boringssl/src/include/openssl/hpke.h for Hybrid Public Key
Encryption (HPKE).

## Keep files up to date

//content/browser/attribution_reporting/attribution_aggregatable_report_golden_unittest.cc
contains tests that run on the files for latest/ to ensure that the golden
report format matches the format produced by the current implementation
(ignoring randomness like the exact encrypted string).

## Version history

The history of report versions is listed below, with links to past commits of
documentation.

TODO: Replace past explainer links with draft spec when available.

| Version string | Explainer | Payload encryption details | Changes |
| --- | --- | --- | --- |
| "" (empty string) | [link](https://github.com/WICG/attribution-reporting-api/blob/183c9280ae90e9d2bb6638b6caddba3a0b9a14ab/AGGREGATE.md#aggregatable-reports) | [link](https://chromium.googlesource.com/chromium/src/+/a5e25eecdbff820655253de7a489934091aec6b3/content/browser/aggregation_service/payload_encryption.md) | n/a (initial release) |
| "`0.1`" | [link](https://github.com/WICG/attribution-reporting-api/blob/13449ce0a35c3ab0029d869cf69effe59b65807a/AGGREGATE.md#aggregatable-reports) | [link](https://chromium.googlesource.com/chromium/src/+/57a65e032513965829e3ed1c1cd20b39d63d2224/content/browser/aggregation_service/payload_encryption.md) | The `privacy_budget_key` field is removed from `shared_info`; the `attribution_destination`, `source_registration_time` and `source_site` fields are moved from the outer plaintext to inside the `shared_info`; a new `api` field is added to `shared_info`; and the null terminator is removed from the domain separation prefix used to construct the context info (see the payload encryption details link).
| "`1.0`" | [link](https://github.com/WICG/attribution-reporting-api/pull/1290) | An `id` field is added to contributions.