Skip to content

Commit 618f463

Browse files
Merge pull request #437 from w3c/timg-less-dap-detail
Iterate on the DAP integration
2 parents 49b6fa5 + ab7000d commit 618f463

1 file changed

Lines changed: 19 additions & 14 deletions

File tree

api.bs

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2851,10 +2851,6 @@ given [=validated conversion options=] |options|,
28512851
[=moment=] |now|,
28522852
and a [=list=] of [=integers=] |histogram|:
28532853

2854-
1. Let |field| be Field128,
2855-
as defined in [Section 6.1.3](https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-vdaf-18#section-6.1.3)
2856-
of [[VDAF]].
2857-
28582854
1. Let |length| be the [=list/size=] of |histogram|.
28592855

28602856
1. Let |maxValue| be |options|.[=validated conversion options/max value=].
@@ -2863,7 +2859,7 @@ and a [=list=] of [=integers=] |histogram|:
28632859
rounded to the nearest integer.
28642860

28652861
1. Let |vdaf| be a new PrioL1BoundSum VDAF [[PRIO-L1]] instance,
2866-
passing |field|, |length|, |maxValue|, and |chunkLength|.
2862+
passing |length|, |maxValue|, and |chunkLength|.
28672863

28682864
1. Let |microEpsilon| be |options|.[=validated conversion options/epsilon=]
28692865
multiplied by 1,000,000, then rounded toward positive Infinity.
@@ -2878,14 +2874,14 @@ and a [=list=] of [=integers=] |histogram|:
28782874

28792875
1. An empty `task_info`.
28802876

2881-
1. A `leader_aggregator_endpoint` set to the URL of the DAP Leader,
2877+
1. A `leader_aggregator_endpoint` set to the [=URL serializer|serialized=] URL of the DAP Leader,
28822878
taken from the [=implementation-defined=] definition
28832879
of the selected [=aggregation service=]
28842880
in |options|.[=validated conversion options/Aggregation Service=].
28852881
The encoded value is produced by invoking the [=URL serializer=]
28862882
with the configured URL and `false` (for [=URL serializer/exclude fragment=]).
28872883

2888-
1. A `helper_aggregator_endpoint` set to the URL of the DAP Helper,
2884+
1. A `helper_aggregator_endpoint` set to the [=URL serializer|serialized=] URL of the DAP Helper,
28892885
taken from the [=implementation-defined=] definition
28902886
of the selected [=aggregation service=]
28912887
in |options|.[=validated conversion options/Aggregation Service=],
@@ -2960,14 +2956,17 @@ and a [=list=] of [=integers=] |histogram|:
29602956
obtained for the [=aggregation service=]
29612957
indicated by |options|.[=validated conversion options/Aggregation Service=].
29622958

2963-
<p class=note>The URL for <a enum-value for=AttributionAggregationProtocol>"dap-18-histogram"</a> is expected to identify the DAP Leader role.
2964-
Implementations need to obtain HPKE configuration for both Aggregators statically.
2959+
<p class=note>
2960+
The URL for <a enum-value for=AttributionAggregationProtocol>"dap-18-histogram"</a>
2961+
is expected to identify the DAP Leader role.
2962+
Implementations need to obtain HPKE configuration for both Aggregators statically;
2963+
see [[#unconfigured]].
29652964
The HPKE configuration <span class=allow-2119>must not</span> be fetched on demand,
29662965
as the time that takes will leak information
29672966
to callers of {{Attribution/measureConversion()}}.
29682967

2969-
1. Let |serverRole| be 2 for the first item (the Leader)
2970-
and 3 for the second (the Helper).
2968+
1. Let |serverRole| be a [=byte=] with a value of 2 for the first item (the Leader)
2969+
or 3 for the second (the Helper).
29712970

29722971
1. Let |info| be the [=byte sequence=] formed by concatenating:
29732972
the [=isomorphic encode|encoded=] value of the string `dap-18 input share`,
@@ -2981,7 +2980,7 @@ and a [=list=] of [=integers=] |histogram|:
29812980
an empty set (for `private_extensions`) and |share| (for `payload`),
29822981
following the structure for [`PlaintextInputShare`](https://datatracker.ietf.org/doc/html/draft-ietf-ppm-dap-18#section-4.4.2.1).
29832982

2984-
1. Let |hpke| be an HPKE [[RFC9180]] configuration
2983+
1. Let |hpke| be an HPKE [[RFC9180]] instantiation
29852984
that is based on the same [HPKE configuration](https://datatracker.ietf.org/doc/html/draft-ietf-ppm-dap-18#section-4.4.1).
29862985

29872986
1. Let |encryptedShare| be the result of invoking |hpke|.[`Seal<mode_base>()`](https://hpkewg.github.io/hpke/draft-ietf-hpke-hpke.html#section-6.1),
@@ -2997,6 +2996,12 @@ and a [=list=] of [=integers=] |histogram|:
29972996

29982997
1. Return |report|.
29992998

2999+
<p class=note>
3000+
This algorithm replicates some details of the DAP-related specifications.
3001+
If there is discrepancy between this document and those specifications,
3002+
that is an unintentional error in this document.
3003+
Always follow the referenced specification when interacting with DAP.
3004+
30003005
</div>
30013006

30023007

@@ -3967,8 +3972,8 @@ spec:css-2025; type:dfn; text:user
39673972
"Martin Thomson"
39683973
],
39693974
"title": "Distributed Aggregation Protocol (DAP) Extensions for the Attribution API",
3970-
"date": "2025-01-15",
3971-
"href": "https://datatracker.ietf.org/doc/html/draft-thomson-ppm-dap-attribution-00"
3975+
"date": "2026-02-18",
3976+
"href": "https://datatracker.ietf.org/doc/html/draft-thomson-ppm-dap-attribution-01"
39723977
},
39733978
"dap-taskprov": {
39743979
"authors": [

0 commit comments

Comments
 (0)