Skip to content

Commit 5dd21bd

Browse files
Update No Duplicate Rule to signify that it is Shared Id that can't appear in more than one job, not the reports. (#1478)
Co-authored-by: Andrew Paseltiner <[email protected]>
1 parent 51fa4ec commit 5dd21bd

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

AGGREGATION_SERVICE_TEE.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ throughout this proposal.
9696
* _Coordinator:_ an entity responsible for key management and aggregatable report
9797
accounting. The coordinator maintains a list of hashes of approved aggregation
9898
service configurations and configures access to decryption keys.
99+
* _Shared ID:_ A unique identifier assigned to a group of reports in combination with [filtering IDs](https://github.com/patcg-individual-drafts/private-aggregation-api/blob/main/flexible_filtering.md#proposal-filtering-id-in-the-encrypted-payload) to prevent overlap between batches of reports. This eliminates the need to track individual reports and allows for efficient privacy budget management at the group level.
99100

100101
## Aggregation workflow
101102

@@ -243,7 +244,7 @@ single aggregation batch (as duplicates) or in multiple batches. Because
243244
of this, the aggregation service enforces a "no duplicates" rule:
244245

245246
* No aggregatable report can appear more than once within a batch.
246-
* No aggregatable report can appear in more than one batch or contribute
247+
* No Shared ID can appear in more than one batch or contribute
247248
to more than one summary report.
248249

249250
The no-duplicates rule is enforced during aggregation. If duplicates are
@@ -254,8 +255,8 @@ found, these batches may be rejected or duplicates may be filtered out.
254255
It is not technically practical to keep track of every single aggregatable
255256
report submitted for aggregation to check for batch disjointness, that is,
256257
that batches are not overlapping. Instead, each aggregatable report will
257-
be assigned a shared ID. This ID is generated from the combined data points: API version, reporting origin, destination site, source registration time and scheduled report time.
258-
These data points come from the report's [shared_info](https://github.com/WICG/attribution-reporting-api/blob/main/AGGREGATE.md#aggregatable-reports) field.
258+
be assigned a shared ID. This ID is generated from the combined data points: API version, reporting origin, destination site, source registration time, scheduled report time, and filtering ID.
259+
These data points come from the report's [shared_info](https://github.com/WICG/attribution-reporting-api/blob/main/AGGREGATE.md#aggregatable-reports) field and from the job parameter in the request.
259260

260261
The aggregation service will enforce that all aggregatable reports with
261262
the same ID must be included in the same batch. Conversely, if more than

0 commit comments

Comments
 (0)