무료
월 $0. 신용카드 정보가 필요 없습니다.
- 무료 KYC 번들 (신분증 확인 + 패시브 라이브니스 + 얼굴 매칭 + 기기 및 IP 분석), 매월 500건 제공
- 차단된 사용자
- 중복 감지
- 모든 세션에서 200개 이상의 사기 신호 감지
- Didit 네트워크 전반에 걸쳐 재사용 가능한 KYC
- 사례 관리 플랫폼
- 워크플로 빌더
- 공개 문서, 샌드박스, SDK, MCP(Model Context Protocol) 서버
- 커뮤니티 지원


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

규제 플랫폼이 제공해야 하는 것
전자여권 칩의 데이터는 발급 국가에서 암호화 방식으로 서명됩니다. 이 서명 체인을 확인하고, 셀카와 고해상도 칩 사진을 대조하여 문서의 진위 여부를 은행 수준으로 보장합니다. Didit의 NFC 플로우는 5초 이내에 완료되며, NFC를 사용할 수 없는 경우 OCR로 자동 전환됩니다. iOS, Android, React Native, Flutter용 네이티브 SDK를 제공합니다.
신분증, 라이브니스, 얼굴 일치, 제재 목록, 주소, 연령, 전화번호, 이메일, 맞춤 질문 등 필요한 검사를 선택하세요. 대시보드에서 드래그 앤 드롭으로 플로우를 만들거나, API를 통해 동일한 플로우를 게시할 수 있습니다. 조건에 따라 분기하고 A/B 테스트를 실행할 수 있으며, 코드가 필요 없습니다.
Web, iOS, Android, React Native, Flutter SDK를 사용하여 네이티브로 임베드하거나, 호스팅된 페이지로 리디렉션할 수 있습니다. 또는 이메일, SMS, WhatsApp 등 어디든 사용자에게 링크를 보내세요. 스택에 맞는 방식을 선택하세요.
Didit은 카메라, 조명 안내, 모바일 핸드오프, 접근성을 호스팅합니다. 사용자가 플로우를 진행하는 동안 200개 이상의 사기 신호를 실시간으로 분석하고 모든 필드를 신뢰할 수 있는 데이터 소스와 대조하여 확인합니다. 2초 이내에 결과가 나옵니다.
실시간 서명된 웹훅은 사용자가 승인, 거부 또는 검토 대상으로 분류되는 즉시 데이터베이스를 동기화합니다. 필요에 따라 API를 폴링할 수 있습니다. 또는 콘솔을 열어 모든 세션, 모든 신호를 검사하고 케이스를 직접 관리할 수 있습니다.
Didit · NFC 리딩
2단계 / 4
여권을 휴대폰에 대세요
Didit · ICAO 9303 체인
Didit · 얼굴 매치 1:1
칩 초상화 · DG2
고해상도 · 정부 서명
라이브 셀카
점수 0.94 · iBeta L1
Didit · 패시브 라이브니스
Didit · AML
Didit · 신분증 확인
$ curl -X POST https://verification.didit.me/v3/session/ \
-H "x-api-key: $DIDIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"workflow_id": "wf_nfc_onboarding",
"vendor_data": "user-42",
"expected_country": "ES"
}'네이티브 SDK에서 URL을 엽니다. · NFC 탭이 시작됩니다.$ curl https://verification.didit.me/v3/session/$SESSION/decision/ \
-H "x-api-key: $DIDIT_API_KEY"
# Decision payload (excerpted):
{ "nfc_verification": { "passive_authentication": "승인됨" },
"face": { "matched_against": "chip_portrait", "similarity_score": 0.94 } }chip_portrait와 매칭됨 → eIDAS 등급 보증.You are integrating Didit's NFC e-passport reading into a regulated onboarding flow (bank, fintech, crypto exchange, eIDAS-grade public service). NFC chip reading lifts onboarding from document-scan-grade to bank-grade in one extra step on the user's phone.
Five obligations on every onboarding:
1. Read the e-passport / e-ID chip via NFC — DG1 (MRZ), DG2 (portrait), DG11 (personal details).
2. Verify the government signature chain — Passive Authentication (PA) against the ICAO Public Key Directory, Chip Authentication (CA), Active Authentication (AA).
3. Match the live selfie to the high-resolution DG2 portrait extracted from the chip.
4. Run Passive Liveness on the selfie — iBeta Level 1 anti-spoof certified, defeats printed photos, screen replays, masks, and deepfakes.
5. Screen the chip-verified identity against sanctions, Politically Exposed Persons (PEP), and adverse-media lists.
Fallback automatically when NFC is unavailable (no chip, NFC blocked by iOS or by user permission, chip damaged): the workflow drops to high-accuracy MRZ + OCR on the visual page using ID Verification.
Pricing (verified live):
- NFC Reading: $0.15 per chip read
- ID Verification (fallback or always-on belt-and-braces): $0.15 per check
- Passive Liveness: $0.10 per check
- Face Match 1:1: $0.05 per match
- AML Screening: $0.20 per check
- Bundle (NFC + Liveness + Face Match + AML): $0.50 per onboarded user when NFC succeeds; $0.50 also when the workflow falls back to ID Verification
- First 500 KYC verifications free every month, forever
PRE-REQUISITES
- Production API key from https://business.didit.me (sandbox key in 60s, no card).
- Webhook endpoint with HMAC SHA-256 verification using the X-Signature-V2 header and your webhook secret.
- A workflow_id from the Workflow Builder bundling NFC Reading + ID Verification (fallback) + Passive Liveness + Face Match 1:1 + AML Screening.
- The Didit hosted flow or the native SDKs (web SDK, iOS, Android, React Native, Flutter) — NFC chip reading requires the native NFC stack, so plain web-only deployments fall back to MRZ + OCR automatically.
STEP 1 — Create the NFC session
POST https://verification.didit.me/v3/session/
Headers:
x-api-key: <your api key>
Content-Type: application/json
Body:
{
"workflow_id": "<your nfc onboarding workflow id>",
"vendor_data": "<your user id, max 256 chars>",
"callback_url": "https://<your-app>/onboarding/kyc/callback",
"expected_country": "ES",
"metadata": {
"channel": "native_ios",
"purpose": "high_assurance_onboarding"
}
}
Response: 201 Created with the hosted session URL. Open it via the native SDK (iOS NFC requires CoreNFC entitlement) or in the hosted webview; the user taps the e-passport against the phone's NFC reader, the chip data is read in 2-4 seconds.
STEP 2 — The chip-read sequence (handled by the SDK / hosted flow)
Inside the hosted flow, in this order:
a. The user presents the data page so the device camera reads the Machine-Readable Zone (MRZ). The MRZ provides the BAC / PACE key needed to handshake with the chip.
b. The user taps the passport to the phone. PACE (preferred) or BAC handshake establishes a secure session with the chip.
c. The chip returns Data Group 1 (MRZ data — name, DOB, expiry, document number), Data Group 2 (the high-resolution portrait), and Data Group 11 (personal details where available).
d. Passive Authentication verifies the Document Signer Certificate against the country's Country Signing CA via the ICAO Public Key Directory. Chip Authentication and Active Authentication run if supported by the issuing country.
e. The user takes a single selfie (Passive Liveness, no challenge prompts).
f. The selfie is matched 1:1 against the DG2 portrait.
STEP 3 — Read the signed webhook on completion
Didit POSTs to your callback. Session statuses are Title Case With Spaces:
Body (excerpted):
{
"session_id": "<uuid>",
"vendor_data": "<your user id>",
"status": "Approved",
"nfc_verification": {
"status": "Approved",
"passive_authentication": "Approved",
"chip_authentication": "Approved",
"active_authentication": "Approved",
"data_groups_read": [1, 2, 11]
},
"id_verification": { "status": "Approved", "document_type": "passport", "country_code": "ES" },
"liveness": { "status": "Approved" },
"face": { "status": "Approved", "similarity_score": 0.94, "matched_against": "chip_portrait" },
"aml": { "status": "Approved", "hits": [] }
}
Session status enum (exact case):
Approved | Declined | In Review | Resubmitted | Expired | Not Finished | Kyc Expired | Abandoned
Verify the X-Signature-V2 header BEFORE reading the body — HMAC SHA-256 of the raw bytes with your webhook secret.
STEP 4 — Decide
Branch logic:
Approved → onboard the user with bank-grade assurance.
In Review → hold the account, wait for analyst webhook update.
Declined → refuse onboarding, log the decline reason.
Resubmitted → user updated something; re-read the decision.
When face.matched_against === "chip_portrait", you can mark the identity as eIDAS High-grade (Substantial / High depending on your local regulator's reading). When it falls back to "id_document_portrait" (the visual page), it's still bank-grade by document-scan standards but not chip-anchored.
STEP 5 — Fallback paths
iPhones below iPhone 7, or any phone with NFC disabled, or a document without a chip (pre-2014 in some countries) → the workflow surfaces "NFC unavailable" and routes to the ID Verification + MRZ + OCR path. Same hosted URL, same webhook, same statuses. The fallback is configured in the Workflow Builder, not in your code.
Some Android devices won't read every chip due to NFC antenna placement — Didit's iOS / Android SDKs surface a graceful retry hint before failing over to OCR.
STEP 6 — Ongoing monitoring
Enable Ongoing AML at $0.07/user/year to keep the identity fresh. NFC re-reads aren't required for ongoing — the chip data was captured at onboarding and the binding is permanent for the document's validity period.
WEBHOOK EVENT NAMES
- status.updated — session status changed.
- data.updated — session data changed (resubmission, NFC retry, ongoing AML hit).
Verify X-Signature-V2 on every payload. The webhook secret is per-environment — sandbox key is separate from production.
CONSTRAINTS
- Session statuses use Title Case With Spaces (Approved, In Review).
- NFC chip reading requires the native NFC stack — iOS, Android, React Native, Flutter SDKs handle it; pure web falls back to MRZ + OCR.
- The chip portrait (DG2) is far higher-resolution than the visual page — matching the selfie to it is meaningfully more accurate than matching to a phone-camera-captured ID photo.
- Document Signer Certificate trust is anchored to the ICAO Public Key Directory; some countries (eg. small island states) do not publish to the PKD and will return a Passive Authentication warning rather than Approved.
- Default record retention is 5 years post-relationship per the EU AML package.
Read the docs:
- https://docs.didit.me/sessions-api/create-session
- https://docs.didit.me/sessions-api/retrieve-session
- https://docs.didit.me/core-technology/nfc-verification/overview
- https://docs.didit.me/core-technology/face-match/overview
- https://docs.didit.me/integration/webhooks
Start free at https://business.didit.me — sandbox key in 60 seconds, 500 verifications free every month, no credit card.월 $0. 신용카드 정보가 필요 없습니다.
사용한 만큼만 지불하세요. 25개 이상의 모듈. 모듈별 공개 가격, 월 최소 요금 없음.
맞춤형 MSA 및 SLA. 대규모 볼륨 및 규제 프로그램에 적합합니다.
무료로 시작 → 확인 실행 시에만 지불 → 맞춤형 계약, SLA 또는 데이터 상주를 위해 엔터프라이즈 잠금 해제.
Didit은 신원 및 사기 방지를 위한 인프라입니다. 저희가 직접 제품을 만들 때 있었으면 했던 플랫폼으로, 개방적이고 유연하며 개발자 친화적이어서 블랙박스처럼 통합하는 대신 스택의 실제 구성 요소로 작동합니다.
하나의 API로 개인 확인(KYC, 고객 알기), 기업 확인(KYB, 기업 알기), 암호화폐 지갑 심사(KYT, 거래 알기), 실시간 거래 모니터링을 처리하며, 다음을 위해 구축된 스택을 기반으로 합니다:
기반 기술: 48개 이상의 언어로 14,000개 이상의 문서 유형, 1,000개 이상의 데이터 소스, 모든 세션에서 200개 이상의 사기 신호를 처리합니다. Didit 인프라는 모든 세션에서 동적으로 학습하며 매일 개선됩니다.
최신 여권(그리고 EU의 최신 국가 신분증)에는 카드 결제 시 사용하는 것과 동일한 작은 비접촉식 칩이 들어 있습니다. 이 칩에는 다음 정보가 포함되어 있습니다:
마지막 부분이 핵심입니다. 칩은 발행국에 암호화 방식으로 연결되어 있어 공격자가 반환되는 정보를 위조하거나 변조할 수 없습니다. 정부 서명을 위조해야만 가능합니다. Didit은 사용자 휴대폰의 NFC를 통해 칩을 2-4초 안에 읽으며, 판독당 $0.15의 비용이 발생합니다.
중요도 순서대로 세 가지 이유가 있습니다:
대부분의 온보딩 흐름에서는 문서 스캔으로 충분합니다. 하지만 은행, 핀테크, eIDAS 등급 공공 서비스와 같이 단 한 번의 오탐으로도 실제 금전적 손실이 발생하는 모든 흐름에서는 NFC 칩 판독이 표준 제어 방식입니다.
전체 흐름은 일반적으로 처음부터 끝까지 30초 이내에 완료됩니다., ID를 들고, 문서를 촬영하고, 셀카를 찍으면 끝입니다. 이는 시장에서 가장 빠른 속도입니다. 기존 KYC 제공업체는 동일한 흐름에 90초 이상이 소요되는 경우가 많습니다.
백엔드에서 Didit은 사용자가 셀카를 완료한 시점부터 웹훅이 실행되는 시점까지 p99 기준 2초 이내에 결과를 반환합니다. 모바일 캡처는 느린 휴대폰과 느린 네트워크에 최적화되어 있습니다: 점진적 이미지 압축, 지연 소프트웨어 개발 키트 로드, 그리고 사용자가 웹에서 시작하는 경우 QR 코드를 통해 데스크톱에서 휴대폰으로 한 번의 탭으로 전환됩니다.
ICAO Doc 9303은 기계 판독 가능 여행 문서(MRTD)에 대한 국제 사양입니다. 전 세계의 모든 최신 여권은 이 사양에 따라 제작됩니다. NFC 인증에 중요한 세 가지 요소는 다음과 같습니다:
Didit은 이 세 가지를 모두 실행하며, 각 판정 결과를 의사결정 페이로드에 별도로 노출합니다. ICAO Doc 9303 준수는 칩 판독 경로가 공항 e-게이트에서 국경 요원이 사용하는 것과 동일하다는 것을 의미합니다.
모든 세션은 7가지 명확한 상태 중 하나로 분류되므로, 코드는 항상 무엇을 해야 할지 알 수 있습니다:
Approved, 모든 검사를 통과했습니다. 사용자를 다음 단계로 진행시키세요.Declined, 하나 이상의 검사가 실패했습니다. 전체 흐름을 다시 실행하지 않고 특정 실패 단계(예: 셀카 다시 찍기)를 재시도하도록 허용할 수 있습니다.In Review, 규정 준수 검토를 위해 플래그가 지정되었습니다. 콘솔에서 케이스를 열고 모든 신호를 확인한 후 승인 또는 거부를 결정하세요.In Progress, 사용자가 흐름 중간에 있습니다.Not Started, 링크가 전송되었지만 사용자가 아직 열지 않았습니다. 너무 오래 방치되면 알림을 보내세요.Abandoned, 사용자가 링크를 열었지만 제시간에 완료하지 못했습니다. 다시 참여시키거나 만료시키세요.Expired, 세션 링크가 만료되었습니다. 새 세션을 생성하세요.모든 상태 변경 시 서명된 웹훅이 실행되므로 데이터베이스는 항상 동기화 상태를 유지합니다. 중단되거나 거부된 세션은 무료입니다.
프로덕션 데이터는 기본적으로 Amazon Web Services의 유럽 연합에서 처리 및 저장됩니다. 엔터프라이즈 계약의 경우 규제 기관이 요구하는 관할권에 대해 다른 지역을 요청할 수 있습니다.
모든 곳에서 암호화됩니다. 모든 데이터베이스, 객체 저장소 및 백업에서 AES-256 암호화가 적용됩니다. 모든 API 호출, 웹훅 및 비즈니스 콘솔 세션에서 전송 중 전송 계층 보안 1.3이 적용됩니다. 생체 인식 데이터는 별도의 고객 마스터 키로 암호화됩니다.
데이터 보존은 고객이 제어합니다. 기본 보존 기간은 무기한(무제한)이며, 고객이 애플리케이션당 30일에서 10년 사이로 더 짧게 구성하지 않는 한 유지됩니다. 또한 대시보드 또는 API를 통해 언제든지 개별 세션을 삭제할 수 있습니다.
인증: SOC 2 Type 1 (Type 2 감사 진행 중), ISO/IEC 27001:2022, iBeta Level 1 PAD, 그리고 스페인 재무부 / SEPBLAC / CNMV의 공식 인증을 통해 Didit의 원격 신원 확인이 대면 확인보다 안전하다는 것을 입증했습니다. 전체 보고서는 /security-compliance에서 확인할 수 있습니다.
Didit은 신원 인프라에 중요한 규제 기관에 대해 기본적으로 규정을 준수합니다:
자세한 메모, 모든 인증서, 모든 규제 기관 서신은 /security-compliance에서 확인할 수 있습니다.
세 가지 통합 경로, 스택에 맞는 것을 선택하세요:
동일한 대시보드, 동일한 청구, 세 가지 모두에 대해 동일한 성공 기반 가격이 적용됩니다. 단계별 가이드는 docs.didit.me/integration/integration-prompt에서 확인할 수 있습니다.
세 가지 일반적인 실패 모드가 있으며, 모두 워크플로에서 처리됩니다:
대체 경로는 동일한 /v3/session/, 동일한 웹훅, 동일한 상태를 사용합니다. 의사결정 페이로드는 어떤 경로가 성공했는지 알려주므로, 이를 기반으로 라우팅할 수 있습니다, NFC 경로의 경우 face.matched_against === "chip_portrait", OCR 대체 경로의 경우 "id_document_portrait"입니다. 은행 수준의 워크플로는 OCR 대체를 거부하고 다른 기기에서 다시 시도하도록 요구할 수 있습니다.
EU의 전자 신원 확인 프레임워크인 eIDAS 2에 따르면, 생체 인식 매칭이 포함된 칩 인증 e-여권은 워크플로의 주변 제어에 따라 상당(Substantial) 또는 높음(High) 수준의 보증을 지원할 수 있습니다.
Didit의 역할은 기본 신원 바인딩 증거를 제공하는 것입니다:
완전한 흐름이 상당 또는 높음 수준에 도달하는지는 사용하는 지갑, 신뢰 프레임워크, 그리고 해당 국가의 규제 기관 해석에 따라 달라집니다. Didit은 스페인 재무부, 스페인 중앙은행, SEPBLAC이 공동으로 이 서비스를 대면 확인보다 안전하다고 인증한 유일한 KYC 플랫폼입니다. 이 보고서는 eIDAS 높음 수준 논의의 가장 많이 인용되는 출발점입니다.
대부분의 NFC 제공업체는 칩 판독당 $1.50에서 $5.00 사이의 가격을 책정하며, 종종 월 수천 유로의 최소 요금과 칩 서명 인증서 구독에 대한 국가별 추가 요금이 부과됩니다. Onfido / Jumio / Veriff와 같은 전형적인 모델입니다.
Didit의 공개 가격은 NFC 칩 판독당 $0.15 + 전체 번들(NFC + Liveness + Face Match + AML)에 $0.50입니다. 최소 요금이나 국가별 추가 요금은 없습니다. 매월 첫 500건의 인증은 무료로 제공되어 대부분의 파일럿 프로젝트를 완전히 흡수합니다.
이는 동일한 규제 결과에 대해 기존 스택보다 약 10-30배 저렴합니다. 월 10,000명의 사용자를 기준으로 할 때, 칩당 $2.00인 기존 서비스 대비 약 $18,500의 절감 효과가 있습니다. 유럽 은행 규모(월 100,000건 이상의 KYC)에서는 연간 수십만 달러의 절감 효과가 발생합니다. 전체 가격은 /pricing에서 확인할 수 있습니다.