demo · v152
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 152. 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
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)