Privacy API

Privacy tools for differential privacy, gradient clipping, secure aggregation, and privacy accounting.

Privacy Accountant

Privacy Accountant.

Tracks privacy budget (epsilon, delta) consumption over composition of mechanisms. Supports Basic Composition and Advanced Composition theorems.

class erasus.privacy.accountant.PrivacyAccountant[source]

Bases: object

Tracks (epsilon, delta) usage for unlearning steps.

get_budget(advanced_composition: bool = False, delta_prime: float = 1e-05) Tuple[float, float][source]

Return the total privacy cost (epsilon_global, delta_global).

Parameters:
  • advanced_composition (bool) – If True, uses Dwork’s Advanced Composition Theorem.

  • delta_prime (float) – The slack parameter delta’ used in Advanced Composition.

Return type:

(epsilon_total, delta_total)

step(epsilon: float, delta: float = 0.0, mechanism: str = 'gaussian')[source]

Record a privacy expenditure.

DP Mechanisms

Gradient Clipping

Secure Aggregation

Certificates

Influence Bounds

Usage Example

from erasus.privacy.gradient_clipping import GradientClipper, calibrate_noise
from erasus.privacy.accountant import PrivacyAccountant

# Setup DP
clipper = GradientClipper(max_grad_norm=1.0)
sigma = calibrate_noise(epsilon=1.0, delta=1e-5, sensitivity=0.02)

# Track privacy budget
accountant = PrivacyAccountant()
accountant.step(epsilon=0.2, delta=1e-6)
total_eps, total_delta = accountant.get_budget(advanced_composition=True)