demo · v144

Noise & Budget Simulator

Private Aggregation gave you noisy counts and a daily “contribution budget”. Move the sliders and see what that meant: raw counts, Laplace-noised counts, and how the noise eats your signal at low conversion volumes. Why it’s being removed and what your replacement plain-counts look like.

Private Aggregation is removed in Chrome 144. The replacement is direct first-party reporting plus server-side aggregation — no in-browser DP step, no L1 budget.

privateAggregation worklet API: checking…

simulator inputs

what the report contains

true0
reported0
noise: ± 0 (σ)
budget used: 0%
signal:noise:

what to replace it with

// before (in-browser DP via Private Aggregation, removed)
privateAggregation.contributeToHistogram({ bucket: campaignId, value: 1n });

// after (plain first-party reporting + server-side aggregation)
fetch("/track", {
  method: "POST",
  body: JSON.stringify({ event: "convert", campaign: 42, ts: Date.now() })
});

// server then does its own DP layer if it needs to publish externally:
// noisy_count = real_count + Laplace(scale = sensitivity / epsilon)

see also