← Back to Index

14. Security & Privacy

Data Encryption

Role-Based Access Control (RBAC)

RoleAccess to DataAccess to ModelsAccess to Infra
Data EngineerRaw data, feature store (R/W)Data pipelines
ML EngineerFeature store (R), training dataTrain, register, deployTraining, serving
MLOpsMonitoring (R)Deploy, rollbackAll infra
Data ScientistFeature store (R), predictions (R)View registry
AuditorLogs (R)Registry metadata (R)

Differential Privacy

Adds calibrated noise to training data or model updates to protect individual privacy.

# Differential privacy during gradient descent
epsilon = 8.0   # privacy budget
delta = 1e-5    # failure probability

for batch in dataloader:
    gradients = compute_gradients(batch, model)
    # Clip gradients to limit individual influence
    gradients = clip(gradients, max_norm=1.0)
    # Add noise proportional to epsilon
    noise = gaussian_noise(scale=1.0/epsilon)
    gradients += noise
    optimizer.apply(gradients)

Bias & Fairness

# Fairness monitoring per group
Group          | Approval Rate | False Positive | False Negative
Male (50K)     | 72%           | 3.2%           | 2.1%
Female (45K)   | 71%           | 3.4%           | 1.9%
Other (5K)     | 65%           | 5.1%           | 3.8%  ⚠ Disparity

Action: Investigate data representation for "Other" group

Compliance (GDPR, CCPA, HIPAA)

Exercise: You are building an ML system for a healthcare provider (HIPAA-regulated) that predicts patient readmission risk. Design the security and privacy architecture: a) encryption strategy, b) RBAC roles with read/write permissions, c) differential privacy considerations, d) fairness auditing plan (which groups to monitor), e) how to handle a patient's request to delete their data.