From 23a15e358049fc6106fc013d9fd4f646ab48d7bd Mon Sep 17 00:00:00 2001 From: Yao Xiao Date: Wed, 25 Sep 2024 15:19:09 +0000 Subject: [PATCH] Merge pull request #335 from patcg-individual-drafts/yao-per-epoch-intro-delay SHA: e56d8e02a07ef8930c0b9dc69466f0652ec5522e Reason: push, by xyaoinum Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- index.html | 46 ++++++++++++++++++++++++++++++++++------------ 1 file changed, 34 insertions(+), 12 deletions(-) diff --git a/index.html b/index.html index c8a7a44..298be34 100644 --- a/index.html +++ b/index.html @@ -5,9 +5,9 @@ Topics API - + - +

Topics API

-

Unofficial Proposal Draft,

+

Unofficial Proposal Draft,

More details about this document
@@ -1221,7 +1243,7 @@

Let lastEpochTime be epochs[numEpochs − 1]'s time.

  • -

    Let epochSwitchTimeDecisionMessageArray be the concatenation of "epoch-switch-time-decision|" and callerContext’s top level context domain.

    +

    Let epochSwitchTimeDecisionMessageArray be the concatenation of "epoch-switch-time-decision|", lastEpochTime, and callerContext’s top level context domain.

  • Let epochSwitchTimeDecisionHmacOutput be the output of the HMAC algorithm, given input parameters: whichSha=SHA256, key=user agent’s user topics state's hmac key, and message_array=epochSwitchTimeDecisionMessageArray.

  • @@ -1270,7 +1292,7 @@

    Return result.

  • -
    This roughly returns 3 recently calculated epochs, either counting back from the last epoch, or from the second to the last epoch. The decision depends on whether some fixed duration (between 0 and 2 days, sticky to a user agent & site) has passed since the last epoch was calculated. This essentially adds a per-site fixed delay to the epoch switch time, to make it harder to correlate the same user across sites via the time that topics are changed. The HMAC helps to compute the per-site delay on the fly, without needing to store extra data for each site.
    +
    This roughly returns 3 recently calculated epochs, either counting back from the last epoch, or from the second to the last epoch. The decision depends on whether some fixed duration (between 0 and 2 days, sticky to a user agent, site, and the last epoch) has passed since the last epoch was calculated. This essentially adds a per-site per-epoch fixed delay to the epoch switch time, to make it harder to correlate the same user across sites via the time that topics are changed, or via the time interval between two changes. The HMAC helps to compute the per-site per-epoch delay on the fly, without needing to store extra data for each site or epoch.

    12. Get the number of distinct versions in epochs

    To get the number of distinct versions in epochs, given a topics caller context callerContext, perform the following steps. They return an integer.