LDP Toolbox: Exploring Utility and Attackability Tradeoffs in Local Differential Privacy
LDP Toolbox is a Python package for analyzing, comparing, and visualizing Local Differential Privacy (LDP) protocols and their trade-offs between utility, privacy, and attackability.
This toolbox provides:
- 📊 Interactive dashboards powered by Dash
- ⚙️ Protocol implementations for frequency estimation tasks
- 🗂️ Visual tools to compare utility loss (e.g., MSE, KL-divergence), attackability, and privacy budget ε
- 📈 Upload your own data to explore privacy-utility trade-offs
🚀 Installation
LDP Toolbox is available on PyPI. Install it with:
pip install ldp-toolbox
⚡ Usage
After installation, you can launch the dashboard in two ways:
✅ Option 1 — Using the CLI (recommended)
Run directly from the terminal:
ldp-toolbox
✅ Option 2 — Using Python module
Alternatively, you can run it as a module:
python -m ldp_toolbox.toolbox.app
Or if you prefer, you can embed the app in your own code:
from ldp_toolbox.toolbox.app import app
if __name__ == "__main__":
app.run(debug=True)
📁 Project Structure
ldp_toolbox/protocols/— Core LDP protocol implementationstoolbox/— Dash front-end app (assets/,pages/,app.py)
Example datasets (data/) are provided in this repository for demonstration and local testing, but are not shipped with the PyPI package.
🤝 Contributing
LDP-Toolbox is a work in progress, and we expect to release new versions frequently, incorporating feedback and code contributions from the community.
- Fork this repo.
- Create a feature branch.
- Submit a pull request.
📬 Contact Authors:
- Haoying Zhang: haoying.zhang [at] inria [dot] fr
- Abhishek K. Mishra: abhishek.mishra [at] inria [dot] fr
- Héber H. Arcolezi: heber.hwang-arcolezi [at] inria [dot] fr
📝 License
This project is licensed under the MIT License.
Metadata
Release files for ldp-toolbox 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ldp_toolbox-0.1.3.tar.gz | 117.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ldp_toolbox-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 238.4 kB
Release files / ldp_toolbox-0.1.3.tar.gz
| Download URL | ldp_toolbox-0.1.3.tar.gz |
|---|---|
| Size | 117.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cee6d445db220d211d46af84b3cd3adef0631c917c53785c981d96b802c268a7
|
|
BLAKE2b-256 checksum How to use checksums |
317f277d8d908840ec5ddfbe70e604ff8062481f2806bf12420d3d6d252bd4e9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.13
|
Release files / ldp_toolbox-0.1.3-py3-none-any.whl
| Download URL | ldp_toolbox-0.1.3-py3-none-any.whl |
|---|---|
| Size | 120.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f84ee48b116200c2e1f32eb1892a4248ae45690d3d3f180a047e27214105c19f
|
|
BLAKE2b-256 checksum How to use checksums |
6dac521b0df70b2d37e139bf25ba786fb3e92859e50887818aadb0d12b05ef2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.13
|