agentsclimarketplace

Designing privacy preserving analytics

Skill onfire7777/universal-ai-skills-library/skills/designing-privacy-preserving-analytics

Router-first AI skill system for Codex, Claude, Cursor, Hermes, Paperclip, OpenCode, and local AI stacks: search, preflight-route, and load 1,812 skills on demand without duplicating the corpus.

Install
npx -y skills add onfire7777/universal-ai-skills-library --skill designing-privacy-preserving-analytics

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 13 stars13 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Design privacy-preserving analytics systems using differential privacy, k-anonymity, l-diversity, and t-closeness. Covers privacy budget allocation with epsilon tracking, references Google DP library, OpenDP, and Apple PPML. Includes Python differential privacy implementation for GDPR-compliant statistical analysis.

The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

12.0 KB, as published. Nobody here has run it

Designing Privacy-Preserving Analytics

Overview

Privacy-preserving analytics enables organizations to extract statistical insights from personal data without exposing individual-level information. This directly supports GDPR Article 5(1)(c) (data minimization) and Recital 26 (which exempts truly anonymous data from the regulation). The Article 29 Working Party Opinion 05/2014 on Anonymisation Techniques (WP216) established that effective anonymization must resist singling out, linkability, and inference attacks.

Four primary statistical disclosure control techniques form the foundation of privacy-preserving analytics: differential privacy, k-anonymity, l-diversity, and t-closeness. Each offers different trade-offs between privacy guarantees and data utility.

Statistical Disclosure Control Techniques

Differential Privacy

Differential privacy (Dwork et al., 2006) provides a mathematical guarantee that the output of an analysis is approximately the same whether or not any single individual's data is included. Formally, a randomized mechanism M satisfies (epsilon, delta)-differential privacy if for all datasets D1 and D2 differing in at most one record, and for all sets of outputs S:

P[M(D1) ∈ S] ≤ e^ε × P[M(D2) ∈ S] + δ

Where epsilon (ε) is the privacy loss parameter and delta (δ) bounds the probability of privacy breach.

Privacy Budget Allocation:

Epsilon RangePrivacy LevelTypical Use Cases
0.01 — 0.1Very strongMedical research, genetic data, highly sensitive analytics
0.1 — 1.0StrongGeneral-purpose analytics, demographic analysis
1.0 — 5.0ModerateAggregate business metrics, trend analysis
5.0 — 10.0WeakLow-sensitivity counts, already-public statistics

Key Libraries:

LibraryMaintainerLanguageMechanism Types
Google DP LibraryGoogleC++/Java/GoLaplace, Gaussian, partition selection
OpenDPHarvard IQSS & MicrosoftRust/PythonComposable framework, Laplace, Gaussian, exponential
Apple PPMLAppleSwiftLocal DP, count-mean-sketch, Hadamard response
IBM diffprivlibIBM ResearchPythonScikit-learn compatible, ML with DP
PyDPOpenMinedPython (C++ backend)Python wrapper around Google DP library

k-Anonymity

A dataset satisfies k-anonymity (Sweeney, 2002) if every record is indistinguishable from at least k-1 other records with respect to quasi-identifier attributes. Quasi-identifiers are attributes that could be combined with external data to re-identify individuals (e.g., age, postal code, gender).

Implementation approach:

  1. Identify quasi-identifiers in the dataset
  2. Apply generalization hierarchies (e.g., age 27 → age range 25-30, postal code 8001 → 80**)
  3. Apply suppression for records that cannot achieve k-anonymity through generalization alone
  4. Verify k-value across all equivalence classes

Limitations: k-anonymity does not protect against attribute disclosure when sensitive values within an equivalence class are homogeneous.

l-Diversity

l-Diversity (Machanavajjhala et al., 2007) extends k-anonymity by requiring that each equivalence class contains at least l "well-represented" values of the sensitive attribute. This prevents attribute disclosure attacks.

Variants:

  • Distinct l-diversity: Each equivalence class has at least l distinct sensitive values
  • Entropy l-diversity: Entropy of sensitive values in each class ≥ log(l)
  • Recursive (c,l)-diversity: The most frequent sensitive value appears less than c times the frequency of the least frequent value

t-Closeness

t-Closeness (Li et al., 2007) requires that the distribution of a sensitive attribute in any equivalence class is within distance t of the distribution of the attribute in the entire dataset, measured using Earth Mover's Distance (EMD).

This prevents skewness attacks where an adversary can infer sensitive attributes from the distribution within an equivalence class, even when l-diversity is satisfied.

Privacy Budget Management

Privacy budgets track cumulative privacy loss across multiple queries. Under sequential composition, the total privacy loss is the sum of individual epsilons. Under parallel composition (disjoint subsets), the total privacy loss is the maximum individual epsilon.

Budget Allocation Framework for Prism Data Systems AG:

Analytics FunctionEpsilon AllocationRefresh CadenceJustification
Daily active user counts0.1 per dayDailyLow sensitivity, high frequency
Revenue by region0.5 per quarterQuarterlyMedium sensitivity, aggregate metric
Feature usage patterns0.3 per monthMonthlyUsed for product development under Art. 6(1)(f)
Customer churn analysis0.2 per quarterQuarterlyInvolves behavioral profiling
A/B test results0.1 per experimentPer experimentBinary outcome, low disclosure risk
Total annual budget≤ 8.0Sum across all functions with composition

Budget Exhaustion Protocol:

  1. When 80% of annual budget is consumed, alert the Data Protection Officer
  2. When 95% is consumed, require DPO approval for each additional query
  3. When 100% is consumed, block all further differentially private queries until the next budget period
  4. Emergency queries require joint approval from DPO and Chief Information Security Officer

Architecture Design

┌──────────────────────────────────────────────────────────┐
│                    Analyst Interface                      │
│              (SQL-like query submission)                  │
└──────────────────────┬───────────────────────────────────┘
                       │
┌──────────────────────▼───────────────────────────────────┐
│                 Privacy Gateway                           │
│  ┌─────────────┐  ┌──────────────┐  ┌────────────────┐  │
│  │ Query Parser │  │ Budget Check │  │ Sensitivity    │  │
│  │ & Validator  │  │ (ε tracker)  │  │ Calibration    │  │
│  └──────┬──────┘  └──────┬───────┘  └───────┬────────┘  │
│         └────────────────┼──────────────────┘            │
└──────────────────────────┼───────────────────────────────┘
                           │
┌──────────────────────────▼───────────────────────────────┐
│              Noise Injection Layer                        │
│  ┌──────────────┐  ┌──────────────┐  ┌───────────────┐  │
│  │ Laplace      │  │ Gaussian     │  │ Exponential   │  │
│  │ Mechanism    │  │ Mechanism    │  │ Mechanism     │  │
│  └──────────────┘  └──────────────┘  └───────────────┘  │
└──────────────────────────┬───────────────────────────────┘
                           │
┌──────────────────────────▼───────────────────────────────┐
│              Data Processing Layer                        │
│  ┌─────────────────┐  ┌──────────────────────────────┐   │
│  │ k-Anonymization │  │ Aggregation Engine           │   │
│  │ Pre-processing  │  │ (min group size: 11)         │   │
│  └─────────────────┘  └──────────────────────────────┘   │
└──────────────────────────┬───────────────────────────────┘
                           │
┌──────────────────────────▼───────────────────────────────┐
│              Encrypted Data Store                         │
│         (Field-level AES-256-GCM encrypted)              │
└──────────────────────────────────────────────────────────┘

Implementation Workflow

  1. Classify Analytics Queries — Categorize each analytics use case by sensitivity (direct identifiers accessed, quasi-identifiers combined, sensitive attributes involved) and assign an epsilon budget allocation.

  2. Select Mechanism — Choose the appropriate noise mechanism based on query type: Laplace for counting queries, Gaussian for mean/variance queries requiring (ε,δ)-DP, exponential mechanism for selection queries.

  3. Calibrate Sensitivity — Determine the global sensitivity of each query function (maximum change in output when one record is added or removed). Use bounded sensitivity where possible by clipping input values.

  4. Implement Budget Tracking — Deploy a centralized privacy budget ledger that records every query's epsilon consumption, enforces composition bounds, and blocks queries when the budget is exhausted.

  5. Apply Pre-processing — Where differential privacy alone provides insufficient utility, apply k-anonymity as a pre-processing step to reduce the sensitivity of downstream DP queries.

  6. Validate Output — Verify that released statistics do not violate minimum group sizes (11 records per Prism Data Systems AG policy) and that confidence intervals are reported alongside noised results.

  7. Audit Trail — Log every privacy-preserving query with: timestamp, analyst identity, query hash, epsilon consumed, mechanism used, and cumulative budget remaining.

Key Regulatory References

  • GDPR Article 5(1)(c) — Data minimization principle
  • GDPR Article 5(1)(e) — Storage limitation
  • GDPR Article 25 — Data protection by design and by default
  • GDPR Article 89 — Safeguards for processing for scientific/historical research or statistical purposes
  • GDPR Recital 26 — Scope of anonymous information
  • GDPR Recital 162 — Statistical purposes
  • Article 29 Working Party Opinion 05/2014 on Anonymisation Techniques (WP216)
  • ENISA Report: Pseudonymisation techniques and best practices (November 2019)

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.