Skip to content

Commit 23d02d9

Browse files
committed
Bump version
1 parent 2e00ef3 commit 23d02d9

File tree

4 files changed

+7
-16
lines changed

4 files changed

+7
-16
lines changed

Cargo.lock

Lines changed: 1 addition & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "pdslib"
3-
version = "0.2.0"
3+
version = "0.3.0"
44
edition = "2021"
55

66
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
@@ -20,7 +20,6 @@ serde = { version = "1.0", features = ["derive"] }
2020

2121
[dev-dependencies]
2222
log4rs = "1.2"
23-
approx = "0.5"
2423

2524
[profile.release]
2625
debug = true
File renamed without changes.

README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
# Private Data Service Library
22

3-
`pdslib` is a Rust library that implements on-device differential privacy (DP) budgeting for privacy-preserving attribution measurement APIs such as the W3C's [PPA](https://w3c.github.io/ppa/), [Cookie Monster](https://arxiv.org/abs/2405.16719) or [Big Bird](https://arxiv.org/abs/2506.05290). It aims to remain more generic than Web advertising use cases, exposing a relatively abstract interface for: (1) storing events, such as impressions for PPA but also other personal-data-events like locations the user has visited previously, and (2) requesting reports computed based on previously stored events, such as conversion attribution reports for PPA or also whether the user visited a particular location previously.
3+
`pdslib` is a Rust library that implements on-device differential privacy (DP) budgeting for privacy-preserving attribution measurement APIs such as the W3C's [PPA](https://w3c.github.io/ppa/), [Cookie Monster](https://arxiv.org/abs/2405.16719) or [Big Bird](https://arxiv.org/abs/2506.05290). It aims to remain more generic than Web advertising use cases, exposing a relatively abstract interface for:
4+
1. storing events, such as impressions for PPA but also other personal-data-events like locations the user has visited previously, and
5+
2. requesting reports computed based on previously stored events, such as conversion attribution reports for PPA or also whether the user visited a particular location previously.
46

57
## State and versions
68

79
The library is currently under active development and is highly experimental. The most experimental APIs and algorithms, as well as some debugging APIs, are behind an `experimental` feature flag.
810
This repository contains the following releases:
911

10-
- The upcoming [v0.3 - Big Bird](https://github.com/columbia/pdslib/releases) release implements the [Big Bird algorithm](https://arxiv.org/abs/2506.05290).
12+
- The [v0.3 - Big Bird](https://github.com/columbia/pdslib/releases/tag/v0.3) release implements the [Big Bird algorithm](https://arxiv.org/abs/2506.05290).
1113
- Big Bird is an extension to PPA and Cookie Monster that supports and manages privacy budgets for different sites while maintaining global privacy guarantees against colluding sites. Big Bird preserves both user privacy and isolation among queriers competing for privacy budget on user devices.
1214
- This release builds on [Cookie Monster algorithm](https://arxiv.org/abs/2405.16719) for individual privacy loss accounting (Section 3.3 of the linked paper), whose main logic is implemented in [src/pds/accounting.rs](https://github.com/columbia/pdslib/blob/e54c363fcdf3761df63dfb4cb025c5fe92cc571f/src/pds/accounting.rs).
1315
- The Big Bird privacy management layer is mainly implemented in [src/pds/core.rs](https://github.com/columbia/pdslib/blob/e54c363fcdf3761df63dfb4cb025c5fe92cc571f/src/pds/core.rs), with external entrypoints at [src/pds/private_data_service.rs](https://github.com/columbia/pdslib/blob/e54c363fcdf3761df63dfb4cb025c5fe92cc571f/src/pds/private_data_service.rs) and [src/pds/batch_pds.rs](https://github.com/columbia/pdslib/blob/e54c363fcdf3761df63dfb4cb025c5fe92cc571f/src/pds/batch_pds.rs).
14-
- The [v0.2 - Cookie Monster](https://github.com/columbia/pdslib/tree/19eee219404e90b8529138137e3f8430f06a78ee) release is an older release that implements Cookie Monster only.
16+
- The [v0.2 - Cookie Monster](https://github.com/columbia/pdslib/releases/tag/v0.2) release is an older release that implements Cookie Monster only.
1517
- The purpose of this release is to help with understanding of the Cookie Monster algorithm, however please note that because the repository is still very much under development and experimental, we urge that you do not rely on it for implementations of PPA. File [src/pds/epoch_pds.rs](https://github.com/columbia/pdslib/blob/19eee219404e90b8529138137e3f8430f06a78ee/src/pds/epoch_pds.rs) implements the Cookie Monster algorithm.
1618
- A test case that shows how to use the library in the context of PPA Level 1 is in [tests/ppa_workflow.rs](https://github.com/columbia/pdslib/blob/19eee219404e90b8529138137e3f8430f06a78ee/tests/ppa_workflow.rs).
1719
- This version of pdslib implements privacy loss accounting against a single privacy filter (a.k.a., `budget`), for example for a single advertiser. To support multiple privacy filters (such as one per advertiser, as dictated by the Cookie Monster paper and in PPA Level 1), one would instantiate multiple pdslibs. No support is provided in this version for management of these different pdslib instances.

0 commit comments

Comments
 (0)