EUDIW conformance: certification, FCAF and how to prepare
What EUDI Wallet conformance means under the certification rules, what the Functional Conformance Assessment Framework tests, where it stands today, and how to run its test cases before certification.
By the Credimi team at Forkbomb BV · Updated 24/10/2026
-
Rules
CIR (EU) 2024/2981 certification
-
Functional tests
FCAF · Wallet Solution
-
Evidence
runs · reports · hashes
- Certification rules
- CIR (EU) 2024/2981
- FCAF release
- v0.0.10, 13/03/2026
- Release candidate
- Targeted Q1 2027
- EUDI ARF
- v3.0.0, 23/07/2026
EUDIW conformance is the proof that a European Digital Identity Wallet meets the requirements it is certified against. Under Commission Implementing Regulation (CIR) (EU) 2024/2981, certification covers cybersecurity, privacy and operational assurance, and also requires a conformity assessment of the wallet's functional requirements. The Functional Conformance Assessment Framework (FCAF) is the European Commission's harmonised set of test cases for that functional part.
This page summarises what the rules require, what FCAF covers and does not cover, where it stands today, and how you can run its test cases while it matures. Every date and version on this page links to its source; check them again before you plan around them.
What does EUDIW conformance mean?§
Two kinds of assessment meet in EUDI Wallet certification:
- Certification of the wallet solution, set out in CIR (EU) 2024/2981. It covers cybersecurity, privacy and operational assurance.
- Functional conformance, which 2024/2981 requires for the functional requirements defined in three further implementing regulations (Annex III of 2024/2981):
| Area | Implementing regulation |
|---|---|
| Integrity and core functionalities | CIR (EU) 2024/2979 |
| Protocols and interfaces | CIR (EU) 2024/2982 |
| Person identification data and electronic attestations of attributes | CIR (EU) 2024/2977 |
FCAF exists to harmonise that functional conformity assessment, so a result means the same thing for every Member State, laboratory and wallet provider. Source: FCAF introduction.
What does FCAF test, and what does it not?§
According to Using the FCAF, its coverage is limited to functional requirements:
- protocol specifications for interactions with peers in the ecosystem;
- credential formats;
- mandatory user interactions and functionality.
A production-ready, compliant EUDI Wallet must meet many other requirements, which FCAF leaves to other frameworks. Cybersecurity and privacy evaluation are part of certification, but not of FCAF.
FCAF organises tests around a System Under Test (SUT). In its initial phase the only SUT in scope is the Wallet Solution. The framework is expected to add PID Providers, Attestation Providers, Relying Parties and infrastructure components later (SUTs). The Wallet Solution tests are grouped by the counterpart the wallet talks to, such as relying parties, PID providers and attestation providers.
Its intended audience today is wallet providers, testing laboratories and conformity assessment bodies (CABs).
Where does FCAF stand today?§
FCAF is published early and refined in public. Content moves through four maturity stages (FCAF home):
| Stage | Meaning | Version pattern |
|---|---|---|
| Submitted | Latest working draft; not yet suitable for implementation. Selected content, such as the baseline test cases, may be used for pilot testing. | v0.0.x |
| Reviewed (beta) | Technically correct and implementable in isolation. | vX.Y.Z-beta.n |
| Release candidate | Consolidated across specifications, profiles and regulatory layers; suitable for validation and pilot use. | vX.Y.Z-rc.n |
| Released baseline | Stable for its defined scope and suitable for regulatory use in certification. | vX.Y.Z |
And the milestones, as published:
| Item | Status | Source |
|---|---|---|
| Latest FCAF tag | v0.0.10, 13/03/2026 | GitHub tags |
| Baseline test cases and ICS references to ISO/IEC TS 18013-6 | Available at the submitted stage; usable for pilot testing, for example by CABs | Roadmap |
| Beta release | Planned once public feedback on the baseline test cases is processed | Roadmap |
| Release candidate | Goal: first quarter of 2027 | Roadmap |
| v1.0.0 | Follows the release candidate; the first full-scope baseline suitable for certification. No date published. | Roadmap |
| EUDI ARF | v3.0.0, released 23/07/2026 | ARF releases |
The roadmap is explicitly indicative and subject to change. Treat the release candidate date as a target, not a commitment, and leave room in your own plan for it to move.
What is the Implementation Conformance Statement?§
Before testing starts, the implementer fills in the Implementation Conformance Statement (ICS): a form declaring which capabilities and profiles the wallet supports. Each test case states the capability or profile conditions under which it applies, so the ICS decides which tests run against your wallet.
The FCAF ICS follows the approach of the ICS in ISO/IEC TS 18013-6:2025 (Annex B): numbered capability statements, a value column for the implementer, and a column stating the constraint the EUDI framework imposes on each answer (ICS).
Prepare it early. Writing the ICS forces you to state which flows, credential formats and profiles you actually support, which is also the list of things you need to test.
How do you prepare a wallet for FCAF?§
While FCAF matures, you can already work against it:
- Read the test cases for your wallet. Start with the baseline test cases on conformance.eudi.dev, and the same test cases in the FCAF suite on the Credimi Hub, where each has its own page.
- Draft your ICS. Declare the capabilities and profiles you support.
- Run the test cases against real counterparts. Functional tests are about how your wallet talks to issuers and verifiers, so run them against real ones, on real devices.
- Keep the evidence. Store each run with what it was judged on, so you can show a laboratory or CAB what you tested and when.
- Track the framework. Follow the FCAF content changelog and re-run when test cases change.
FCAF tells you what to test. Running it on every release tells you whether you still pass.
How does Credimi run FCAF test cases?§
Credimi is an open-source platform that runs FCAF test cases inside automated pipelines, hosted at credimi.io or self-hosted.
- Catalog. As of 20/10/2026 the Credimi catalog holds 617 FCAF test cases in 184 scenarios, taken from the FCAF Wallet Solution content.
- Real flows. Pipelines drive your wallet app on Android devices, emulators and iOS simulators with Maestro, and call live credential issuers and verifiers with StepCI. Each run is then judged against the FCAF and protocol test cases.
- Evidence. Every step's inputs and outputs, including the protocol messages, are recorded with a timestamp in the run's append-only history, from which the run can be replayed. Video, screenshots and logs are stored with the run. The FCAF report links each test case to SHA-256 hashed evidence in that history.
- Report. Each run produces an FCAF report as PDF and JSON: an executive summary with the evidence hash, then one page per test case with its assertions and normative references. See a complete example (PDF, 21 MB, 617 test cases).
- Every release. The
run-wallet-apkendpoint and the GitHub Action run the same scenarios on every commit.
Credimi does not certify wallets and is not a conformity assessment body. It helps you find failing test cases before an assessment and arrive with a record of what you ran. For the details, read FCAF conformance testing for EUDI wallets.
What does an FCAF test look like in Credimi?§
Each FCAF test case is a short YAML file: which wallets it applies to, the normative references it checks, the evidence a pipeline run captured, and the assertions to run on that evidence. This one checks that a PID in SD-JWT VC format carries the email claim:
id: WS_RP_DM_AddressData_Emailaddress_PID_IETF-sd-jwt-vc_001
applicability:
credential_format: ietf_sd_jwt_vc
document_type: pid
evidence:
pid_sdjwt:
from: pipeline.pid.presentation.sdjwt.all-claims.outputs.pid_sdjwt
assertions:
- id: email_present
validator: sdjwt.claim_present
input: evidence.pid_sdjwt
params: { claim: email }
verdict:
pass_when: all_assertions_pass
The assertions use a library of 145 reusable validators for OpenID4VP requests and responses, DCQL, SD-JWT VC claims and key binding, ISO mdoc elements, JOSE and PID rules. Adding a test case usually means writing one such file; the evidence always comes from a real run, never from a fixture. The test definitions are open source in the Credimi repository.
How does this compare with other ways of testing?§
| Approach | Good for | Leaves to you |
|---|---|---|
| Reading FCAF and testing by hand | Understanding the test cases; one-off checks | Repeating the same steps on every release; keeping evidence |
| Protocol conformance suites (for example the OpenID Foundation suite) | Checking a protocol implementation against a simulated counterpart; the route to OpenID certification | FCAF test cases; a real wallet on a real device |
| Assessment by a laboratory or CAB | The conformity assessment required for certification | Finding and fixing failures before the assessment |
| Credimi pipelines | Running FCAF and protocol test cases on real devices against live issuers and verifiers, on every release, with evidence | The formal assessment and certification |
These approaches complement each other: automated runs during development, a formal assessment for certification.
FAQ§
Is EUDIW conformance the same as certification?§
No. Certification under CIR (EU) 2024/2981 covers cybersecurity, privacy and operational assurance, and requires a conformity assessment of functional requirements. Functional conformance is one part of certification, and FCAF is the framework for that part.
Can FCAF be used for certification today?§
Not as a released baseline yet. The current content is at the submitted stage. Its baseline test cases can be used for pilot testing. The release candidate is targeted for the first quarter of 2027, and v1.0.0, which follows it, is the first baseline intended to be suitable for certification.
Which components does FCAF test?§
In its initial phase, only the Wallet Solution. PID Providers, Attestation Providers, Relying Parties and infrastructure components are expected to follow.
Does FCAF test security?§
No. FCAF covers functional requirements: protocols with ecosystem peers, credential formats, and mandatory user interactions and functionality. Cybersecurity is assessed under the certification framework, not by FCAF.
Does Credimi certify EUDI wallets?§
No. Credimi is not a conformity assessment body. It runs FCAF and protocol test cases and keeps the evidence, which you can use to prepare for an assessment.
Run FCAF test cases before your assessment
Browse the FCAF test cases on the Hub, then build a pipeline that runs them against your wallet.