Skip to content
New issue

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

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

Already on GitHub? # to your account

Remove aggregatable report limit when trigger context ID is non-null #1475

Merged
merged 7 commits into from
Jan 10, 2025
3 changes: 3 additions & 0 deletions AGGREGATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -505,6 +505,9 @@ As the trigger context ID in the aggregatable report explicitly reveals the
association between the report and the trigger, these reports can be sent
immediately without delay.

When a trigger context ID is provided, the aggregatable report will not count
towards the limit of aggregatable reports per source, nor be limited by it.

Note: This is an [alternative](https://github.com/WICG/attribution-reporting-api/blob/main/report_verification.md#could-we-just-tag-reports-with-a-trigger_id-instead-of-using-anonymous-tokens)
considered for [report verification](https://github.com/WICG/attribution-reporting-api/blob/main/report_verification.md),
and achieves all of the higher priority [security goals](https://github.com/WICG/attribution-reporting-api/blob/main/report_verification.md#security-goals).
Expand Down
6 changes: 3 additions & 3 deletions index.bs
Original file line number Diff line number Diff line change
Expand Up @@ -4274,7 +4274,7 @@ To <dfn>trigger aggregatable attribution</dfn> given an [=attribution trigger=]
1. If the result of running [=check if attribution should be blocked by rate limits=]
with |trigger|, |sourceToAttribute|, and |rateLimitRecord| is not null,
return it.
1. If |sourceToAttribute|'s [=attribution source/number of aggregatable attribution reports=] value is equal to [=max aggregatable reports per source=][0], then:
1. If |sourceToAttribute|'s [=attribution source/number of aggregatable attribution reports=] value is equal to [=max aggregatable reports per source=][0] and |trigger|'s [=attribution trigger/trigger context ID=] is null, then:
1. Return the [=triggering result=] ("<code>[=triggering status/dropped=]</code>",
("<code>[=trigger debug data type/trigger-aggregate-excessive-reports=]</code>", null)).
1. If the result of running [=check if an attribution source can create aggregatable contributions=]
Expand All @@ -4287,14 +4287,14 @@ To <dfn>trigger aggregatable attribution</dfn> given an [=attribution trigger=]
1. Return the [=triggering result=] ("<code>[=triggering status/dropped=]</code>",
("<code>[=trigger debug data type/trigger-aggregate-insufficient-named-budget=]</code>", null)).
1. [=set/Append=] |report| to the [=aggregatable attribution report cache=].
1. Increment |sourceToAttribute|'s [=attribution source/number of aggregatable attribution reports=] value by 1.
1. If |trigger|'s [=attribution trigger/trigger context ID=] is null, increment |sourceToAttribute|'s [=attribution source/number of aggregatable attribution reports=] value by 1.
1. Decrement |sourceToAttribute|'s [=attribution source/remaining aggregatable attribution budget=] value by
|report|'s [=aggregatable attribution report/required aggregatable budget=].
1. If |matchedBudgetName| is not null and |sourceToAttribute|'s [=attribution source/remaining named budgets=][|matchedBudgetName|] [=map/exists=]:
1. Decrement |sourceToAttribute|'s [=attribution source/remaining named budgets=][|matchedBudgetName|] value by
|report|'s [=aggregatable attribution report/required aggregatable budget=].
1. If |matchedDedupKey| is not null, [=list/append=] it to |sourceToAttribute|'s [=attribution source/aggregatable dedup keys=].
1. [=set/Append=] |rateLimitRecord| to the [=attribution rate-limit cache=].
1. If |trigger|'s [=attribution trigger/trigger context ID=] is null, [=set/append=] |rateLimitRecord| to the [=attribution rate-limit cache=].
1. Run [=generate null attribution reports=] with |trigger| and |report|.
1. If the result of [=checking if attribution debugging can be enabled=]
with |report|'s [=aggregatable attribution report/attribution debug info=] is true,
Expand Down
Loading