본문으로 건너뛰기
Didit, 신원·사기 방지 인프라 구축 위해 750만 달러 투자 유치
Didit
EUDI Wallet · eIDAS 2

EU 디지털 신분 지갑 연동을
지금 바로 준비하세요.

모든 EU 회원국은 2026년 12월 24일까지 EU 디지털 신분(EUDI) 지갑을 제공해야 하며, 규제 대상 기업은 2027년 12월 24일까지 이를 수용해야 합니다. Didit은 현재 5개 국가의 전자 신분증(eID)을 지원하며, EUDI 지갑 연동도 곧 동일한 워크플로우에서 지원될 예정입니다.

지원
Y CombinatorRobinhood Ventures
Firecrawl
Slash
Crnogorski Telekom
UCSF Neuroscape
Bit2Me

전 세계 3,000개 이상의 기관에서 신뢰합니다.

EUDI 지갑이란

개인당 하나의 지갑.
요청한 데이터만 받으세요.

EUDI 지갑은 eIDAS 2로 알려진 규정 (EU) 2024/1183에 따라 모든 EU 회원국이 제공해야 하는 무료 앱입니다. 이름, 생년월일, 출생지, 국적 등 개인 식별 데이터(PID)와 운전면허증 또는 학위와 같은 속성 증명서를 담고 있습니다. 사용은 자율적입니다.

기업이 데이터를 요청하면, 사용자는 요청하는 주체를 확인하고 요청된 속성만 공유합니다. 이를 선택적 공개라고 합니다. 예를 들어, 웹사이트는 생년월일을 알지 못해도 사용자가 18세 이상임을 확인할 수 있습니다. 이 지갑은 eIDAS 세 가지 레벨 중 가장 강력한 '높음' 수준의 보증 레벨로 작동하며, 기업은 데이터를 신뢰하기 전에 발행자 서명을 확인합니다.

최종 검토: 2026년 10월 5일. 법적 자문이 아닙니다.

주요 일정

2026년 말까지 지갑 출시. 2027년 12월 24일까지 연동 의무화.

다음은 규정 (EU) 2024/1183 및 그 이행법에 명시된 기업이 계획해야 할 날짜입니다.
  1. 2024년 4월 30일

    eIDAS 2 발표

    eIDAS 규정 (EU) No 910/2014를 개정하는 규정 (EU) 2024/1183이 EU 공식 저널에 게재됩니다. 게재 후 20일째 되는 날 발효됩니다.

  2. 2024년 12월 24일

    첫 지갑 규정 발효

    지갑에 대한 첫 5개 이행 규정(개인 식별 데이터, 핵심 기능, 알림, 인증, 프로토콜 및 인터페이스)이 발효됩니다. 이는 아래 24개월 및 36개월 시한의 시작점이 됩니다.

  3. 2026년 7월 15일

    지갑 규정 업데이트

    위원회는 이행 규정 (EU) 2026/1731을 채택합니다. 이는 두 가지 자격 증명 형식(SD-JWT VC 및 ISO/IEC mdoc)을 설정하고, 2028년부터 의무적인 초상화를 도입할 예정입니다.

  4. 2026년 7월 23일

    ARF v3.0.0

    지갑 및 의존 당사자가 구축하는 기술 청사진인 아키텍처 및 참조 프레임워크(ARF)가 버전 3.0.0에 도달합니다.

  5. 2026년 12월 24일

    모든 회원국에 지갑 도입

    각 회원국은 최소 하나의 EUDI 지갑을 제공해야 합니다. 의존 당사자 등록에 관한 규정 (EU) 2025/848은 같은 날부터 적용됩니다.

  6. 2027년 12월 24일

    민간 기업의 수용 의무화

    법률 또는 계약에 따라 강력한 사용자 인증을 사용해야 하는 민간 기업(초소규모 및 소규모 기업 제외)은 사용자가 지갑 사용을 요청할 경우 이를 수용해야 합니다(제5f조(2)항). 이 기한은 최초 이행법이 2024년 12월 24일에 발효된 날로부터 36개월 후, 즉 2027년 12월 24일입니다.

  7. 2028년 8월 11일

    초상화 및 등록 확인

    초상화가 의무적인 개인 식별 데이터의 일부가 되며, 지갑은 각 의존 당사자의 등록 증명서를 인증하고 유효성을 검사해야 합니다.

연동 의무 대상

지갑 연동 의무 대상 및 시기.

규정 (EU) 2024/1183에 의해 개정된 eIDAS 규정 제5f조는 연동 의무를 명시합니다. 모든 경우에 사용자가 지갑 사용을 선택하며, 기존의 신원 확인 방법은 계속 유지됩니다.

대상

공공 부문 기관

간단히 설명하자면

회원국이 공공 온라인 서비스 접근에 전자 신분증을 요구하는 경우, 해당 서비스는 EUDI 지갑도 수용해야 합니다.

조항 · 날짜

제5f조(1)항

대상

강력한 사용자 인증을 의무적으로 사용하는 민간 서비스

간단히 설명하자면

법률 또는 계약에 따라 온라인 신원 확인을 위해 강력한 사용자 인증을 사용해야 하는 경우, EUDI 지갑도 수용해야 합니다. 이는 귀하의 업종이 아닌 해당 요구사항에 따라 결정됩니다.

조항 · 날짜

제5f조(2)항 · 2027년 12월 24일

대상

조항에 명시된 분야

간단히 설명하자면

운송, 에너지, 은행, 금융 서비스, 사회 보장, 보건, 식수, 우편 서비스, 디지털 인프라, 교육 및 통신. 이 조항은 “포함”이라고 명시하고 있으므로, 목록은 예시이며 한정적이지 않습니다.

조항 · 날짜

제5f조(2)항

대상

초소규모 및 소규모 기업

간단히 설명하자면

위원회 권고 2003/361/EC에 정의된 바와 같이 민간 부문 의무에서 면제됩니다. 원할 경우 Wallet을 계속 수용할 수 있습니다.

조항 · 날짜

제5f조(2)항

대상

사용자 요청 시에만

간단히 설명하자면

사용자가 Wallet 사용을 요청할 때 수용해야 합니다. Wallet 사용은 개인에게 자발적이며, 서비스는 다른 신원 확인 및 인증 수단에도 개방되어야 합니다.

조항 · 날짜

제5f조(2)항, 제5a조(15)항

대상

초대형 온라인 플랫폼

간단히 설명하자면

디지털 서비스법에 따라 지정된 플랫폼 중 사용자 인증을 요구하는 경우, 서비스에 필요한 최소한의 데이터에 대해 사용자 요청 시 Wallet을 수용해야 합니다. 이 의무에 대한 별도의 날짜는 명시되어 있지 않습니다.

조항 · 날짜

제5f조(3)항

의존 당사자는 설립된 회원국에 등록해야 하며, 등록된 데이터만 요청할 수 있습니다 (제5b조). 최종 검토: 2026년 10월 5일. 법률 자문이 아닙니다.

기업이 수용하는 방법

의존 당사자가 EUDI 지갑을 수용하는 5단계.

단계 01 / 05

의존 당사자로 등록

귀하의 세부 정보와 요청하려는 데이터를 가지고 설립된 회원국에 등록하십시오. Wallet에 귀하를 인증하는 접근 인증서와, 회원국에서 발급하는 경우, 등록된 속성을 나열하는 등록 인증서를 받게 됩니다.

EUDI 지갑 수용이 시작되면 (출시 예정) Didit이 이 단계를 대신 처리해 드립니다.

받는 정보와 KYC에 여전히 필요한 정보

Wallet은 본인임을 증명합니다. 실사에는 더 많은 것이 필요합니다.

자금세탁방지 규정(AMLR), 규정 (EU) 2024/1624에 따라, 실질적 또는 높은 수준의 전자 신원 확인은 신원 확인의 두 가지 방법 중 하나입니다 (제22조(6)항). 이는 고객 알기(KYC) 확인이 요구하는 모든 것을 포함하지는 않습니다. 다음은 개인 식별 데이터(PID)가 보유하는 내용과 Didit이 오늘날 각 항목을 어떻게 다루는지입니다.

실사 필요 사항

모든 이름 및 성

AMLR Art. 22(1)(a)

EUDI Wallet PID에 포함된 내용

성 및 이름 (필수)

Didit이 오늘날 다루는 방법

실시간 국가 eID는 전체 이름을 반환합니다. 문서 경로는 14,000개 이상의 문서 유형에서 이름을 읽어옵니다.

실사 필요 사항

출생지 및 전체 생년월일

AMLR Art. 22(1)(a)

EUDI Wallet PID에 포함된 내용

생년월일 및 출생지 (필수)

Didit이 오늘날 다루는 방법

실시간 국가 eID는 생년월일을 반환합니다. 문서 경로는 문서에 인쇄된 출생지를 읽어옵니다.

실사 필요 사항

국적

AMLR Art. 22(1)(a)

EUDI Wallet PID에 포함된 내용

국적 (필수, 하나 이상의 국가)

Didit이 오늘날 다루는 방법

문서 경로는 신분증 또는 칩에서 국적을 읽어옵니다.

실사 필요 사항

해당하는 경우, 국가 식별 번호

AMLR Art. 22(1)(a)

EUDI Wallet PID에 포함된 내용

개인 행정 번호 (선택 사항). 각 회원국이 발급 여부를 결정합니다.

Didit이 오늘날 다루는 방법

실시간 국가 eID는 제도 식별자를 반환합니다: 스웨덴의 personnummer, 핀란드의 개인 식별 코드 또는 발트 3국의 개인 코드. MitID는 CPR 번호가 아닌 가명 처리된 식별자를 반환합니다.

실사 필요 사항

일반 거주지

AMLR Art. 22(1)(a)

EUDI Wallet PID에 포함된 내용

주소 필드는 선택 사항이며 종종 누락됩니다. AMLA의 최종 초안 표준은 누락된 속성을 다른 수단을 통해 얻어야 한다고 명시합니다.

Didit이 오늘날 다루는 방법

실시간 국가 eID는 주소를 반환하지 않습니다. 주소 증명은 공과금 청구서, 은행 명세서 또는 정부 서신을 확인합니다.

실사 필요 사항

사용 가능한 경우, 세금 식별 번호

AMLR Art. 22(1)(a)

EUDI Wallet PID에 포함된 내용

PID에 포함되지 않습니다.

Didit이 오늘날 다루는 방법

동일한 워크플로우에서 설문조사 단계를 통해 수집합니다.

실사 필요 사항

본인 확인

ARF · 사용자 바인딩

EUDI Wallet PID에 포함된 내용

초상화는 2028년 8월 11일 의무화될 때까지 선택 사항입니다.

Didit이 오늘날 다루는 방법

문서 사진 또는 칩 초상화와 1:1 얼굴 매칭을 통한 수동 라이브니스 확인을 $0.33의 전체 KYC 검사 내에서 제공합니다.

실사 필요 사항

회사의 실소유주

AMLR Art. 20(1)(b)

EUDI Wallet PID에 포함된 내용

PID에 포함되지 않습니다. 지갑은 개인을 식별하며, 회사 소유주를 식별하지 않습니다.

Didit이 오늘날 다루는 방법

비즈니스 검증은 등록 기관에 등록된 경우 등록 데이터와 소유주를 가져오며, 각 소유주에 대한 신원 확인을 포함합니다.

실사 필요 사항

제재 대상 및 정치적 주요인물(PEP)

AMLR Art. 20(1)(d), (g)

EUDI Wallet PID에 포함된 내용

PID에 포함되지 않습니다.

Didit이 오늘날 다루는 방법

1,300개 이상의 제재, PEP 및 감시 목록에 대한 AML 스크리닝을 건당 $0.20에 제공합니다.

실사 필요 사항

관계의 목적 및 지속적인 모니터링

AMLR Arts. 25, 26

EUDI Wallet PID에 포함된 내용

PID에 포함되지 않습니다.

Didit이 오늘날 다루는 방법

설문조사를 통해 관계의 목적을 기록합니다. 지속적인 모니터링은 고객을 매일 재스크리닝하며, 연간 1인당 $0.07입니다.

고객 실사(CDD)는 여전히 귀사의 의무입니다. Didit은 검증 및 증빙 자료를 제공하며, 규정 준수를 보장하지 않습니다. AMLR은 2027년 7월 10일부터 적용되며, AMLA의 기술 표준은 2026년 9월 30일자 최종 초안이며 법률이 아닙니다.

국가별 준비 현황

각국의 전자지갑 현황, 날짜 및 출처 포함.

각 국가가 발표한 내용 또는 출처를 명시한 자료가 보도한 내용을, 행마다 날짜와 링크를 붙여 정리했습니다.

2026년 10월 5일 기준 현황

국가

이탈리아

전자지갑 또는 앱

IT-Wallet (app IO)

상태

라이브 앱

날짜

2026년 2월 17일

알려진 내용

IO 앱에서 라이브 중이며, 2026년 2월 17일까지 1,010만 건 활성화, 1,730만 건의 문서가 로드되었습니다. 성인에게는 무료이며 선택 사항이며, CIE 또는 SPID로 로그인합니다.

출처: innovazione.gov.it

국가

덴마크

전자지갑 또는 앱

AltID

상태

라이브 앱

날짜

2026년 8월 4일

알려진 내용

AltID는 디지털 신분증과 연령 증명 기능을 제공하며 운영 중이고, 2026년 8월 4일까지 281,390명이 생성했습니다. 디지털 정부청은 전자지갑을 단계적으로 구현하고 있습니다.

출처: digst.dk

국가

프랑스

전자지갑 또는 앱

France Identité

상태

라이브 앱

날짜

공식 날짜 없음

알려진 내용

유로뉴스에 따르면 프랑스는 선두 주자 중 하나이며, France Identité 앱은 EUDI 규정에 맞춰질 예정입니다.

출처: Euronews

국가

체코

전자지갑 또는 앱

eDoklady

상태

라이브 앱

날짜

공식 날짜 없음

알려진 내용

NFCW에 따르면, eDoklady 앱은 EUDI 지갑으로 가는 중간 단계로 출시되었습니다.

출처: NFCW

국가

독일

전자지갑 또는 앱

EUDI-Wallet (BMDS)

상태

샌드박스

날짜

2027년 1월

알려진 내용

2025년 12월부터 공개 샌드박스를 운영 중입니다. 앱은 2027년 초에 ID 기능부터 시작하여 출시될 예정입니다. 시행 법안은 2026년 9월 23일 독일 연방의회에서 첫 심의를 거쳤습니다.

출처: eudi-wallet.gov.de

국가

스페인

전자지갑 또는 앱

Cartera Digital (Beta)

상태

파일럿

날짜

2026년

알려진 내용

2026년 동안 국가 전자지갑 내에서 EU 연령 확인 솔루션을 시범 운영하는 7개국 중 하나입니다.

출처: ageverification.dev

국가

그리스

전자지갑 또는 앱

Gov.gr Wallet

상태

파일럿

날짜

2026년

알려진 내용

2026년 동안 국가 전자지갑 내에서 EU 연령 확인 솔루션을 시범 운영하는 7개국 중 하나입니다.

출처: ageverification.dev

국가

아일랜드

전자지갑 또는 앱

Government Digital Wallet

상태

파일럿

날짜

2026년

알려진 내용

2026년 동안 국가 전자지갑 내에서 EU 연령 확인 솔루션을 시범 운영하는 7개국 중 하나입니다.

출처: ageverification.dev

국가

키프로스

전자지갑 또는 앱

National wallet

상태

파일럿

날짜

2026년

알려진 내용

2026년 동안 국가 전자지갑 내에서 EU 연령 확인 솔루션을 시범 운영하는 7개국 중 하나입니다.

출처: ageverification.dev

국가

슬로바키아

전자지갑 또는 앱

National EUDI Wallet

상태

파일럿

날짜

공식 날짜 없음

알려진 내용

유로뉴스에 따르면, 슬로바키아 전자지갑은 아직 비공개 테스트 단계에 있습니다.

출처: Euronews

국가

네덜란드

전자지갑 또는 앱

NL Wallet

상태

계획됨

날짜

공식 날짜 없음

알려진 내용

NL Wallet은 개발 중이며, 국가 시행 법안이 채택되면 사용할 수 있게 될 것입니다.

출처: nldigitalgovernment.nl

국가

폴란드

전자지갑 또는 앱

mObywatel

상태

계획됨

날짜

공식 날짜 없음

알려진 내용

CHIP.pl에 따르면, 폴란드 EUDI 지갑의 파일럿은 mObywatel과 연결된 별도의 앱으로 계획되어 있습니다.

출처: CHIP.pl

국가

핀란드

전자지갑 또는 앱

National EUDI Wallet (DVV)

상태

계획됨

날짜

공식 날짜 없음

알려진 내용

유로뉴스에 따르면, 핀란드는 선두 주자 중 하나입니다.

출처: Euronews

국가

불가리아

전자지갑 또는 앱

National EUDI Wallet

상태

계획됨

날짜

공식 날짜 없음

알려진 내용

유로뉴스에 따르면, 불가리아는 선두 주자 중 하나입니다.

출처: Euronews

국가

크로아티아

전자지갑 또는 앱

Certilia

상태

계획됨

날짜

공식 날짜 없음

알려진 내용

유로뉴스에 따르면, Certilia 전자지갑은 EU 기술 프레임워크에 맞춰 재구축되고 있습니다.

출처: Euronews

국가

루마니아

전자지갑 또는 앱

National EUDI Wallet

상태

계획됨

날짜

공식 날짜 없음

알려진 내용

유로뉴스에 따르면, 루마니아는 민간 파트너십을 통해 전자지갑 개발을 빠르게 진행하고 있습니다.

출처: Euronews

국가

스웨덴

전자지갑 또는 앱

Digital identitetsplånbok (DIGG)

상태

계획됨

날짜

공식 날짜 없음

알려진 내용

유로뉴스에 따르면, 스웨덴은 EUDI 지갑 출시를 위한 로드맵을 발표했습니다.

출처: Euronews

목록에 없는 국가: 오스트리아, 벨기에, 에스토니아, 헝가리, 라트비아, 리투아니아, 룩셈부르크, 몰타, 포르투갈, 슬로베니아. 해당 날짜 기준으로 공개된 현황을 찾을 수 없었습니다. 국가 앱이 출시됨에 따라 이 표를 업데이트합니다.

Didit이 제공하는 5가지 핵심 기능

지금 바로 국가 eID를 수용하고, 다음으로 EUDI 지갑을 추가하세요.

EUDI 지갑은 새로운 인증 경로를 추가하는 것이며, 기존 경로를 대체하지 않습니다. 한 번의 워크플로우 구축으로 현재는 국가 eID 및 문서 인증을, EUDI 지갑 출시 후에는 동일한 본인 확인 단계에서 EUDI 지갑을 통한 인증을 지원합니다.
01 · 국가 eID, 현재 지원

고객이 이미 사용하는 국가 eID를 지원합니다.

Didit은 7개국에서 5가지 국가 eID(MitID, BankID Sweden, Finnish Trust Network, Smart-ID, Mobile-ID)를 지원합니다. 사용자가 eID로 로그인하면 세션은 서명된 속성을 받습니다. 이름, 생년월일, 제도 식별자(예: 스웨덴 personnummer, MitID는 가명 처리된 식별자를 반환), 제도이 확인한 보증 수준입니다. 완료된 로그인에 대해서만 비용이 청구됩니다.
eID 인증 보기
02 · EUDI 지갑, 출시 예정

동일한 워크플로우에서 EUDI 지갑을 지원합니다.

EUDI 지갑 지원이 곧 제공될 예정입니다. Didit의 지갑 카탈로그에는 30개 EEA 국가에서 국가 eID와 동일한 신원 확인 단계로 EUDI 지갑이 등록되어 있습니다. 아직 출시일이나 가격은 정해지지 않았습니다.
문의하기
03 · 문서 인증 경로

지갑이 없는 모든 사용자를 위한 문서 인증 경로입니다.

모든 사람이 지갑을 소유하거나 사용하지는 않을 것이며, 법률은 다른 수단을 허용합니다. 문서 인증 경로는 NFC를 통해 여권 및 신분증의 칩을 읽고($0.15), 14,000개 이상의 문서 유형과 220개 이상의 국가 및 지역에서 비활성 라이브니스 확인 및 얼굴과 문서 사진을 대조합니다.
NFC 인증 보기
04 · 연령 확인

최소한의 데이터로 연령을 증명합니다.

EUDI 지갑은 생년월일 없이 18세 이상임을 증명할 수 있습니다. 지갑이 보편화되기 전까지는 셀카를 통한 연령 추정 비용은 건당 $0.10이며, 경계선 결과는 본인 확인 대체 수단으로 전송됩니다. 라이브 eID 로그인은 문서 사진 없이 서명된 생년월일을 반환하기도 합니다.
연령 확인 보기
05 · 기타 실사

스크리닝, 모니터링 및 기업 확인을 한 곳에서 처리합니다.

신원 확인은 고객 실사의 한 부분입니다. 동일한 워크플로우에서 1,300개 이상의 제재 목록, PEP 및 감시 목록에 대해 개인을 스크리닝하고(건당 $0.20), 지속적인 모니터링으로 매일 재스크리닝하며(연간 인당 $0.07), 기업 및 소유주를 확인합니다.
AMLR 솔루션 보기
흐름 보기

사용자가 네 가지 화면에서 보는 내용입니다.

ARF가 설명하는 교차 기기 프레젠테이션: 사용자는 컴퓨터에서 시작하여 지갑이 있는 휴대폰에서 완료합니다.
  1. QR 코드 스캔

    서비스가 QR 코드를 표시하면 사용자는 지갑 앱으로 스캔합니다.

  2. 요청 검토

    지갑은 누가 요청하는지, 어떤 속성을 요청하는지 보여줍니다.

  3. 공유

    사용자가 승인하면 요청된 속성만 휴대폰을 떠납니다.

  4. 확인됨

    서비스는 발급자 서명을 확인하고 계속 진행합니다. 다른 정보는 공유되지 않았습니다.

표준 흐름의 예시입니다. Didit의 EUDI 지갑 지원은 곧 제공될 예정입니다.

지금 바로 통합하세요

지금 통합하고, EUDI 지갑 출시 후에도 계속 사용하세요.

아직 EUDI 전용 Didit API는 없습니다. 현재 사용 가능한 국가 eID 및 문서를 허용하는 워크플로우를 위한 세션을 생성한 다음, 결과를 읽어보세요. EUDI 지갑 지원은 동일한 ID 확인 단계에 포함될 예정입니다.
POST /v3/session/확인 시작
$ curl -X POST https://verification.didit.me/v3/session/ \
  -H "x-api-key: $DIDIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "workflow_id": "YOUR_EID_WORKFLOW_UUID",
    "vendor_data": "customer_8412"
  }'
201생성됨{ "url": "https://verify.didit.me/session/…" }
고객당 하나의 세션. 모든 결과에 귀하의 참조가 반환됩니다.docs
GET /v3/session/{id}/decision/결과 읽기
{
  "id_verifications": [{
    "status": "Approved",
    "verification_method": "wallet",
    "assurance": "cryptographic",
    "wallet_provider": "mitid",
    "wallet_verification": {
      "issuing_country": "DNK",
      "level_of_assurance": "substantial",
      "signature_valid": true,
      "attributes": {
        "full_name": "Freja Nielsen",
        "date_of_birth": "1988-03-02"
      },
      "portrait": null
    }
  }]
}
200OKverification_method: "wallet"
실시간 eID 로그인 시 서명된 속성이 반환됩니다. 주소 및 초상화는 포함되지 않습니다.docs
에이전트 연동 준비 완료

하나의 프롬프트로 EUDI 지갑을 준비하세요.

이 프롬프트를 코딩 에이전트에 복사하세요. 현재 실행 가능한 워크플로우, 문서 대체 기능을 포함한 실시간 국가 eID, 세션 호출 및 서명된 웹훅을 구축합니다. 아직 EUDI 엔드포인트가 존재하지 않으므로, 이 프롬프트는 EUDI 엔드포인트를 생성하지 않습니다.
didit-integration-prompt.md
# Didit: get ready for the EUDI Wallet with the ID Verification step you run today

You are adding electronic identification to my_stack so the product is ready
for the EU Digital Identity (EUDI) Wallet. Every URL, header and enum value
below is canonical. Do not paraphrase or "improve" them.

## 0. What exists today, and what does not
- EUDI Wallet acceptance on Didit is coming soon. There is NO EUDI-specific
  endpoint, wallet id, field or flag to integrate yet. Do not invent one, do
  not send any EUDI identifier in a workflow, and do not build an OpenID4VP
  verifier yourself as part of this task.
- What is live: national digital ID wallets inside the ID Verification step,
  with document capture (chip reading, liveness, face match) as the fallback.
  EUDI Wallet acceptance is planned for the same ID Verification step, so the
  workflow, session call and webhook you build now are the ones you keep.
- The live wallets, as listed by the methods catalog:
  - MitID: wallet id mitid, country keys DNK (Denmark)
  - BankID: wallet id bankid_se, country keys SWE (Sweden)
  - Finnish Trust Network: wallet id ftn, country keys FIN (Finland)
  - Smart-ID: wallet id smart_id, country keys EST (Estonia), LVA (Latvia), LTU (Lithuania), BEL (Belgium)
  - Mobile-ID: wallet id mobile_id, country keys EST (Estonia), LTU (Lithuania)
  Check the catalog for your environment before you go live. Never
  hard-code dates.

## 1. Provision an account
- Sign up: https://business.didit.me (no credit card required).
- Copy the API key of your application from the console.

## 2. Read the methods catalog
Availability is server-driven per country. Only wallets marked available can
be enabled on a live application.
  - Business Console: your application -> Workflows -> the ID Verification
    step -> Countries -> "Wallets accepted". Coming-soon wallets are listed
    but cannot be switched on. https://docs.didit.me/console/id-verification-methods
  - Didit MCP server (https://mcp.didit.me/mcp), tool
    didit_workflow_get_id_verification_methods_catalog; pass country as ISO
    3166-1 alpha-3 to narrow it. The MCP server signs in with "Log in with
    Didit" (OAuth). It does not accept the x-api-key.
    https://docs.didit.me/integration/mcp/tools
  - Public coverage table (no sign-in, read-only):
    https://docs.didit.me/core-technology/id-verification/digital-id-wallets#supported-wallets
If your code holds only an API key, it cannot read the catalog itself: use the
wallet ids listed in this prompt, and treat the answer of the workflow save as
the check. A live application answers 400 for a wallet that is not available
in that country ("<wallet> is not offered in <ISO3>", "unknown wallet").

## 3. Create the workflow (ID Verification = feature OCR)
POST https://verification.didit.me/v3/workflows/
  -H "x-api-key: <your-api-key>"
  -H "Content-Type: application/json"

{
  "workflow_label": "eID onboarding",
  "features": [
    {
      "feature": "OCR",
      "config": {
        "methods": {
          "DNK": {
            "document": { "enabled": true },
            "wallet": {
              "enabled": true,
              "providers": ["mitid"],
              "on_failure": "fallback_to_document"
            }
          },
          "EST": {
            "document": { "enabled": true },
            "wallet": {
              "enabled": true,
              "providers": ["smart_id", "mobile_id"],
              "on_failure": "fallback_to_document"
            }
          }
        }
      }
    }
  ]
}

Response: 201. The workflow id is uuid (workflow_id carries the same value);
the workflow is published straight away. Create it once and keep the id:
every call to this endpoint makes a new workflow.
is_desktop_allowed defaults to false: on a desktop browser the hosted flow
then shows a QR code to continue on a phone. Add "is_desktop_allowed": true
next to workflow_label to let people finish on desktop.

Rules the API enforces:
  - OCR is UPPERCASE; ID_VERIFICATION is rejected in this body (the decision
    later lists the step as ID_VERIFICATION in its features)
  - country keys are ISO 3166-1 alpha-3; method keys are document, id_lookup, wallet
  - providers is an accept-list, not a ranking; the end user picks
  - on_failure is fallback_to_document or decline
  - a wallet the catalog does not mark available rejects the whole save (400)
  - every other country keeps document capture, so people without an eID
    can still verify
  - this body runs document capture only. Chip reading, liveness and face
    match are their own features: add { "feature": "NFC" },
    { "feature": "LIVENESS" } and { "feature": "FACE_MATCH" } to features
    when your policy needs them

## 4. Create a session
POST https://verification.didit.me/v3/session/
  -H "x-api-key: <your-api-key>"
  -H "Content-Type: application/json"
  -d '{ "workflow_id": "<id from step 3>", "vendor_data": "<your user id>" }'

Response: 201 with session_id, session_token, url and status "Not Started".
Redirect the user to url (hosted flow) or open it in the Web, iOS, Android,
React Native or Flutter SDK. The field is named url on this response.
One unfinished session exists per workflow_id and vendor_data pair: calling
create again with the same pair answers 201 again with that same session.

## 5. Webhook
Register a destination in the console (API & Webhooks), or over the API:

POST https://verification.didit.me/v3/webhook/destinations/
  -H "x-api-key: <your-api-key>"
  -H "Content-Type: application/json"
  -d '{
    "label": "Verification webhooks",
    "url": "https://<your-public-host>/webhooks/didit",
    "webhook_version": "v3",
    "subscribed_events": ["status.updated", "data.updated"]
  }'

label, url and subscribed_events are required. url must be a public HTTPS
address: Didit does not deliver to localhost or private addresses. Response:
201 with uuid and secret_shared_key. Store secret_shared_key as the webhook
secret (DIDIT_WEBHOOK_SECRET); it is unique to this destination. Remove a
destination with DELETE /v3/webhook/destinations/{uuid}/ (204).

What arrives:
  - webhook_type is "status.updated" (the session changed status) or
    "data.updated" (verification data was corrected after the fact)
  - a destination receives the events of every session of the application,
    so filter on workflow_id or vendor_data when several flows share it
  - creating a session already sends status.updated with status
    "Not Started". The decision key is present only when status is Approved,
    Declined, In Review or Abandoned.

Verify every delivery:

  Header:      X-Signature-V2 (not X-Signature, not X-Signature-Simple)
  Algorithm:   HMAC-SHA256, hex digest, over the canonical JSON of the payload
               (Python json.dumps(sort_keys=True, separators=(",", ":"),
               ensure_ascii=False) after whole-valued floats become ints).
               Never hash the raw request bytes under this header.
  Freshness:   the signed body field timestamp is the dispatch time (Unix
               seconds). Reject when abs(now - timestamp) > 300 seconds, and
               reject when the X-Timestamp header does not equal it.
  Idempotency: event_id is the same on every retry of one event, so store it
               and skip a delivery you already processed. One session can
               still send the same status under two event ids, and the
               console's Try Webhook test deliveries carry no event_id, so
               also make the handler safe to run twice for one
               (session_id, status, webhook_type).
  Compare:     constant-time (crypto.timingSafeEqual)

Reference handler (Express). Keep the verification lines as written.
The handler is a fragment. Put this above it and app.listen(process.env.PORT)
below it. It needs Express and Node 21 or newer (an older Node rejects
every delivery). It expects a JSON body: answer 400 yourself if you accept
anything else on this route, and refuse to start without the secret.

const express = require("express");
const app = express();
const SECRET = process.env.DIDIT_WEBHOOK_SECRET; // secret_shared_key of the destination

// Your endpoint receives a signed payload
const crypto = require("node:crypto"); // ESM: import crypto from "node:crypto"
// X-Signature-V2 = HMAC over the canonical JSON, never the raw bytes. Match the sender byte for
// byte: keys sorted by code point, integers digit for digit, floats in Python's repr.
class Num { constructor(src) { this.src = src; } } // a number as written on the wire, not a double
const num = (s) => { if (/^-?\d+$/.test(s)) return BigInt(s).toString(); const n = +s; // ints stay exact
  if (Number.isInteger(n)) return BigInt(n).toString(); const [m, e] = n.toExponential().split("e"); // 27.0 -> 27
  return +e >= -4 ? String(n) : `${m}e-${String(-e).padStart(2, "0")}`; }; // 1e-05, not 0.00001
const byCodePoint = (a, b) => Buffer.compare(Buffer.from(a), Buffer.from(b)); // UTF-8 order = Python's
const canon = (v) => Array.isArray(v) ? `[${v.map(canon)}]` : v instanceof Num ? num(v.src)
  : v && typeof v === "object" ? `{${Object.keys(v).sort(byCodePoint).map((k) => `${JSON.stringify(k)}:${canon(v[k])}`)}}`
  : JSON.stringify(v);
// Read the body as text: express.json() would round 1000000000000000129 to a double first.
// Register this route ABOVE any global app.use(express.json()): the first parser to run
// consumes the stream, and a body it already parsed has lost the digits the signature covers.
app.post("/webhooks/didit", express.text({ type: "application/json" }), (req, res) => {
  const exact = JSON.parse(req.body, (k, v, c) => typeof v === "number" ? new Num(c.source) : v); // Node 21+
  const body = JSON.parse(req.body);
  const mac = crypto.createHmac("sha256", SECRET).update(canon(exact), "utf8").digest("hex");
  const sig = Buffer.from(String(req.headers["x-signature-v2"] ?? ""));
  // Freshness comes from the signed body timestamp; the header alone is unsigned and replayable.
  const ts = body.timestamp, fresh = String(ts) === req.headers["x-timestamp"]
    && Math.abs(Date.now() / 1000 - ts) <= 300;
  if (!fresh || sig.length !== mac.length
    || !crypto.timingSafeEqual(sig, Buffer.from(mac))) return res.sendStatus(401);
  const { status, decision } = body;
  // One entry per ID Verification node; pick yours by node_id when you run several.
  const [idv] = decision?.id_verifications ?? [];
  // idv.verification_method: "document" | "id_lookup" | "wallet"
  res.sendStatus(200);
});

Status values (exact strings): Not Started, In Progress, Approved, Declined,
In Review, Resubmitted, Expired, Abandoned, Kyc Expired. Awaiting User only
appears on business verification sessions.

## 6. Read the result
The same V3 decision reaches you two ways:
  - webhook body: body.decision.id_verifications[]
  - GET https://verification.didit.me/v3/session/{session_id}/decision/
      -H "x-api-key: <your-api-key>"
    This response IS the decision object. Read id_verifications at the top
    level: there is no decision wrapper here.
Until the user finishes the ID step, status is "Not Started" or "In Progress"
and id_verifications is null, not an empty array. Guard for it.

id_verifications[] has one entry per ID Verification node; with a single step
take index 0. A wallet sign-in sets:
  verification_method    "wallet"
  assurance              "cryptographic"
  wallet_provider        the catalog wallet id the user picked
  wallet_verification    provider, provider_name, issuing_authority,
                         issuing_country, credential_type, level_of_assurance,
                         verified_at, signature_valid, attributes, portrait
                         (null for the live wallets), face_match_score
  fallback_from          { method, reason, action } when the wallet sign-in failed
                         and on_failure declined the session; otherwise
                         null. After a document fallback that succeeds the
                         entry reads verification_method "document" with
                         fallback_from null
  full_name,             the normalised identity fields, on the entry itself
  date_of_birth
On a live application, check wallet_verification.signature_valid before you
trust attributes. The
live wallets return name, date of birth and a scheme identifier (for example
the Swedish personnummer; MitID returns a pseudonymised identifier), never an
address or a portrait: collect those through other steps if your policy
needs them.
Reference: https://docs.didit.me/core-technology/id-verification/digital-id-wallets

## 7. Billing
Only completed wallet sign-ins are billed; cancelled, timed-out and failed
ones are free. Prices per wallet: https://didit.me/pricing

## 8. Verify your integration
Sandbox (an application in sandbox mode: nothing is billed and no real eID is
called). https://docs.didit.me/integration/sandbox-testing
  - a sandbox application can enable every wallet in the catalog, the
    coming-soon ones included. A workflow that saves in sandbox can still be
    refused on a live application, so only use wallets marked available.
  - open the session url, pick the wallet and confirm: the default approve
    scenario simulates the sign-in. The entry then has verification_method
    "wallet", assurance "cryptographic" and wallet_provider set, and the
    normalised full_name and date_of_birth are filled. But
    wallet_verification.signature_valid and level_of_assurance are null and
    attributes is { "sandbox": true }: no real credential was checked.
    Assert signature_valid === true and the level of assurance only against
    a live application.
  - to exercise on_failure, create the session with
    "sandbox_scenario": "wallet_cancelled" (also wallet_timeout and
    wallet_provider_error). The wallet sign-in then fails and the flow moves
    to document capture or declines, as on_failure says. A fallback that
    ends in an approved document reads verification_method "document".
  - POST /v3/session/{session_id}/simulate/ forces a final status but writes
    no id_verifications entry, so it cannot stand in for a sign-in.

Checks:
  - create the workflow, create a session, and read its decision: expect 201,
    201 with url, and 200 with status "Not Started"
  - run one sandbox session per accepted wallet through the hosted flow and
    assert verification_method is "wallet" and wallet_provider is the wallet
    you picked
  - run one session with sandbox_scenario "wallet_cancelled" and assert the
    flow offers document capture
  - assert the webhook accepts a correctly signed payload and rejects a wrong
    X-Signature-V2, a changed body, and a payload whose signed timestamp is
    older than 300 seconds, even when X-Timestamp is refreshed
  - on a live application, assert wallet_verification.signature_valid is true

Docs: https://docs.didit.me/core-technology/id-verification/digital-id-wallets
더 많은 정보가 필요하신가요? 전체 모듈 문서를 확인해 보세요.docs.didit.me →
설계부터 규정 준수

클릭 한 번으로 새로운 국가에 진출하세요. 어려운 일은 저희가 처리합니다.

저희는 현지 자회사를 설립하고, 라이선스를 확보하며, 침투 테스트를 실행하고, 인증을 획득하며, 모든 새로운 규정을 준수합니다. 새로운 국가에서 인증을 배포하려면 토글만 켜면 됩니다. 220개 이상의 국가에서 서비스 중이며, 매 분기마다 감사 및 침투 테스트를 거칩니다. EU 회원국 정부가 대면 인증보다 더 안전하다고 공식적으로 인정한 유일한 신원 확인 제공업체입니다.
보안 및 규정 준수 문서 읽기
SOC 2 · Type II — AICPA · 2026
SOC 2 · Type I — AICPA · 2026
ISO/IEC 27001 — 정보 보안 · 2026
EU 금융 샌드박스 — Tesoro · SEPBLAC · BdE
FIDO Alliance — 준회원 · 2026
iBeta Level 1 PAD — NIST / NIAP · 2026
GDPR — EU 2016/679
HIPAA — 45 CFR §160 · §164
DORA — EU 2022/2554
MiCA — EU 2023/1114
EBA 원격 온보딩 — EBA/GL/2022/15
AMLD6 · eIDAS 2.0 — 설계부터 EU 규정 준수
Jugendschutz geprüft — FSM · JMStV §4(2) · 2026

증명 수치

증명 수치
  • 3,000+
    운영 중인 기업
  • 5
    Didit에서 사용 가능한 국가 eID
  • 30
    EUDI 지갑 출시 예정 EEA 국가
  • 220+
    문서 경로를 지원하는 국가 및 지역
세 가지 티어, 하나의 가격표

무료로 시작하고, 사용한 만큼만 지불하며, 엔터프라이즈 규모로 확장하세요.

매월 500건의 무료 인증을 영원히 제공합니다. 그 후에는 모듈 실행 시에만 비용을 지불합니다. 엔터프라이즈 고객에게는 맞춤형 계약, 데이터 상주, 서비스 수준 협약(SLA)을 제공합니다.

무료

$0/월 · 카드 정보 불필요

개발, 테스트 및 초기 사용자 확보에 적합합니다.

시작하는 데 필요한 모든 것:
  • 매월 500건의 전체 KYC 인증
  • 신분증, 라이브니스, 얼굴 매칭, 기기 및 IP 확인
  • 200개 이상의 사기 신호, 차단 목록, 중복 확인
  • Didit 네트워크 전반에서 KYC 재사용 가능
  • 워크플로우 빌더, 케이스 관리, SDK
  • AI 지원 콘솔 내 AI 에이전트, 문서, 커뮤니티.
가장 인기

사용한 만큼만 지불

$0.33전체 KYC당

25개 이상의 모듈, 투명한 가격 정책. 자동 볼륨 할인.

무료의 모든 기능과 더불어:
  • AML 심사 및 모니터링 $0.07부터
  • 국가 및 데이터 등급별 기업 등록 가격
  • 거래 모니터링 건당 $0.02
  • 지갑 스크리닝 건당 $0.15
  • 자사 브랜드로 화이트 라벨 플로우 제공
  • AI 지원 콘솔 내 AI 에이전트, 문서, 커뮤니티.

엔터프라이즈

맞춤형연간 계약

대규모 볼륨 및 규제 프로그램에 적합합니다.

사용한 만큼만 지불의 모든 기능과 더불어:
  • 연간 계약, 약정된 볼륨 기반 가격 책정
  • 맞춤형 법률 조건 및 99.99% 가동 시간 SLA
  • 데이터 상주, 보존, 보안 검토
  • 주문형 수동 검토자
  • 리셀러 및 화이트 라벨 조건
  • 우선 휴먼 지원 24시간 연중무휴 공유 Slack 채널, 전담 성공 관리자.

사용량이 증가하면 볼륨 할인이 자동으로 적용됩니다. 협상이나 영업팀과의 통화가 필요 없습니다.

FAQ

EUDI 지갑 관련 질문과 답변

최종 검토: 2026년 10월 5일. 법적 자문이 아닙니다.
Didit은 어떤 회사인가요?

Didit은 신원 및 사기 방지 인프라입니다. 저희가 직접 제품을 개발하면서 필요하다고 느꼈던 플랫폼을 만들었습니다. 개방적이고 유연하며 개발자 친화적이어서, 단순히 연동하는 블랙박스가 아니라 스택의 핵심적인 부분으로 작동합니다.

하나의 API로 개인 확인(KYC, 고객 알기), 기업 확인(KYB, 사업체 알기), 암호화폐 지갑 심사(KYT, 거래 알기), 실시간 거래 모니터링을 모두 처리할 수 있습니다. Didit의 스택은 다음과 같은 특징을 가집니다:

  • 빠른 속도: 모든 세션에서 p99 기준 2초 미만
  • 높은 신뢰성: 220개 이상의 국가에서 3,000개 이상의 기업이 프로덕션 환경에서 사용 중
  • 강력한 보안: SOC 2 Type 1 & Type 2, ISO 27001, GDPR 준수, 스페인 금융 규제 기관으로부터 대면 확인보다 안전하다는 공식 인증 획득

내부적으로는 48개 이상의 언어로 된 14,000개 이상의 문서 유형, 1,000개 이상의 데이터 소스, 그리고 모든 세션에서 200개 이상의 사기 신호를 처리합니다. Didit 인프라는 모든 세션에서 동적으로 학습하며 매일 발전합니다.

EUDI 지갑은 무엇인가요?

EU 디지털 신원(EUDI) 지갑은 eIDAS 규정(EU) No 910/2014를 개정한 eIDAS 2로 알려진 규정(EU) 2024/1183에 따라 모든 EU 회원국이 제공해야 하는 앱입니다. 이 법은 EUDI 지갑을 개인이 개인 식별 데이터(PID) 및 전자 속성 증명서를 저장, 관리 및 검증하고, 이를 의존 당사자와 공유하며, 적격 전자 서명으로 서명할 수 있도록 하는 전자 신원 확인 수단으로 정의합니다.

기업에 중요한 세 가지 특징은 다음과 같습니다:

  • 개인이 무료로 발급, 사용 및 철회할 수 있습니다 (제5a조(13)항).
  • 자발적이며, 서비스는 다른 수단에도 개방되어야 합니다 (제5a조(15)항).
  • 높은 수준의 신뢰도를 가진 eID 체계 하에 제공됩니다 (제5a조(11)항).

국가 eID 앱이 자동으로 EUDI 지갑이 되는 것은 아닙니다. 지갑은 EUDI 규칙을 충족하고 제5c조에 따라 인증을 받아야 EUDI 지갑으로 간주됩니다.

EUDI 지갑은 언제 출시되나요?

각 회원국은 최초 이행법이 발효된 2024년 12월 24일로부터 24개월 이내에 최소 1개의 EUDI 지갑을 제공해야 합니다. 따라서 마감일은 2026년 12월 24일입니다.

2026년 10월 5일 현재 상황:

  • 이탈리아의 IT-Wallet은 2026년 2월 17일까지 1,010만 건 이상의 활성화를 기록했으며, 덴마크의 AltID는 디지털 신분증과 연령 증명 기능을 제공하며 운영 중입니다. 이들은 가장 앞선 국가 앱입니다.
  • 독일은 공개 샌드박스를 운영 중이며, 2027년 초에 지갑 앱이 출시될 예정입니다.

이 날짜는 eIDAS 2 자체의 발표일이 아닌, 이행법의 발효일로부터 계산됩니다. 여러 국가 앱이 다른 날짜에 출시될 예정이므로, 이 페이지의 준비 현황 표에는 각 국가별 날짜와 출처가 표시되어 있습니다.

EUDI 지갑을 언제부터 의무적으로 수락해야 하나요?

법률 또는 계약에 따라 귀사의 비즈니스가 온라인 식별을 위해 강력한 사용자 인증을 사용해야 하는 경우, 그렇습니다. 제5f조(2)항에 따라, 해당 위치에 있는 민간 의존 당사자는 사용자가 EUDI 지갑 사용을 요청할 경우, 첫 번째 시행법 발효 후 36개월 이내인 2027년 12월 24일까지 EUDI 지갑을 수락해야 합니다.

해당 조항은 운송, 에너지, 은행, 금융 서비스, 사회 보장, 건강, 식수, 우편 서비스, 디지털 인프라, 교육 및 통신 분야를 예시로 들고 있습니다. 이 목록은 폐쇄적이지 않으며, 인증 요구 사항이 기준이지 특정 분야가 기준은 아닙니다.

전자 식별이 필요한 공공 부문 서비스도 Wallet을 수락해야 합니다(제5f조(1)항). 사용자 인증이 필요한 초대형 온라인 플랫폼은 사용자의 요청에 따라 최소한의 데이터에 대해 Wallet을 수락해야 합니다(제5f조(3)항). 이 의무에 대한 별도의 날짜는 명시되어 있지 않습니다.

이 내용은 요약이며 법률 자문이 아닙니다.

소규모 사업체는 면제되나요?

네, 그렇습니다. 제5f조(2)항은 위원회 권고 2003/361/EC 부록 제2조에 정의된 소기업 및 영세기업을 제외합니다. 해당 권고에 따라 귀사의 규모를 확인하십시오.

이 면제는 수락 의무에 대한 것이지, 수락 옵션에 대한 것은 아닙니다. 소규모 사업체도 더 빠른 가입이나 생년월일을 공유하지 않는 연령 확인을 제공하기 위해 Wallet을 수락할 수 있습니다.

규모와 관계없이 두 가지는 변하지 않습니다.

  • Wallet에 의존하는 경우, 귀사가 설립된 회원국에 의존 당사자로 등록해야 합니다(제5b조(1)항).
  • EU 자금세탁 방지 규정의 의무 대상인 경우, 여전히 고객을 확인해야 합니다. 2027년 7월 10일부터 AMLR 제22조(6)항은 실질적 또는 높은 보증 수준의 전자 식별을 두 가지 경로 중 하나로 허용합니다.

이 내용은 요약이며 법률 자문이 아닙니다.

의존 당사자는 무엇이며, 어떻게 등록하나요?

의존 당사자는 EUDI 지갑에 의존하여 사용자를 식별하거나 속성을 확인하는 모든 기업 또는 공공 기관을 말합니다. 제5b조(1)항에 따라 의존 당사자는 설립된 회원국에 등록해야 합니다. 등록 시 귀사의 신원, 연락처 정보 및 의도된 사용 목적(요청할 데이터 포함)을 명시해야 하며, 그 외의 다른 데이터는 요청할 수 없습니다(제5b조(3)항).

등록에 관한 규정인 시행 규정 (EU) 2025/848은 2026년 12월 24일부터 적용됩니다. 등록 후에는 다음을 받게 됩니다.

  • Wallet에 귀사를 인증하는 액세스 인증서
  • 회원국이 발급하는 경우, 등록한 속성을 나열하는 등록 인증서

의존 당사자를 대신하여 활동하는 중개자는 의존 당사자로 취급되며, 거래 내용에 대한 데이터를 저장할 수 없습니다(제5b조(10)항). 예를 들어 독일은 조직 및 사용 사례당 하나의 액세스 및 등록 인증서를 설명합니다.

Wallet에서 어떤 데이터를 요청할 수 있나요?

등록한 속성만 요청할 수 있으며, 사용자가 공유할지 여부를 결정합니다. PID에는 필수 속성으로 성, 이름, 생년월일, 출생지, 국적, 그리고 만료일, 발급 기관, 발급 국가가 포함됩니다. 선택적 속성으로는 초상화, 성별, 주소 필드 및 개인 행정 번호가 있으며, 각 회원국이 어떤 것을 발급할지 결정합니다.

PID 외에도 Wallet은 운전면허증, 학위 또는 연령 증명과 같은 전자 속성 증명서를 보유합니다. 회원국은 또한 주소, 연령, 국적 및 전문 자격증을 포함하여 최소한의 속성 목록을 신뢰할 수 있는 출처에 대해 검증 가능하도록 해야 합니다(부록 VI).

선택적 공개를 통해 사용자가 승인한 내용만 발급자가 서명하고 유효성 확인에 필요한 메타데이터와 함께 받게 됩니다. 적게 요청할수록 보호해야 할 개인 데이터가 줄어듭니다.

EUDI 지갑만으로 AMLR에 따른 KYC를 충족할 수 있나요?

신원 확인의 경우 가능할 수 있습니다. AMLR 제22조(6)(b)항은 실질적 또는 높은 보증 수준의 전자 식별 수단을 통한 확인을 허용하며, EUDI 지갑은 높은 수준에서 작동합니다. AMLA의 고객 실사 최종 초안 표준(2026년 9월 30일, 위원회에 제출된 최종 초안이며 법률은 아님)은 가능한 한 eID 수단을 사용해야 한다고 명시하며, EUDI 지갑도 포함합니다.

하지만 이것이 실사 전체를 의미하지는 않습니다.

  • 주소 및 납세자 식별 번호는 PID에 누락되는 경우가 많습니다. 초안 표준은 누락된 속성을 다른 수단을 통해 확보해야 한다고 명시합니다.
  • 실소유주, 제재 및 PEP 심사, 관계의 목적 및 지속적인 모니터링은 별도의 의무입니다(AMLR 제20조, 제25조 및 제26조).

Didit은 현재 이러한 부분을 다루고 있습니다: 주소 증명, 설문지, 사업체 확인, AML 심사(건당 $0.20), 지속적인 모니터링(인당 연간 $0.07).

EUDI 지갑은 어떤 프로토콜을 사용하나요(OpenID4VP, SD-JWT VC, mdoc)?

세 가지 계층으로 구성됩니다.

  • 자격 증명 형식. PID는 SD-JWT VC(선택적 공개 JSON 웹 토큰 검증 가능 자격 증명) 및 모바일 운전면허증 형식인 ISO/IEC 18013-5 mdoc으로 발급됩니다. 둘 다 공개되지 않은 값을 솔트 해시 뒤에 숨깁니다. SD-JWT VC는 원격 사용을 위한 것이고, mdoc은 대면 확인도 포함합니다.
  • 프레젠테이션. 온라인에서는 의존 당사자가 High Assurance Interoperability Profile(HAIP)에 따라 OpenID for Verifiable Presentations(OpenID4VP) 또는 ISO/IEC 18013-7을 통해 리디렉션 또는 W3C Digital Credentials API를 통해 데이터를 요청합니다. 대면 시에는 ISO/IEC 18013-5가 QR 코드 또는 NFC로 시작하여 Bluetooth, NFC 또는 Wi-Fi Aware를 통해 계속됩니다.
  • 발급. Wallet은 OpenID4VCI를 통해 자격 증명을 받습니다.

2026년 7월 23일에 발표된 Architecture and Reference Framework(ARF) v3.0.0은 전체 스택을 설명합니다.

EUDI 지갑은 생년월일을 공유하지 않고도 연령을 증명할 수 있나요?

네, 그렇습니다. 선택적 공개를 통해 Wallet은 해당 인물이 18세 이상이라는 사실만 공유할 수 있습니다. 네덜란드 정부는 이를 다음과 같이 설명합니다. 18세 이상인지 여부만 공유하고 생년월일을 제공할 필요가 없습니다.

EU는 또한 2025년 7월에 발표되고 2025년 10월에 업데이트된 연령 확인 청사진을 가지고 있습니다. 이는 독립형 앱 또는 Wallet 기능입니다. 이 연령 증명서에는 신원 데이터가 포함되어 있지 않으며, 증명서는 일회성 사용을 위해 일괄 발급되고, 발급자는 증명서가 어디에서 사용되었는지 알 수 없습니다. 2026년 4월, 위원회는 회원국에 연말까지 앱을 사용할 수 있도록 촉구했으며, 덴마크, 프랑스, 그리스, 이탈리아, 스페인이 가장 먼저 이를 채택했습니다.

디지털 서비스법의 적용을 받는 플랫폼의 경우, 미성년자에 대한 위원회 지침(2025년 7월)은 18세 이상 콘텐츠에 대한 연령 확인을 선호하며, 안면 연령 추정을 일시적인 대안으로 간주합니다.

Wallet에 얼굴 사진이 있나요? 그리고 이를 통해 얼굴 매칭을 할 수 있나요?

2028년 8월 11일 이전에는 신뢰할 수 없습니다. 시행 규정 (EU) 2026/1731에 따라, 초상화는 해당 날짜부터 필수 PID의 일부가 됩니다. 그 전까지는 선택 사항이며, 각 회원국이 포함 여부를 결정합니다. 초상화 공유 또한 선택적 공개, 사용자 경고 및 로깅이 필요합니다.

ARF는 자격 증명을 제시하는 사람이 정당한 소유자인지 확인하는 것을 사용자 바인딩이라고 부릅니다. 일부 흐름에서는 의존 당사자가 이를 수행하고, 다른 흐름에서는 Wallet 자체의 확인에 의존합니다.

따라서 현재로서는 얼굴 매칭이 필요한 정책의 경우 셀카 단계를 계획하십시오. 즉, 수동 라이브니스와 문서 사진 또는 NFC로 읽은 칩 초상화에 대한 1:1 얼굴 매칭입니다. Didit에서는 이것이 전체 KYC 확인의 일부이며 $0.33입니다. 현재 운영 중인 5개의 국가 eID 중 어느 것도 초상화를 반환하지 않습니다.

현재 Wallet을 보유한 국가는 어디인가요?

2026년 10월 5일 현재, 여러 국가 앱이 출시되었거나 테스트 중입니다.

  • 이탈리아: IO 앱의 IT-Wallet은 2026년 2월 17일까지 1,010만 건의 활성화를 기록했습니다.
  • 덴마크: AltID는 디지털 신분증과 연령 증명 기능을 제공하며 운영 중이고, 2026년 8월 4일까지 281,390명이 생성했습니다.
  • 독일: 2025년 12월부터 공개 샌드박스를 운영 중이며, 앱은 2027년 초에 출시될 예정입니다.
  • 네덜란드: NL Wallet은 개발 중이며 국가 시행법을 기다리고 있습니다.
  • 스페인, 그리스, 아일랜드, 키프로스는 덴마크, 프랑스, 이탈리아와 함께 2026년 동안 자국 지갑에서 EU 연령 확인 솔루션을 시범 운영하고 있습니다.

이 페이지의 준비 상태 표에는 공개 상태를 확인할 수 있는 모든 국가와 각 행의 날짜 및 출처가 나열되어 있습니다.

Didit은 현재 EUDI 지갑을 수락하나요?

아직은 아닙니다. Didit에서 EUDI 지갑 수락이 곧 제공될 예정입니다. 저희 Wallet 카탈로그에는 30개 EEA 국가에 대한 정보가 있으며, 현재 구성하는 동일한 ID 확인 단계에 포함될 예정입니다. 출시 전에는 날짜나 가격을 공개하지 않습니다.

현재 작동하는 기능은 다음과 같습니다.

  • 5개의 국가 eID가 운영 중입니다: MitID(덴마크), BankID Sweden, Finnish Trust Network(핀란드), Smart-ID(에스토니아, 라트비아, 리투아니아, 벨기에) 및 Mobile-ID(에스토니아, 리투아니아). 이들은 전체 이름, 생년월일, 제도 식별자(예: 스웨덴 personnummer, MitID는 가명 처리된 식별자를 반환) 및 보증 수준을 서명 확인과 함께 반환합니다. 완료된 로그인에 대해서만 요금이 청구됩니다.
  • 문서 대체: NFC를 통한 칩 판독, 수동 라이브니스 및 얼굴 매칭, 14,000개 이상의 문서 유형 지원.

현재 이러한 기능을 기반으로 구축된 워크플로는 EUDI 지갑 수락이 도입되어도 계속 작동합니다. Wallet이 출시 계획에 중요하다면 저희에게 문의하십시오.

EUDI 지갑 수락 비용은 얼마인가요?

개인에게 Wallet은 무료입니다. 발급, 사용 및 취소에 비용이 들지 않습니다(제5a조(13)항). 기업의 경우 상황이 다릅니다.

  • 규정은 의존 당사자에 대한 수수료를 배제하지 않습니다. 등록은 비용 효율적이고 위험에 비례해야 하며(제5b조(2)항), 각 회원국이 자체 등록 및 인증서 프로세스를 설정하므로 수수료는 귀사가 설립된 국가에 따라 달라집니다.
  • 검증자를 운영하고, 신뢰할 수 있는 목록을 확인하고, 증거를 보관하는 것은 자체 엔지니어링 비용이거나 공급업체가 청구하는 가격입니다.

Didit은 EUDI 지갑 수락 기능이 출시되면 가격 페이지에 가격을 게시할 예정입니다. 현재 가격 페이지에는 전체 KYC 확인($0.33) 및 AML 심사($0.20)와 같이 모든 운영 중인 확인에 대한 게시된 가격이 표시되어 있습니다.

지금 어떻게 준비해야 하나요?

Wallet이 출시되기 전에 효과적인 다섯 가지 단계입니다.

  • 제5f조(2)항이 귀사에 적용되는지 확인하십시오: 강력한 사용자 인증을 사용해야 하는 법적 또는 계약상 의무가 있고, 소기업 또는 영세기업이 아닌지 확인합니다.
  • 각 사용 사례에 대해 정말로 필요한 속성을 나열하십시오. 등록 시 해당 속성으로 제한되므로, 연령 게이트에는 전체 신원이 아닌 18세 이상 연령이 필요합니다.
  • 누락된 부분을 계획하십시오: PID에는 이름, 생년월일, 출생지, 국적이 항상 포함됩니다. 주소와 기타 속성은 선택 사항이라 없을 수 있으며, 세금 번호, 실소유주, 심사 및 모니터링은 PID 범위 밖입니다.
  • 고객이 있는 곳에서는 지금 국가 eID를 수락하고, 다른 모든 사람을 위해 문서 경로를 유지하십시오. Didit에서는 5개의 국가 eID가 운영 중이며, EUDI 지갑 수락이 곧 동일한 단계에 제공될 예정입니다.
  • 회원국을 주시하십시오: 등록 규칙은 2026년 12월 24일부터 적용되며, 국가 앱은 다른 날짜에 출시됩니다.

최종 검토: 2026년 10월 5일. 법률 자문이 아닙니다.

신원 및 사기 방지 인프라.

KYC, KYB, 거래 모니터링, 지갑 심사를 위한 단일 API. 5분 만에 통합하세요.

AI에게 이 페이지 요약 요청