European Digital Identity Wallet — Data Protection Impact Assessment template

Tenant-facing DPIA template covering the Aloaha WebPhone European Digital Identity Wallet product surface — OpenID4VP verifier, OpenID4VCI issuer, SIOPv2, HAIP 1.0 profile. Template version 1.0, dated 2026-07-26.

1. Overview

1.1 What processing does this DPIA cover?

Presentation and verification of European Digital Identity Wallet credentials to authenticate a natural person and, where applicable, issuance of verifiable credentials to the same person. Specifically:

1.2 Why is a DPIA required?

DPIA is mandatory under GDPR Article 35(1) when the processing is likely to result in a high risk to the rights and freedoms of natural persons. The European Data Protection Board’s WP248 rev.01 lists nine criteria; wallet identity flows meet at least four:

Regardless of scale, several Member State supervisory authorities have listed “processing of official identifiers” and “biometric or unique identification” on their Article 35(4) mandatory-DPIA lists. Wallet PID falls under both.

1.3 Assessment date and DPO consultation

Tenant operator[fill in]
Assessment date[fill in]
DPO name and contact[fill in]
DPO consulted on[fill in]
Reviewer name[fill in]
Version1.0
Next review due[fill in — no later than 12 months, or on any material change to processing]

2. Data flows (textual diagram)

+----------------+     openid4vp:// authz request      +-------------------+
|   End user +   | -----------------------------------> |  Aloaha WebPhone  |
|  European      |                                      |    (Verifier)     |
|  Digital       | <----------- direct_post JWE ------- |  logineu.ashx     |
|  Identity      |                                      |  age-verify.ashx  |
|  Wallet        |                                      +-------------------+
+----------------+                                                |
       ^                                                          v
       |                                                +-------------------+
       |  OID4VCI credential offer (optional issuance)  |  Downstream RP    |
       +----------------------------------------------- |  (tenant's own    |
                                                        |   application)    |
                                                        +-------------------+

Local persistence:
    App_Data/<tenant>/sessions/<sid>.json    (short-lived — session only)
    App_Data/<tenant>/audit/<yyyy-mm>.log    (retention per tenant policy)
    App_Data/<tenant>/metrics/<meter>.jsonl  (licensable metrics)

Key properties:

3. Necessity and proportionality

3.1 Legal basis (GDPR Article 6)

The tenant operator selects the basis appropriate to the processing:

Use caseSuggested Article 6 basisNotes
Log-in to tenant service via European Digital Identity WalletArticle 6(1)(b) — performance of a contractThe user requests the service and log-in is necessary to provide it
Age verification for a regulated tenant serviceArticle 6(1)(c) — legal obligationWhere Member State law mandates age check (e.g. gambling, alcohol, adult content)
Ad-hoc credential issuance (employee credential)Article 6(1)(f) — legitimate interestBalancing test required
Optional analytics / marketing attributionArticle 6(1)(a) — consentMust be freely-given, specific, informed, unambiguous, and revocable

3.2 Legal basis for special categories (GDPR Article 9)

Wallet PID typically contains: given_name, family_name, birthdate, issuing-authority reference, wallet trust framework, and — where the tenant requests — nationality, place of birth, or address. These are not special-category data. HOWEVER:

3.3 Purpose limitation

Claims received via OID4VP MUST NOT be reused for a different purpose than the one the user consented to in the wallet UI. The wallet-side consent screen states the purpose; the tenant deployment MUST NOT log or ingest claims beyond that purpose.

3.4 Data minimisation

The tenant deployment SHOULD:

3.5 Necessity of the wallet flow itself

Compared to alternatives (bank ID, national eID, self-declared birthdate, photo of a physical ID document), the European Digital Identity Wallet provides: (a) cryptographic proof of issuer, (b) user consent per transaction, (c) selective disclosure, (d) revocation checking via OAuth Status List draft-13. The wallet flow is generally MORE data-minimising than its alternatives and is therefore the preferred mechanism where available.

4. Risks to data subjects

#RiskLikelihoodSeverityRationale
R1Identity theft via stolen or replayed wallet responseLowHighHAIP nonce + same-device binding + DPoP jti reduce likelihood
R2Unnecessary claim disclosure (“over-asking”)MediumMediumDepends on tenant claim request; enforced by wallet consent UI
R3Linkability across relying parties via wallet identifierLow-MediumMediumDepends on wallet design (batch issuance, unlinkable credentials); outside our control
R4Profiling from audit logsLowMediumAudit logs stay per-tenant; not aggregated by Aloaha
R5Unauthorised RP registration (attacker sets up a fake RP)LowHighLOTL-anchored RP-cert chain-walk (Oidc:LotlRequireChain=true default), OAuth Status List revocation
R6Credential replay against multiple RPsLowHighPer-transaction nonce, DPoP proof, same-device redirect_uri binding
R7Revocation-checking failure (using a revoked credential)LowMediumOAuth Status List client polls issuer, cache TTL
R8Session hijack via cookie theftLowHighHttpOnly + SameSite=Lax + Secure session cookies, same-device binding
R9Cross-tenant data leakVery LowHighTenantPaths.* enforced at every entry point; ACL v3 SIP gate
R10Non-EU third-country transferDepends on hostingHighSelf-hosted tenant → tenant’s decision; MITA-Azure hosted → EU
R11Accessibility failure blocking wallet log-in for users with disabilitiesMediumHighSee WCAG audit 2026-07-26; residual <nav>-landmark gap + colour-contrast unverified
R12Retention overrun (audit logs kept beyond necessity)LowMediumConfigurable per tenant; default 12 months
R13Loss of confidentiality in transitVery LowHighTLS 1.2+ required, TLS 1.3 preferred; JWE encryption of VP response
R14Loss of integrity of session state on diskLowMediumFile.Replace atomic write; .backup sidecars for rollback
R15Cognitive over-load on wallet consent (unrelated to platform)Depends on walletLowWallet-side responsibility; platform emits clear purpose

5. Mitigations shipped by the Aloaha WebPhone platform

The following are ENABLED in the current build (post-2026-07-26 HAIP-closure sprint). Tenants inherit them by default.

MitigationWhereDefault
JWE encryption of VP responses (A256GCM, ECDH-ES+A256KW)VerifierON when HAIP strict = TRUE
HAIP-strict enforcement (reject plain direct_post)VerifierhaipStrictMode = TRUE per tenant
OAuth Status List (draft-13) credential-status clientStatusListClientOidc:StatusListCheckMode=enforce
Same-device redirect_uri binding via signed session cookieVerifierEnforced
LOTL-anchored RP-cert chain-walkoidc.ashxOidc:LotlRequireChain = TRUE (production profile lock)
DPoP at VCI ?token + ?credential endpointsvci.ashxVci:DpopMode
attest_jwt_client_auth at VCI ?par + ?tokenvci.ashxVci:ClientAuthMode
DCQL query with trusted_authorities + AKI matchingVerifierEnforced when configured
Per-tenant isolationTenantPaths.*Enforced globally
ACL v3 SIP + IP allow/deny gateIpAllowGate.AllowEnforced at every entry point
Session-scoped storage (no long-lived credential caching)App_Data/<tenant>/sessions/Session lifetime only
HttpOnly + SameSite=Lax + Secure cookiesAll authenticated endpointsEnforced
Atomic write + .backup sidecarEvery JSON writeEnforced
LOUD [TAG-DIAG] audit loggingEvery entry pointEnforced
RASP inline anomaly checksEvery new handlerEnforced
Runtime IP auto-blacklist (known scanner range)ACL startupEnforced
TLS 1.2+ / TLS 1.3 enforcementweb.config + IIS bindingEnforced
Per-tenant /.well-known/security.txtTenant JSONOptional per tenant
OpenID Federation 1.0 discovery.well-known/openid-federationAvailable
No third-party analytics on wallet pageslogineu.html, age-verify.htmlNo tracking pixels

6. Residual risk

After the mitigations in §5, the following risks are NOT fully addressed and the tenant MUST decide whether to accept, transfer, or add compensating controls:

#Residual riskSuggested action
RR1Accessibility gaps (colour contrast, focus-ring, AT walk-through unverified per WCAG audit 2026-07-26 §5)Complete browser-driven audit + manual AT pass before public launch
RR2DPoP jti replay cache is per-process, not distributed — an attacker replay across worker restarts is theoretical but non-zeroConsider Redis-backed replay cache for high-availability tenants; default file-backed cache is adequate for single-node
RR3Wallet-side linkability across relying parties depends on wallet design (batch credential re-issuance) — outside platform controlEducate end users; prefer wallets that implement batch issuance
RR4Cross-border transfer if tenant hosts outside EU/EEAPerform Article 46 assessment; use SCCs or an Article 45 adequacy decision
RR5Retention policy under-configured — default 12 months for audit logs may exceed the “necessary” test for some tenantsTenant DPO sets retention per purpose
RR6End-user right-of-erasure (Article 17) partially manual — the ARF TS7 endpoint accepts requests, but tenant back-office workflow is operator-definedPublish DPO channel in per-tenant security.txt
RR7AI Act obligations if the tenant uses wallet claims to feed automated decision-makingTenant assesses AI-Act tier separately

7. DPO consultation record

DPO name[fill in]
DPO consulted (date)[fill in]
DPO opinion[fill in — accept / accept with conditions / reject]
Conditions imposed[fill in]
Article 36 prior-consultation triggered?[fill in Yes/No — required if residual risk is high and cannot be mitigated]
Data subject / representative consultation (GDPR Art. 35(9))?[fill in — describe how the views of data subjects were sought where appropriate]

8. Sign-off

RoleNameSignatureDate
Controller / tenant operator
DPO
Reviewer
Next review date

9. Change log

DateChangeSigned
2026-07-26Template v1.0 issued for the Aloaha WebPhone European Digital Identity Wallet product surfaceAloaha engineering

10. Companion documents

This template supports tenant compliance with GDPR Article 35 for the Aloaha WebPhone European Digital Identity Wallet product surface. It is not a substitute for the tenant’s own DPIA and does not create any warranty of compliance.

Last updated 2026-07-26. Related pages: Privacy manifesto · RoPA template · HAIP operator setup · Deutsch