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


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

공격자들이 공격하는 방법
Credential stuffing, SIM-swap, 세션 쿠키 탈취 공격은 모두 비밀번호와 일회성 코드를 우회합니다. Didit 스텝업으로 이러한 공격을 막으세요. 작업 순간에 적용되며, 통화당 $0.10, 2초 미만 판정, 매월 500회 무료입니다.
원하는 검사(ID, Liveness, 안면 매칭, 제재, 주소, 연령, 전화, 이메일, 맞춤 질문)를 선택하세요. 대시보드에서 플로우로 드래그하거나, 동일한 플로우를 API에 게시하세요. 조건에 따라 분기하고 A/B 테스트를 실행할 수 있으며, 코드가 필요 없습니다.
Web, iOS, Android, React Native, Flutter SDK를 사용하여 네이티브로 임베드하세요. 호스팅된 페이지로 리디렉션하거나, 이메일, SMS, WhatsApp 등 어디든 사용자에게 링크를 보내세요. 스택에 맞는 것을 선택하세요.
Didit은 카메라, 조명 큐, 모바일 핸드오프, 접근성을 호스팅합니다. 사용자가 플로우를 진행하는 동안, 200개 이상의 사기 신호를 실시간으로 점수화하고 모든 필드를 신뢰할 수 있는 데이터 소스와 비교하여 확인합니다. 2초 이내에 결과를 제공합니다.
사용자가 승인되거나 거부되거나 검토를 위해 전송되는 즉시 실시간 서명된 웹훅이 데이터베이스를 동기화합니다. 필요에 따라 API를 폴링하거나, 콘솔을 열어 모든 세션과 신호를 검사하고 원하는 방식으로 케이스를 관리할 수 있습니다.
Didit · 스텝업 정책
Didit · 생체 인증
2단계 / 2
확인하는 동안 잠시 멈춰주세요
Didit · 얼굴 매칭 1:1
회원가입
단계별 인증
Didit · 패시브 라이브니스
Didit · 기기 및 IP 분석
Didit · 웹훅 · X-Signature-V2
{
"session_id": "abc-…",
"vendor_data": "user-42",
"status": "Approved",
"liveness": { "status": "Approved" },
"face": { "status": "Approved",
"similarity_score": 0.94 }
}$ 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_ato_step_up",
"vendor_data": "user-42",
"metadata": { "trigger": "high_value_transfer" },
// base64 KYC enrolment selfie, ≤ 1MB
"portrait_image": "/9j/4AAQSkZJRgABAQE..."
}'{ "session_url": "verify.didit.me/..." }// X-Signature-V2 verified upstream
if (payload.status === "Approved") {
unblockAction(payload.vendor_data);
} else if (payload.status === "Declined") {
logWarnings(payload.liveness.warnings);
blockAndAlert(payload.vendor_data);
}상태: 승인됨 · 거부됨 · 검토 중 · 미완료You are integrating Didit account-takeover defence into an application that already has the user signed in. Your job: when a sensitive action fires (large transfer, password reset, payout to a new destination, new-device login, geo anomaly), gate it on a Didit biometric step-up. One API call. One signed webhook. Three branches.
WHY THIS SHAPE
- Credential stuffing, SIM-swap, and stolen-session-cookie attacks all walk past passwords and SMS one-time codes. A face check at the moment of the sensitive action does not.
- Didit runs Passive Liveness (the user is alive, present, not a deepfake) plus 1:1 Face Match against the portrait captured at sign-up. A stolen selfie cannot pass — the comparison target is locked to the original enrollment.
- $0.10 per step-up (Biometric Authentication module) + $0.03 IP pre-check (optional) = around $0.13 per event. Sub-two-second verdict on entry-level Android. 500 verifications free every month.
PRE-REQUISITES
- Production API key from https://business.didit.me (sandbox key in 60 seconds, no credit card).
- A webhook endpoint with HMAC SHA-256 verification of the X-Signature-V2 header using your webhook secret.
HMAC-SHA256 verification MUST run against the raw body bytes (the raw payload as Didit sent it) BEFORE any JSON parsing — re-serialising the parsed body changes whitespace and key order, which invalidates the signature. - A Workflow Builder workflow that bundles Passive Liveness + Face Match 1:1 (with the user's stored sign-up portrait as the comparison target). Optionally compose Device & IP Analysis ahead of the step-up to pre-gate the check.
- Persist the user's sign-up portrait — either base64 on your side, or rely on Didit's stored enrollment via vendor_data lookup.
STEP 1 — Decide WHEN to step up (your code, not Didit's)
Run your usual fraud signals. Common triggers worth a biometric step-up:
- Wire / crypto transfer above the user's daily limit
- Password / email reset on a session less than 24h old
- Payout to a bank account or wallet seen for the first time
- Login from a new device or new country
- Velocity anomaly — N actions of type T within window W
Cheap pre-check (optional, ~100ms, $0.03):
- Score the user's IP via Device & IP Analysis. If the IP is a residential trusted address with a low risk score AND the device fingerprint matches the user's trusted device, skip the step-up. Otherwise run Step 2.
STEP 2 — Create a biometric step-up session
POST https://verification.didit.me/v3/session/
Headers:
x-api-key: <your api key>
Content-Type: application/json
Body:
{
"workflow_id": "<wf id bundling Passive Liveness + Face Match 1:1>",
"vendor_data": "<your user id, max 256 chars>",
"callback": "https://<your-app>/ato/step-up/callback",
"metadata": {
"trigger": "high_value_transfer",
"action_id": "<your internal action reference>"
},
"portrait_image": "<base64 JPEG of the user's stored sign-up portrait, ≤ 1 MB — REQUIRED when the workflow has FACE_MATCH active; the step-up matches the new live selfie against this stored reference>"
}
Response: 201 Created with a hosted session URL. Redirect the user there inline (or open it in a webview / Didit mobile SDK). The action stays BLOCKED on your side until the signed webhook lands.
STEP 3 — Read the signed webhook on completion
Didit POSTs the decision to your callback. Verify X-Signature-V2 (HMAC SHA-256 of the raw request body using your webhook secret) BEFORE reading the JSON.
Payload (excerpted):
{
"session_id": "<uuid>",
"vendor_data": "<your user id>",
"status": "Approved",
"liveness": { "status": "Approved" },
"face": { "status": "Approved", "similarity_score": 0.94 },
"ip_analysis": { "status": "Approved", "score": 11 }
}
Session status enum (exact case, Title Case With Spaces): Approved | Declined | In Review | Resubmitted | Expired | Not Finished | Kyc Expired | Abandoned.
STEP 4 — Branch the original action on status
Approved → unblock the sensitive action. Log session_id + similarity score on the audit trail.
In Review → hold the action, route to a human review queue.
Declined → block the action, log liveness warnings (mask / deepfake / replay / morph), alert the user.
Not Finished → invite the user to retry with a fresh session URL.
Expired → resend the link; the original session has timed out.
Abandoned → the user closed the flow before completing; resend the link.
STEP 5 — (Optional) Pull the full decision payload
GET https://verification.didit.me/v3/session/{session_id}/decision/
Headers:
x-api-key: <your api key>
Returns the same payload as the webhook plus the structured signals (liveness warnings, face-match similarity, IP / device flags). Use for analyst review.
WEBHOOK EVENT NAMES
- Sessions: standard session webhook (one endpoint, status field tells you where in the lifecycle).
- Verify X-Signature-V2 (HMAC SHA-256) on every payload.
CONSTRAINTS
- Session statuses use Title Case With Spaces (Approved, In Review). Never use UPPER_SNAKE_CASE for session verdicts — that's the Transactions API and lives in a different surface.
- 1:1 face match's comparison target is the user's STORED sign-up portrait, not a freshly captured one. A stolen selfie cannot pass.
- iBeta Level 1 Presentation Attack Detection (PAD) certified against the full ISO/IEC 30107-3 catalogue — print, replay, paper / silicone / latex mask, deepfake, morph.
- The Workflow Builder is where you choose the modules in the step-up — change them in the console without redeploying.
- 200+ fraud signals are surfaced on every session at no extra cost — read them off the decision payload, don't re-query.
Read the docs:
- https://docs.didit.me/sessions-api/create-session
- https://docs.didit.me/core-technology/biometric-auth/overview
- https://docs.didit.me/core-technology/ip-analysis/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, 거래 알기), 실시간 거래 모니터링을 지원하며, 다음을 목표로 구축된 스택을 기반으로 합니다:
기반 기술로는 14,000개 이상의 문서 유형, 48개 이상의 언어, 1,000개 이상의 데이터 소스, 모든 세션에서 200개 이상의 사기 신호를 분석합니다. Didit 인프라는 모든 세션에서 동적으로 학습하며 매일 발전합니다.
계정 탈취(ATO)는 공격자가 합법적인 사용자 계정을 장악하는 것을 말합니다. 주로 도난당한 자격 증명, 하이재킹된 세션 쿠키, 또는 일회용 비밀번호(OTP)를 가로채는 SIM 스와핑을 통해 이루어집니다. 이후 공격자는 지갑을 비우거나, 자금을 이동시키거나, 지급 정보를 변경하거나, 이메일을 재설정하여 실제 소유자를 잠금 처리합니다.
이 공격은 비밀번호가 이미 정확하기 때문에 비밀번호를 우회합니다. 공격자가 전화번호를 제어하기 때문에 단문 메시지 서비스(SMS) 코드도 우회합니다. 이러한 공격에 대한 방어는 공격자가 가지고 있지 않은 것, 즉 합법적인 사용자의 얼굴을 통해 행동 순간을 차단하는 것입니다.
SIM 스와핑 사기로 인해 단문 메시지 서비스(SMS) 코드가 공격자의 손에 들어가기 때문입니다. 공격자는 통신사를 설득하여 피해자의 번호를 새 가입자 식별 모듈(SIM)로 포팅하게 합니다. 그 후 은행이 보내는 모든 코드는 공격자의 전화로 전송됩니다.
2026년의 피싱 키트는 코드도 실시간으로 프록시합니다. 사용자가 가짜 페이지에 코드를 입력하면, 키트가 이를 실제 사이트에 다시 전송하여 세션이 열립니다. SMS는 채널당 하나의 공유된 비밀을 제공하지만, 생체 인식은 카메라 앞에 있는 사람과 연결된 행동별 증명을 제공합니다.
전체 프로세스는 일반적으로 처음부터 끝까지 30초 미만이 소요됩니다., 신분증을 들고, 문서를 촬영하고, 셀카를 찍으면 완료됩니다. 이는 시장에서 가장 빠른 속도입니다. 기존 KYC 제공업체는 동일한 프로세스에 90초 이상이 걸리는 경우가 많습니다.
백엔드에서 Didit은 사용자가 셀카 촬영을 마친 시점부터 웹훅이 실행되는 시점까지 p99 기준 2초 미만으로 결과를 반환합니다. 모바일 캡처는 느린 휴대폰과 느린 네트워크에 최적화되어 있습니다: 점진적 이미지 압축, 지연 로딩되는 소프트웨어 개발 키트, 그리고 사용자가 웹에서 시작할 경우 QR 코드를 통해 데스크톱에서 휴대폰으로 한 번의 탭으로 전환하는 기능 등을 제공합니다.
가입(Sign-up)은 사용자의 신원을 처음으로 캡처하는 과정입니다. 정부 발행 신분증, 광학 문자 인식(OCR), 수동적 라이브니스, 그리고 등록 기준이 되는 인물 사진을 포함합니다. 이는 일회성으로 진행되는 무거운 프로세스입니다.
스텝업(Step-up)은 가볍고 반복 가능한 버전입니다. 동일한 라이브니스 엔진이 새로운 셀카에 대해 실행되며, 안면 매칭 1:1은 새로운 셀카를 저장된 가입 시 인물 사진과 비교합니다. 신분증이나 OCR 과정은 없습니다. 2초 미만으로 완료되며, 세션당 $0.10의 비용이 발생합니다.
모든 세션은 7가지 명확한 상태 중 하나로 귀결되므로, 코드는 항상 무엇을 해야 할지 알 수 있습니다:
Approved, 모든 확인이 통과되었습니다. 사용자를 다음 단계로 진행하세요.Declined, 하나 이상의 확인이 실패했습니다. 전체 프로세스를 다시 실행하지 않고 특정 실패 단계(예: 셀카 재촬영)를 재제출하도록 허용할 수 있습니다.In Review, 규정 준수 검토를 위해 플래그가 지정되었습니다. 콘솔에서 케이스를 열고 모든 신호를 확인한 후 승인 또는 거부를 결정하세요.In Progress, 사용자가 프로세스 중간에 있습니다.Not Started, 링크가 전송되었지만 사용자가 아직 열지 않았습니다. 너무 오래 방치되면 알림을 보내세요.Abandoned, 사용자가 링크를 열었지만 제시간에 완료하지 못했습니다. 다시 참여를 유도하거나 만료시키세요.Expired, 세션 링크가 만료되었습니다. 새 세션을 생성하세요.모든 상태 변경 시 서명된 웹훅이 실행되므로 데이터베이스는 항상 동기화됩니다. 중단되거나 거부된 세션은 무료입니다.
프로덕션 데이터는 기본적으로 Amazon Web Services의 유럽 연합에 처리 및 저장됩니다. 엔터프라이즈 계약의 경우 규제 기관이 요구하는 관할권에 대해 다른 지역을 요청할 수 있습니다.
모든 곳에서 암호화됩니다. 모든 데이터베이스, 객체 스토어, 백업에 걸쳐 저장 시 AES-256 암호화가 적용됩니다. 모든 API 호출, 웹훅, 비즈니스 콘솔 세션에서 전송 시 Transport Layer Security 1.3이 사용됩니다. 생체 인식 데이터는 별도의 고객 마스터 키로 암호화됩니다.
데이터 보존 기간은 고객이 제어합니다. 기본 보존 기간은 무기한(무제한)이지만, 애플리케이션당 30일에서 10년 사이로 더 짧게 구성할 수 있으며, 대시보드 또는 API를 통해 언제든지 개별 세션을 삭제할 수 있습니다.
인증: SOC 2 Type 1 (Type 2 감사 진행 중), ISO/IEC 27001:2022, iBeta Level 1 PAD, 그리고 스페인 Tesoro / SEPBLAC / CNMV로부터 Didit의 원격 신원 확인이 대면 확인보다 안전하다는 공개 인증을 받았습니다. 전체 보고서는 /security-compliance에서 확인할 수 있습니다.
Didit은 신원 인프라에 중요한 규제 기관에 대해 기본적으로 규정을 준수합니다:
자세한 메모, 모든 인증서, 모든 규제 기관 서신: /security-compliance.
세 가지 통합 경로, 스택에 맞는 것을 선택하세요:
동일한 대시보드, 동일한 청구, 세 가지 모두 성공당 동일한 가격. 단계별 가이드는 docs.didit.me/integration/integration-prompt에서 확인하세요.
스텝업 전에 기기 및 IP 분석을 구성하세요. 체크당 $0.03의 비용으로 100ms 미만에 0-100점의 위험 점수와 가상 사설망(VPN), 프록시, 토르(Tor), 데이터센터, 국가, 자율 시스템 번호(ASN) 플래그를 반환합니다.
네트워크가 깨끗해 보이면 (주거용 인터넷 서비스 제공업체(ISP), 신뢰할 수 있는 기기 지문, 국가 변경 없음) 안면 확인을 건너뛰세요. 점수가 높거나 플래그가 감지되면 스텝업을 실행하세요. 이렇게 하면 생체 인식 예산을 실제로 필요한 이벤트에만 사용할 수 있습니다.
두 가지 항목:
완전히 심사된 민감한 작업당 약 $0.13입니다. 모든 계정에서 매월 첫 500회 인증은 무료입니다. 대부분의 팀은 처음 몇 주 동안 이 허용량 내에서 스텝업 볼륨을 유지합니다.
최소 사용량, 연간 약정, 사용자당 가격 책정은 없습니다.
이 솔루션은 고가치 작업을 처리하는 모든 팀에 적용됩니다. 일반적인 사용 사례는 다음과 같습니다:
동일한 워크플로 빌더, 다른 트리거, 하나의 통합, 하나의 가격 정책.