Privacy-Preserving Attestations

Techniques for attesting to data properties without revealing sensitive information.

The Privacy Challenge

Data attestations must balance transparency with confidentiality. Provenance metadata could inadvertently leak:

  • Business metrics — Record counts revealing transaction volumes
  • Data structure — Schema details exposing internal systems
  • Source identity — Revealing sensitive partnerships
  • Processing logic — Transform parameters as trade secrets

Makoto Levels (DPL) provides privacy-preserving techniques to address these concerns.

Commitment Schemes

Attest to a cryptographic commitment that can be revealed later if needed.

Secret Value + Salt sha256: abc123... Reveal salt later to prove original value
"origin": {
  "source_commitment": "sha256:abc...",
  "reveal_policy": "audit_only",
  "commitment_algorithm": "sha256"
}

Use Case

Prove you received data from a specific source during an audit, without publicly exposing your data partnerships.

Zero-Knowledge Proofs

Prove properties about data without revealing the data itself.

1,847,293 records (hidden) ZK "count >= 1M" verifiable proof (public)
"zkProof": {
  "statement": "recordCount >= 1000000",
  "proof": "groth16:xyz...",
  "verifier": "https://makoto.dev/zk/v1",
  "circuit": "range-proof-v1"
}

Use Case

Prove your ML training dataset has sufficient samples for regulatory compliance, without exposing exact counts to competitors.

Differential Privacy for Aggregates

Add calibrated noise to aggregate statistics to prevent individual record inference.

1,234,567 exact + Laplace noise 1M - 2M range Privacy budget: epsilon = 0.1
"aggregates": {
  "record_count_range": "1M-2M",
  "epsilon": 0.1,
  "mechanism": "laplace",
  "sensitivity": 1
}

Use Case

Share dataset statistics with partners while preventing them from inferring whether a specific individual is in the dataset.

Redacted Attestations

Create attestations with selectively redactable fields using Merkle trees.

Full Attestation source: api.bank.com geography: US-WEST consent: contractual (internal use) Redacted source: [REDACTED] geography: [REDACTED] consent: contractual (external sharing)
"redaction": {
  "scheme": "merkle-redaction",
  "redacted_fields": ["source", "geography"],
  "root_hash": "sha256:full_tree_root",
  "redacted_proofs": { /* merkle proofs */ }
}

Use Case

Share attestations with external auditors while redacting confidential source and geography details. Auditors can still verify the non-redacted fields are authentic.

Privacy Guarantee Attestation

Attest that data meets k-anonymity, l-diversity, or other privacy guarantees.

k-Anonymity (k=5) Each quasi-identifier combination appears at least k times Age: 30-40 Zip: 941** 5+ records Age: 40-50 Zip: 941** 5+ records Age: 50-60 Zip: 941** 5+ records
"privacyGuarantees": {
  "kAnonymity": 5,
  "lDiversity": 3,
  "quasiIdentifiers": ["age_range", "zip_prefix"],
  "certifiedBy": "platform",
  "verificationMethod": "exhaustive"
}

Use Case

Prove your anonymized dataset cannot be used to re-identify individuals, meeting GDPR and HIPAA requirements.