πŸ”’ miTch β€” The Forgetting Layer

Privacy Middleware for National Identity Wallets
miTch is not a replacement for national ID systems β€” it's the privacy & policy layer that sits between them and the services requesting your data.
πŸ‡ͺπŸ‡Ί EUDI Wallet πŸ‡¦πŸ‡Ή ID Austria πŸ‡©πŸ‡ͺ Smart-eID πŸ‡«πŸ‡· CNIe / France IdentitΓ© πŸ‡¬πŸ‡§ GOV.UK Wallet πŸ‡¨πŸ‡­ E-ID πŸ‡³πŸ‡΄ πŸ‡ΈπŸ‡ͺ Nordic eID eIDAS 2.0 πŸ‡ͺπŸ‡Ί EHDS (EU) 2025/327 ISO 18013-5
βœ… Art. 25 Privacy by Design βœ… Art. 17 Right to Erasure βœ… Art. 5 Data Minimization βœ… Art. 7 Consent βœ… Art. 30 Processing Records βœ… Art. 32 Security βœ… CIR 82%
The Problem

Your data builds a picture of you.
You're the only one who can't see it.

Every institution that processes data about you has a complete profile. They score you, model you, and make decisions about you. You have no view into what they see β€” until now.

🏦 What your bank sees
  • Spending patterns β†’ inferred lifestyle & habits
  • Income fluctuations β†’ financial stress score
  • Donation history β†’ inferred beliefs
  • Location patterns β†’ where you live, work, travel
  • Credit risk score, updated continuously
πŸ₯ What your insurer sees
  • Pharmacy purchases β†’ inferred health conditions
  • Fitness data β†’ activity, sleep & stress profile
  • BMI trend β†’ projected healthcare costs
  • Behavioural patterns β†’ mental health indicators
  • Lifetime risk score, never shown to you
πŸ‘€ What you see
Nothing.

You generate the data. Institutions accumulate it. You have no view into the picture they've built about you.

miTch is a blind intermediary β€” we never see your data, and neither does the verifier until you decide what to share. miTch structurally cannot store, access, or retain any personal data. This is an architectural guarantee, not a policy promise.
Simplicity by Design

How It Works

Four steps to absolute privacy. No magic, just solid engineering and modern cryptography.

πŸ›οΈ

1. Issuer

National ID system signs your data. miTch prepares selective proofs.

β†’
πŸ“±

2. Wallet

Your device stores the credentials. Raw data is shredded after signing.

β†’
βš–οΈ

3. Policy Engine

miTch filters the request. You see exactly what is shared and why.

β†’
πŸͺ

4. Verifier

Service receives only the proof (e.g., "Over 18: Yes"). No name, no ID shared.

Live Demo

Verifier asks. miTch filters. You decide.

Four concrete scenarios β€” same mechanics. Click through each step and see exactly what is shared, what is blocked, and why.

1
Request
2
Analysis
3
Proof
4
Result
β‘  Verifier Request
ExampleAds GmbH wants to verify you
🎯 ExampleAds GmbH Trust 91/100
did:mitch:exampleads-gmbh-at Β· OID4VP 1.0 Β· Registered AT-DSA
Was wird angefragt?
age_thresholdβ‰₯ 18🟒 Predicate
region_matchEU / EEA🟒 Predicate
humanity_proofverified🟒 Predicate
frequency_cap5 / day🟒 Rate Limit

This request is transmitted as an OID4VP Presentation Request. No direct data access is possible.

β‘‘ miTch Analysis
What does the verifier get β€” and what not?
Shared attributes (minimal proof)
age β‰₯ 18true/false, no age🟒 Low
region: EUyes/no, no country🟒 Low
humanityverified🟒 Low
Structurally not shareable
Last Name, First NameNOT IN PREDICATE
Date of BirthNOT IN PREDICATE
IP-AdresseSTRUCTURAL IMPOSSIBILITY
Browsing HistorySTRUCTURAL IMPOSSIBILITY
⚠ Inference-Risiko: 🟑 Medium
With Age β‰₯ 18 + Region EU + timestamp, the verifier can form a rough demographic cluster. Your exact age, country, or profile remains unknown. The budget signal is quantized into 1,920 slots β€” no continuous fingerprinting is possible.
Your Ad-Preferences (remain local)
Max. Impressions/Tag5
Quiet Period22:00–07:00
Blocked CategoriesIAB-7 (Health), IAB-14 (Religion)
β‘’ Proof Generation
Nullifier + Budget signal are generated

The nullifier is deterministic: SHA-256(user_seed β€– verifier_did β€– scope_id). Two verifiers with the same scope receive different nullifiers β€” no cross-verifier tracking is possible.

β€” Not yet generated β€”
β‘£ Result
What does the verifier see β€” vs. what does the user see?
πŸ”΄ Verifier sees
age_gte_18:true
region_eu:true
humanity:verified
nullifier:H(…4f2a)
budget_slot:847 / 1920
name:β€”
dob:β€”
ip_address:impossible
🟒 You see (Wallet)
Verifier:ExampleAds GmbH
Time:β€”
Shared:3 predicates
Blocked:4 fields
Budget:4 / 5 remaining
Basis:GDPR Art. 6(1)(a)
Receipt:consent-…3c9f
Sybil Prevention: The same nullifier for ExampleAds + campaign-summer25 can only be used once per frequency window. 100 fake accounts β†’ 100 different nullifiers, but each is tracked by the verifier and blocked once the limit is reached.
1 / 4
1
Request
2
Analysis
3
Proof
4
Overreach
β‘  Verifier Request
IVB Innsbruck asks: Are you a student?
🚌 IVB Innsbruck β€” Studententicket Trust 88/100
did:mitch:ivb-innsbruck Β· Registered AT-DSA Β· Tirol
Was wird angefragt?
student_statusis_student: true/false🟒 Boolean
valid_untilSemesterende🟒 Date
Request clean β€” no sensitive data
IVB only asks if you are a student and until when. Name, matriculation number, field of study, university, date of birth β€” none of this is part of the request.
β‘‘ miTch Analysis
Risk Analysis: 🟒 Low β€” safe to share
What is shared (minimal proof)
student_statustrue🟒 Low
valid_untilSemesterende 23:59🟒 Low
Structurally not shareable (not in request)
Name, VornameNOT REQUESTED
Matriculation NumberNOT REQUESTED
Date of BirthNOT REQUESTED
UniversityNOT REQUESTED
Field of StudyNOT REQUESTED
β„Ή Inference-Risiko: 🟒 Low
Student boolean + semester end date do not allow any conclusions about identity. IVB only learns: This wallet user is a valid student. No profiling possible.
β‘’ Ephemeral Credential
Short-term credential is issued

The credential is valid only for this session and expires automatically at midnight. The university confirms the status β€” IVB never learns which university.

β€” Not yet confirmed β€”
β‘£ Overreach-Demo
What happens when a vendor asks for too much?

IVB+ (pilot program) makes an extended request β€” in addition to student verification, the vendor wants the matriculation number and university name.

Request from IVB+
student_statusβœ“ OK
valid_untilβœ“ OK
matriculation_numberβ›” BLOCKED
university_nameβ›” BLOCKED
β›” Request partially denied
Matriculation number and university name are not part of the approved predicate set. miTch only releases the clean subset β€” the vendor does not receive the other fields but can still use the student verification.
423 students have already reported IVB+ as overreaching. From 500 reports, the vendor is automatically reported to the AT-DSA.
1 / 4
1
Request
2
Risk
3
Consent
4
Post-Session
β‘  Verifier Request
UKH Innsbruck β€” Hospital Admission
πŸ₯ UKH Innsbruck β€” Hospital Trust 97/100
did:mitch:ukh-innsbruck Β· ELGA-zertifiziert Β· Art. 9 GDPR Basis
Was wird angefragt?
allergiesList🟑 Medium
blood_groupABO+Rh🟒 Low
insurance_statusPublic/Private🟒 Low

Legal basis: GDPR Art. 9(2)(c) β€” vital interests. Ephemeral credential, automatically deleted at session end.

β‘‘ Risk Analysis
Per-Attribute Assessment
allergiesPenicillin, Latex🟑 Medium β€” medically necessary
blood_groupA+🟒 Low
insurance_statusPublic β€” active🟒 Low
Not requested β€” not shareable
Diagnosis HistoryNOT REQUESTED
Medication ListNOT REQUESTED
Mental Health DataNOT REQUESTABLE β€” Art. 9(1) GDPR
Genomic DataNOT REQUESTABLE β€” Art. 9(1) GDPR
β„Ή Inference-Risiko: 🟒 Low
Allergies + blood group + insurance do not allow the hospital to draw further conclusions about identity, place of residence, or diagnoses. The combination is medically necessary and legally covered.
β‘’ Consent & Ephemeral Proof
Release + Session Key Generation

After release, an ephemeral session key is generated. The data is encrypted with this key β€” at the end of the session, the key is automatically deleted (crypto-shredding).

β€” Waiting for release β€”
β‘£ Post-Session
Data cryptographically deleted β€” Consent receipt issued
βœ“ Session ended β€” Crypto-shredding active
The ephemeral session key has been deleted. All encrypted data is permanently unreadable β€” even for miTch and the hospital after the session end.
Consent Receipt (stored in your wallet)
VerifierUKH Innsbruck β€” Notaufnahme
Timeβ€”
Sharedallergies, blood_group, insurance
BasisGDPR Art. 9(2)(c)
Session KeyπŸ—‘ deleted
Data available❌ no β€” shredded
1 / 4
1
Request
2
Deny
3
Break-Glass
β‘  Verifier Request
MedUni Vienna β€” Research Request
πŸ”¬ MedUni Vienna β€” Research Dept. Trust 74/100
did:mitch:meduni-vienna-research Β· no HDAB certificate detected
Was wird angefragt?
health_data_pseudonymizedDiabetes Study 2025πŸ”΄ High
diagnosis_codesICD-10 subsetπŸ”΄ High
medication_historylast 24 monthsπŸ”΄ High

Detected: Secondary use of health data (EHDS Art. 33). Verifier has no HDAB certificate.

β‘‘ Policy: DENY
Request automatically denied
β›” DENY_SECONDARY_USE_DIRECT
This request aims at secondary use of health data. According to EHDS Regulation (EU) 2025/327, Art. 33, secondary use must only occur via a Health Data Access Body (HDAB). Direct access to wallets is not permitted β€” even with the user's consent.
What must MedUni Vienna do instead?
1. Apply to the Austrian HDAB (GΓ–G / ELGA GmbH)
2. Submit ethics vote + data protection impact assessment
3. Data access via HDAB portal β€” not via individual wallets
This request was automatically logged. For repeated patterns: Report to data protection authority (DSB) possible.
β‘’ Break-Glass Override
Emergency Override: Doctor overwrites Policy

In real emergencies, an authorized doctor can overwrite the policy. Every override is permanently stored in the audit trail β€” no possibility to act unnoticed.

β€” No override yet β€”

⚠ Break-glass only applies to immediate emergency treatment. Secondary use for research is not permitted even via break-glass β€” this flow is for treatment emergencies (Art. 9(2)(c) GDPR).

1 / 3
1
Request
2
Analysis
3
Proof
4
Result
β‘  App Login Request
FlirtRadarβ„’ wants to verify you
πŸ’œ FlirtRadarβ„’ Trust 35/100
did:mitch:flirtradar-app-eu Β· OID4VP 1.0 Β· Unregistered
Was die App anfragt
age_gte_18β‰₯ 18🟒 Predicate
display_nameString🟑 Raw PII
emailString🟑 Raw PII
profile_photoBlobπŸ”΄ Biometric
friends_listArrayπŸ”΄ Social Graph
location_historyArrayπŸ”΄ Tracking
device_idUUIDπŸ”΄ Fingerprint

Comparison: "Login with Google" typically shares all requested fields. miTch checks each field individually.

β‘‘ miTch Analyse
Risk Analysis: πŸ”΄ High β€” structural blockage active
What the app gets (minimal proof)
age_gte_18true🟒 Low
pseudonymous_idunique, pairwise🟒 Low
Structurally not shareable (Policy Engine blocks)
display_nameBLOCKED
emailBLOCKED
profile_photoBLOCKED
friends_listBLOCKED
location_historyBLOCKED
device_idBLOCKED
⚠ Inference-Risiko: πŸ”΄ High
friends_list enables social graph analysis. location_history allows movement profiles. Both are structurally blocked β€” the data never leaves the wallet, not even encrypted.
β‘’ Proof Generation
Generate Pseudonymous Login Proof

miTch generates a pairwise-pseudonymous proof: The app only learns "User is β‰₯18" and receives a unique ID that is not linkable to other services.

β€” Waiting for confirmation β€”
β‘£ Result
The app wanted everything β€” it got almost nothing
App wanted:
βœ— display_name
βœ— email
βœ— profile_photo
βœ— friends_list
βœ— location_history
βœ— device_id
App received:
βœ“ age_gte_18: true
βœ“ pseudonymous_id: pw-…
β€” nothing else β€”
βœ“ Login successful β€” without personal data
The app can recognize the user (via pseudonymous_id), but knows neither name, age, contacts, nor location. With "Login with Google", the app would have received all of that.

If enough users report, a DSA complaint is automatically triggered.

1 / 4
Interactive Demo

See exactly how miTch handles a real verification β€” step by step.

β‘  Issue
β‘‘ Policy
β‘’ Consent
β‘£ Verify
β‘€ Forget
πŸ›οΈ Issuer (National ID System) e.g. ID Austria / EUDI Wallet

Your government issues a credential via the national eID system (ID Austria, Smart-eID, EUDI Wallet, etc.). miTch receives only signed predicates β€” raw PII is crypto-shredded and never stored.

βš–οΈ Policy Engine miTch Core
βš–οΈWaiting for verification request...
πŸ“± Wallet (Your Device) User-Controlled
πŸ“±Issue a credential first
πŸͺ Verifier CoolShop.at
πŸͺWaiting for presentation...
πŸ‘οΈ Network Observer Adversary
πŸ‘οΈMonitoring traffic...
πŸ’° Cost Comparison Real-World Estimates
πŸ’°Costs appear as you interact
πŸ”₯ Crypto-Shredding (GDPR Art. 17) Provable Deletion
πŸ”₯Issue a credential to see crypto-shredding in action
πŸ”„ Revocation (StatusList2021) Privacy-Preserving

Issuer publishes a compressed bitstring. Verifier downloads the entire list and checks locally. Issuer cannot tell which credential was checked.

Why Your CTO Should Care

🏒 Enterprise Perspective

"The cheapest data to protect is the data you never store."
β€” Zero Data Architecture Principle

1. Total Cost of Ownership (Annual)

Traditional Identity Stack

User Onboarding (ID Scan)€ 150.000
PII Database (RDS+KMS+Backups)€ 36.000
GDPR Compliance Mgmt€ 24.000
Data Breach Reserve (Pro-rata)€ 89.000
LΓΆschpflicht Art. 17 (2%)€ 30.000
Total/Year € 329.000

miTch Stack

eID Authentication€ 15.000
Credential Signing (HSM)€ 1.000
StatusList CDN€ 30
PII Database€ 0
LΓΆschanfragen / Breach Risk€ 0
Total/Year € 16.030
JΓ„HRLICHE ERSPARNIS
€ 312.970 (95%)
πŸ“Ž IBM Cost of Data Breach 2024 πŸ“Ž AWS Pricing Pricing πŸ“Ž A-Trust Pricing πŸ“Ž DLA Piper GDPR Survey

2. Datenpanne im Vergleich (Data Breach)

Was passiert, wenn der Worst-Case eintritt?

Traditional IT

miTch Architecture

3. Art. 17 DSGVO β€” Recht auf LΓΆschung

Traditional
miTch
PII gespeichert in
8-14 DB-Tabellen, Backups, Logs, CDN-Cache
Nirgends
LΓΆschaufwand pro Anfrage
~€ 15 (manuell/semi-automatisch)
€ 0 (nichts da)
Zeitaufwand
3-30 Tage
0 Sekunden
Risiko unvollst. LΓΆschung
Hoch (Backup-Fragmente, Logs)
UnmΓΆglich
Audit-Nachweis
Manueller Report
Automatisch (Crypto-Shredding = LΓΆschbeweis)
πŸ“‹ Audit & Compliance GDPR Ready
πŸ”— Audit Chain
πŸ“ Consent Log
πŸ“‹ DPIA (Art. 35)
πŸ”—Audit entries appear as you interact

Data Protection Impact Assessment β€” GDPR Article 35

Where We're Going

Your data life, reviewed daily.
Like a bank statement β€” for your privacy.

Every transaction that touches your wallet is logged β€” what was shared, what was withheld, what was forgotten. At the end of the day, you review your complete data flow and claims lifecycle. No pressure. No decision. Just clarity.

πŸ“… Monday, 9 March 2026 β€” 4 interactions 3 clean 1 watch 1 danger
Rewe Supermarkt β€” Age Verification
βœ“ Age confirmed βœ— Name not shared βœ— Address not shared βœ— National ID not shared
Session ended Β· All data forgotten Β· Consent receipt saved
09:14
Apotheke Innsbruck β€” Prescription Validation
βœ“ Medication confirmed βœ“ Dosage confirmed βœ— Diagnosis not shared βœ— Insurance ID not shared βœ— Genetic data not shared
Session ended Β· All data forgotten Β· Consent receipt saved
12:31
CoolShop.at β€” Age + Address Requested
βœ“ Age confirmed ⚠ Address: shared (you approved) βœ— National ID not shared
⚠ Address was requested beyond what age verification requires. You chose to approve.
15:47
dataportal.io β€” Full Identity Requested
βœ— Transaction blocked Verifier not in trusted registry
πŸ”΄ Danger detected: An unverified service requested your full name, address, and national ID number without a declared legal basis. This request was blocked.

What you can do:
18:22

This is a concept preview. The daily review is on the roadmap β€” see below.

Why Now

The regulatory window is open.

A wave of EU legislation is creating legal rights for individuals to access their data β€” and compliance obligations for institutions that process it. miTch is built exactly at this intersection.

Active Now
GDPR
In force since 2018
Data minimisation. Institutions must collect only what is strictly necessary. miTch is the technical implementation of Art. 5(1)(c) and Art. 17 (right to erasure).
Active Now
PSD2 Open Banking
EU-wide since 2019
Your bank data is portable. EU banks must expose standardised APIs. You have the right to your own transaction history β€” in machine-readable form.
August 2025
EU AI Act
High-risk AI enforcement begins
Right to explanation. If a bank, insurer, or employer uses AI to make decisions about you, you can request a meaningful explanation of the logic involved.
September 2025
EU Data Act
IoT data portability rights
Your device data is yours. Data generated by connected devices β€” car, smart home, wearables β€” must be accessible to you. No negotiation with manufacturers needed.
2025 – 2027
EHDS
European Health Data Space
Your health records, accessible. EU regulation mandating electronic access to personal health data across all member states. Austria (Elga) is already ahead of schedule.
These regulations don't just create compliance burdens for institutions.
They are the legal framework that gives you the right to your own data β€” and makes miTch's work legally grounded from day one.
The Vision

Three layers. One principle:
your data belongs to you.

miTch is built in three layers, each extending user control one step further β€” from what you share, to what you see, to what you can prove.

Layer 1 β€” Built
πŸ”
The Forgetting Layer
Control exactly what leaves your wallet at every transaction. Everything else is cryptographically destroyed.
  • Selective disclosure β€” share only what's needed
  • Crypto-shredding β€” session keys destroyed after use
  • Pairwise DIDs β€” unlinkable across verifiers
  • Signed consent receipts β€” portable evidence
  • Fail-closed policy engine β€” deny by default
Layer 2 β€” Next
πŸ‘οΈ
The Visibility Layer
See what institutions see about you. Your data, your picture β€” running locally on your device, never uploaded.
  • Daily review β€” your data life, timestamped
  • Danger levels β€” 🟒 clean / 🟑 watch / πŸ”΄ block
  • Escalation path β€” DPA, lawyers, specialists
  • Local insight β€” same models institutions use
  • Longitudinal picture β€” trends over time
Layer 3 β€” Horizon
πŸ”­
The Proof Layer
Prove things about yourself without revealing the underlying data. The conclusion, without the exposure.
  • Range proofs β€” "income β‰₯ X" without showing income
  • Predicate proofs β€” "A1c below threshold" without medical record
  • No raw data ever leaves the device
  • Verifiable by any party, privacy preserved
miTch β€” The Forgetting Layer
Privacy middleware for the digital identity layer.
Built for EUDI Wallet, ID Austria, eIDAS 2.0, and every national eID system that follows.
We never see your data. That's the point.
Under the Hood

27 Packages. Built for Zero-Trust.

miTch is modular by design. Our monorepo is divided into five specialized layers, each rigorously tested and hardened against modern threats.

Core (4)
State machines, base cryptographic primitives, and memory-safe utilities.
Protocol (6)
Handling mdoc (ISO 18013-5), OpenID4VP, and SD-JWT verifiable credentials securely.
Storage & Security (7)
Including the new phase0-security package and robust PQC (Post-Quantum) readiness modules.
Identity & Compliance (4)
Managing policy engines, consent tracking, and regulatory audit chains.
Demo & Testing (6)
End-to-end simulation harnesses and testing environments including the data-flow visualization package.
βœ…πŸ”’

Verification Complete β€” Data Forgotten

The verifier confirmed your claim without seeing any personal data. The session key has been destroyed β€” this interaction is now mathematically irrecoverable.

Want to see how we meet every GDPR requirement?

πŸ“‹ Data Protection Impact Assessment

GDPR Article 35 β€” miTch Identity Verification Infrastructure

βœ… Art. 25 Privacy by Design βœ… Art. 17 Right to Erasure βœ… Art. 5 Data Minimization βœ… Art. 7 Consent βœ… Art. 30 Processing Records βœ… Art. 32 Security βœ… Art. 35 DPIA

1. Description of Processing

1.1 What We Do

miTch is a privacy middleware layer for national digital identity systems (EUDI Wallet, ID Austria, Smart-eID, GOV.UK Wallet, France IdentitΓ©, Swiss E-ID, Nordic eIDs, and all future eIDAS 2.0 wallets). It enables users to prove attributes (e.g., "I am over 18") without revealing raw personal data β€” acting as a policy engine and forgetting layer between government-issued credentials and the services that request them.

miTch does not replace national ID systems. It uses their signed credentials and adds: selective disclosure, consent management, crypto-shredding, unlinkability (pairwise DIDs), and a tamper-evident audit chain.

1.2 Roles

Role Entity Responsibility
Data Subject User (Holder) Controls all disclosure decisions via wallet
Data Controller Verifier (e.g., shop) Requests specific claims, processes result
Data Processor miTch Infrastructure Facilitates verification without accessing personal data
Issuer State Provider Signs credentials based on verified identity

1.3 Processing Flow

Step 1 β€” Issuance: Raw PII encrypted with ephemeral key, predicates derived, credential signed, key destroyed. Raw PII is mathematically irrecoverable.

Step 2 β€” Presentation: User selects which claims to disclose. Only selected claims sent as SD-JWT proof.

Step 3 β€” Verification: Verifier validates proof. Receives only disclosed predicates. Issuer is never contacted.

2. Necessity & Proportionality

Traditional Approach miTch Approach
Upload photo ID β†’ name, birthdate, address collected Prove over_18: true β†’ one boolean, nothing else
Data stored in verifier's database β†’ breach risk No data stored β†’ nothing to breach
Identity provider tracks every verification Issuer doesn't know when/where credentials are used
Delete request = hope they actually delete Crypto-shredding = mathematical guarantee

3. Risk Assessment

Risk Severity Likelihood Mitigation Residual
Verifier correlation across sessions Medium Medium Pairwise DIDs, timing jitter, response padding Low
Device compromise High Low Secure enclave, biometric unlock, credential expiry Low
Issuer tracking Medium Low Pre-issued credentials, issuer never contacted Low
Network traffic analysis Medium Medium Response padding (4KB), timing jitter (50-200ms) Low
Credential replay High Low Nonce binding, holder key binding, expiry Low

4. Technical Safeguards

πŸ” Cryptographic

  • SD-JWT Selective Disclosure: Only chosen claims revealed
  • Crypto-Shredding: Ephemeral keys encrypt PII β†’ key destruction = provable data destruction
  • StatusList2021: Privacy-preserving revocation β€” issuer can't identify which credential was checked
  • Pairwise Ephemeral DIDs: Fresh DID per interaction β€” unlinkable across verifiers

πŸ›‘οΈ Metadata Minimization

  • Response Padding: All responses padded to 4KB
  • Timing Jitter: 50-200ms random delay
  • Per-Session Identifiers: HMAC-derived, unlinkable across verifiers

5. GDPR Compliance Matrix

Article Requirement Status Implementation
Art. 5(1)(c) Data minimization βœ… Selective disclosure β€” only requested predicates
Art. 5(1)(e) Storage limitation βœ… Crypto-shredding β€” data self-destructs
Art. 7 Consent conditions βœ… Informed, specific, freely given, withdrawable
Art. 17 Right to erasure βœ…βœ… Crypto-shredding provides mathematical proof of destruction
Art. 25 Privacy by design βœ…βœ… Core architecture β€” not an add-on
Art. 30 Processing records βœ… ROPA with aggregate counts, no PII
Art. 35 DPIA βœ… This document

6. What miTch Structurally Cannot Do

These are architectural guarantees, not policy promises:

  • 🚫 Cannot store raw PII β€” ephemeral keys destroyed after issuance
  • 🚫 Cannot track credential usage β€” issuer never contacted during verification
  • 🚫 Cannot see what users share β€” selective disclosure happens on-device
  • 🚫 Cannot correlate users across verifiers β€” pairwise ephemeral DIDs
  • 🚫 Cannot recover shredded data β€” encryption key no longer exists

"miTch works not because it knows everything β€” but because it structurally cannot know anything."

miTch β€” The Forgetting Layer

DPIA Version 1.0 β€” March 2026

miTch β€” Privacy Middleware Β· SD-JWT + Crypto-Shredding Β· No Server Required
Ready