DP Lib 1.1.2
This patch release only affects the Go DP Library and Privacy on Beam.
This fixes a privacy-impacting bug that only affects ThresholdedResult()
function of dpagg.Count
and pbeam.DistinctPrivacyId()
without public partitions in Privacy on Beam where a conversion of a floating point threshold to an integer threshold caused the mechanism to exhibit a larger delta than specified. For example:
- Calling
ThresholdedResult()
on a Count with(Epsilon: 1.0, Noise: Laplace, MaxPartitionsContributed=1.0)
andthresholdDelta=1e-6
should use a threshold of 14.122363 but instead it used 14.0, which increased thethresholdDelta
to1.130165e-6
. - Similarly, calling
ThresholdedResult()
on a Count with(Epsilon: 2.0, Noise: Laplace, MaxPartitionsContributed=1.0)
andthresholdDelta=1e-4
should use a threshold of 5.258597 but instead it used 5.0, which increased thethresholdDelta
to1.677313e-4
.
See the single commit for more details on the bug & the fix.