Skip to content

Commit

Permalink
Merge branch 'main' into tquintanilla-agg-value-filter
Browse files Browse the repository at this point in the history
  • Loading branch information
ThomasQuesadilla committed Jan 31, 2024
2 parents 139c1e5 + 5ec6061 commit 6169620
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 17 deletions.
4 changes: 2 additions & 2 deletions flexible_event_config.md
Original file line number Diff line number Diff line change
Expand Up @@ -439,7 +439,7 @@ We encourage developers to suggest different use cases they may have for this AP

## Privacy considerations

We will publish an [algorithm](https://github.com/WICG/attribution-reporting-api/tree/main/flexible-event) which computes the number of output states for a given source registration. From this we will be able to:
We will publish an [algorithm](https://github.com/WICG/attribution-reporting-api/tree/main/ts#flexible-event) which computes the number of output states for a given source registration. From this we will be able to:

* Compute a randomized response algorithm across the entire output space
* Set the noise level to satisfy a certain epsilon level via a randomized response mechanism
Expand All @@ -453,4 +453,4 @@ Beyond setting noise levels, we will have some parameter limits to avoid large c
* Maximum of 5 possible reporting windows per `trigger_data`
* Maximum of 32 trigger data cardinality (not applicable for Phase 1: Lite Flexible Event-Level)

Be mindful that using extreme values here may result in a large amount of noise, or failure to register if privacy levels ([information gain](https://github.com/WICG/attribution-reporting-api/blob/main/params/chromium-params.md)) are exceeded. The [flexible-event script](https://github.com/WICG/attribution-reporting-api/tree/main/flexible-event) can be used to analyze different configurations that fall within the privacy levels.
Be mindful that using extreme values here may result in a large amount of noise, or failure to register if privacy levels ([information gain](https://github.com/WICG/attribution-reporting-api/blob/main/params/chromium-params.md)) are exceeded. The [flexible-event script](https://github.com/WICG/attribution-reporting-api/tree/main/ts#flexible-event) can be used to analyze different configurations that fall within the privacy levels.
30 changes: 15 additions & 15 deletions index.bs
Original file line number Diff line number Diff line change
Expand Up @@ -2313,7 +2313,7 @@ To <dfn>process an attribution source</dfn> given an [=attribution source=] |sou
1. [=set/Append=] |fakeReport| to the [=event-level report cache=].
1. If |source|'s [=attribution source/randomized response=] is not [=set/is empty|empty=],
then set |source|'s [=attribution source/event-level attributable=] value to false.
1. [=map/iterate|For each=] |destination| in [=source=]'s [=attribution source/attribution destinations=]:
1. [=map/iterate|For each=] |destination| in |source|'s [=attribution source/attribution destinations=]:
1. Let |rateLimitRecord| be a new [=attribution rate-limit record=] with the items:
: [=attribution rate-limit record/scope=]
:: "<code>[=rate-limit scope/attribution=]</code>"
Expand Down Expand Up @@ -2585,9 +2585,9 @@ To <dfn>match [=filter values=] with negation</dfn> given a [=filter value=] |a|
1. If |i| is not [=set/is empty|empty=], then return false.
1. Return true.

To <dfn>match an attribution source's filter data against a filter config</dfn> given an
To <dfn>match an attribution source against a filter config</dfn> given an
[=attribution source=] |source|, a [=filter config=] |filter|, a [=moment=] |moment|, and a [=boolean=]
<dfn for="match an attribution source's filter data against a filter config"><var>isNegated</var></dfn>:
<dfn for="match an attribution source against a filter config"><var>isNegated</var></dfn>:

1. Let |lookbackWindow| be |filter|'s [=filter config/lookback window=].
1. If |lookbackWindow| is not null:
Expand Down Expand Up @@ -2615,22 +2615,22 @@ To <dfn>match an attribution source's filter data against a filter config</dfn>
</dl>
1. Return true.

To <dfn>match an attribution source's filter data against filters</dfn> given an
To <dfn>match an attribution source against filters</dfn> given an
[=attribution source=] |source|, a [=list=] of [=filter configs=] |filters|, a [=moment=] |moment|, and a [=boolean=]
<dfn for="match an attribution source's filter data against filters"><var>isNegated</var></dfn>:
<dfn for="match an attribution source against filters"><var>isNegated</var></dfn>:

1. If |filters| [=list/is empty=], return true.
1. [=list/iterate|For each=] |filter| of |filters|:
1. If the result of running [=match an attribution source's filter data against a filter config=] with |source|, |filter|, |moment|, and |isNegated| is true, return true.
1. If the result of running [=match an attribution source against a filter config=] with |source|, |filter|, |moment|, and |isNegated| is true, return true.
1. Return false.

To <dfn>match an attribution source's filter data against filters and negated filters</dfn> given an
To <dfn>match an attribution source against filters and negated filters</dfn> given an
[=attribution source=] |source|, a [=list=] of [=filter configs=] |filters|, a [=list=] of [=filter configs=] |notFilters|, and a [=moment=] |moment|:

1. If the result of running [=match an attribution source's filter data against filters=] with
|source|, |filters|, |moment|, and [=match an attribution source's filter data against filters/isNegated=] set to false is false, return false.
1. If the result of running [=match an attribution source's filter data against filters=] with
|source|, |notFilters|, |moment|, and [=match an attribution source's filter data against filters/isNegated=] set to true is false, return false.
1. If the result of running [=match an attribution source against filters=] with
|source|, |filters|, |moment|, and [=match an attribution source against filters/isNegated=] set to false is false, return false.
1. If the result of running [=match an attribution source against filters=] with
|source|, |notFilters|, |moment|, and [=match an attribution source against filters/isNegated=] set to true is false, return false.
1. Return true.

<h3 dfn id="should-block-attribution-for-attribution-limit">Should attribution be blocked by attribution rate limit</h3>
Expand Down Expand Up @@ -2715,7 +2715,7 @@ To <dfn>create [=aggregatable contributions=]</dfn> given an [=attribution sourc

1. Let |aggregationKeys| be the result of [=map/clone|cloning=] |source|'s [=attribution source/aggregation keys=].
1. [=list/iterate|For each=] |triggerData| of |trigger|'s [=attribution trigger/aggregatable trigger data=]:
1. If the result of running [=match an attribution source's filter data against filters and negated filters=] with
1. If the result of running [=match an attribution source against filters and negated filters=] with
|source|, |triggerData|'s [=aggregatable trigger data/filters=],
|triggerData|'s [=aggregatable trigger data/negated filters=], and
|trigger|'s [=attribution trigger/trigger time=]
Expand Down Expand Up @@ -2874,7 +2874,7 @@ To <dfn>trigger event-level attribution</dfn> given an [=attribution trigger=] |
1. [=set/iterate|For each=] [=event-level trigger configuration=] |config| of |trigger|'s
[=attribution trigger/event-level trigger configurations=]:
1. If the result of running
[=match an attribution source's filter data against filters and negated filters=] with |sourceToAttribute|,
[=match an attribution source against filters and negated filters=] with |sourceToAttribute|,
|config|'s [=event-level trigger configuration/filters=],
|config|'s [=event-level trigger configuration/negated filters=], and
|trigger|'s [=attribution trigger/trigger time=] is true:
Expand Down Expand Up @@ -2996,7 +2996,7 @@ To <dfn>trigger aggregatable attribution</dfn> given an [=attribution trigger=]
1. [=Assert=]: |windowResult| is <strong>falls within</strong>.
1. Let |matchedDedupKey| be null.
1. [=list/iterate|For each=] [=aggregatable dedup key=] |aggregatableDedupKey| of |trigger|'s [=attribution trigger/aggregatable dedup keys=]:
1. If the result of running [=match an attribution source's filter data against filters and negated filters=]
1. If the result of running [=match an attribution source against filters and negated filters=]
with |sourceToAttribute|, |aggregatableDedupKey|'s [=aggregatable dedup key/filters=],
|aggregatableDedupKey|'s [=aggregatable dedup key/negated filters=], and
|trigger|'s [=attribution trigger/trigger time=] is true:
Expand Down Expand Up @@ -3096,7 +3096,7 @@ To <dfn noexport>trigger attribution</dfn> given an [=attribution trigger=] |tri
1. Return.
1. Let |sourceToAttribute| be |matchingSources|[0].
1. If the result of running
[=match an attribution source's filter data against filters and negated filters=] with
[=match an attribution source against filters and negated filters=] with
|sourceToAttribute|, |trigger|'s [=attribution trigger/filters=],
|trigger|'s [=attribution trigger/negated filters=], and
|trigger|'s [=attribution trigger/trigger time=] is false:
Expand Down

0 comments on commit 6169620

Please sign in to comment.