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


전 세계 2,000개 이상의 기관에서 신뢰합니다.
영국 Ofcom · 프랑스 SREN · EU DSA
모든 방문자에게 문서 업로드를 강제하면 완료율이 25-40% 감소합니다. Didit의 적응형 플로우는 연령 추정을 먼저 실행하고, 경계선에 있는 사용자만 문서 대체로 라우팅합니다. 2초 미만의 셀피 판정, 건당 $0.10, 사용자당 평균 비용은 약 $0.115입니다. 매월 500건 무료 확인.
원하는 확인 항목(신분증, 라이브니스, 얼굴 일치, 제재, 주소, 연령, 전화, 이메일, 맞춤 질문)을 선택하세요. 대시보드에서 플로우로 드래그하거나, 동일한 플로우를 API에 게시할 수 있습니다. 조건에 따라 분기하고, A/B 테스트를 실행하며, 코드가 필요 없습니다.
Web, iOS, Android, React Native 또는 Flutter SDK를 사용하여 네이티브로 임베드하세요. 호스팅된 페이지로 리디렉션하거나, 이메일, SMS, WhatsApp 등 어디든 사용자에게 링크를 보내세요. 스택에 맞는 방식을 선택하세요.
Didit은 카메라, 조명 안내, 모바일 핸드오프 및 접근성을 호스팅합니다. 사용자가 플로우를 진행하는 동안, 200개 이상의 사기 신호를 실시간으로 분석하고 모든 필드를 신뢰할 수 있는 데이터 소스와 대조하여 확인합니다. 2초 이내에 결과를 제공합니다.
실시간 서명된 웹훅은 사용자가 승인, 거부되거나 검토로 보내지는 즉시 데이터베이스를 동기화합니다. 필요에 따라 API를 폴링하거나, 콘솔을 열어 모든 세션, 모든 신호를 검사하고 케이스를 직접 관리할 수 있습니다.
$ 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_age_gate_uk_fr",
"vendor_data": "user-42",
"callback": "https://app/age-gate/cb"
}'{ "session_url": "verify.didit.me/..." }$ curl https://verification.didit.me/v3/session/<id>/decision/ \
-H "x-api-key: $DIDIT_API_KEY"
# Returns the path taken
{
"status": "Approved",
"liveness": { "age_estimation": 27.3 }
}상태: 승인됨 · 검토 중 · 거부됨 · 미완료You are integrating Didit's Age Verification recipe into <my_stack>. Selfie-first age estimation with an adaptive document fallback for the borderline tail. One Didit workflow. Two real endpoints.
1. Verify age on a selfie. ONE call to the Sessions API runs Age Estimation + Passive Liveness on the same passive frame.
2. Fall back to a document check ONLY when the estimate sits in the borderline band you define. Same Sessions API workflow handles the fallback automatically.
Bundle pricing (public):
- Age Estimation: $0.10 per check (Sessions API or standalone)
- ID Verification fallback: $0.15 per check, only when triggered
- Typical blended cost lands near $0.115 per user (~90% finish on the selfie, ~10% touch the document fallback)
- First 500 verifications free every month, forever
PRE-REQUISITES
- Production API key from https://business.didit.me (sandbox key in 60s, no card).
- Webhook endpoint with Hash-based Message Authentication Code (HMAC) SHA-256 verification using the X-Signature-V2 header and your webhook secret.
- A workflow_id from the Workflow Builder. The workflow must contain the AGE_ESTIMATION feature, and (recommended) the ID_VERIFICATION feature with adaptive_id_verification enabled so the borderline tail routes through automatically.
STEP 1 — Build the adaptive workflow once
POST https://verification.didit.me/v3/workflows/
Headers:
x-api-key: <your api key>
Content-Type: application/json
Body:
{
"workflow_label": "age_gate_uk_fr",
"features": [
{ "feature": "AGE_ESTIMATION" },
{ "feature": "ID_VERIFICATION" }
],
"age_estimation_decline_threshold": 18,
"face_liveness_score_decline_threshold": 30,
"adaptive_id_verification": true
}
Notes:
- "AGE_ESTIMATION" and "ID_VERIFICATION" are exact, case-sensitive feature names.
- age_estimation_decline_threshold defaults to 18; set 21 for US alcohol, 19 for South Korea, etc.
- adaptive_id_verification = true tells Didit to invoke the document fallback automatically when the estimate sits inside the borderline band.
STEP 2 — Open an age-verification session per user
POST https://verification.didit.me/v3/session/
Headers:
x-api-key: <your api key>
Content-Type: application/json
Body:
{
"workflow_id": "<the workflow_id from step 1>",
"vendor_data": "<your internal user id>",
"callback": "https://<your-app>/age-gate/callback",
"metadata": {
"purpose": "age_gate",
"surface": "<the page or feature being gated>"
}
}
Response: 201 Created with the hosted session_url. Redirect the user to it. The hosted flow opens the front camera, captures one passive frame, runs Age Estimation + Passive Liveness in sub-2-seconds, and either returns a verdict or routes the user into the document fallback automatically.
STEP 3 — Read the signed webhook on session completion
Didit POSTs to your callback. Session statuses are exact Title Case With Spaces.
Body (excerpted for an Age Estimation only finish):
{
"session_id": "<uuid>",
"vendor_data": "<your user id>",
"status": "Approved",
"liveness": {
"status": "Approved",
"method": "PASSIVE",
"score": 92,
"age_estimation": 27.3,
"warnings": []
}
}
Body (excerpted when the document fallback fired):
{
"session_id": "<uuid>",
"vendor_data": "<your user id>",
"status": "Approved",
"liveness": { "status": "Approved", "age_estimation": 17.9, "warnings": [{ "code": "AGE_NOT_DETECTED" }] },
"id_verification": {
"status": "Approved",
"date_of_birth": "1998-03-21",
"age": 27,
"document_type": "Passport",
"issuing_state": "GBR"
}
}
Verify X-Signature-V2 BEFORE trusting the body — HMAC SHA-256 of the raw bytes with your webhook secret.
Session status enum (exact case): Approved | Declined | In Review | Resubmitted | Expired | Not Finished | Kyc Expired | Abandoned.
Warning catalog:
- AGE_BELOW_MINIMUM estimated or computed age below the threshold
- AGE_NOT_DETECTED unable to estimate age (lighting / quality)
- LOW_LIVENESS_SCORE passive-liveness score below threshold
- NO_FACE_DETECTED no face in the capture
- LIVENESS_FACE_ATTACK presentation attack suspected
- POSSIBLE_DUPLICATED_FACE same face previously verified
STEP 4 — Branch your surface on the final verdict
Approved → grant access to the gated surface.
Declined → render the regulator-required age-gate notice.
In Review → hold; an analyst case is open in the Business Console.
Not Finished → user abandoned; safe to re-prompt.
STEP 5 — Alternate path (server-to-server, when you already have the selfie)
POST https://verification.didit.me/v3/age-estimation/
Headers:
x-api-key: <your api key>
Body (multipart/form-data):
user_image <single passive selfie>
age_estimation_decline_threshold 18 (optional, integer)
face_liveness_score_decline_threshold 30 (optional, integer)
Branch on the borderline band yourself, then optionally call:
POST https://verification.didit.me/v3/id-verification/
Body (multipart/form-data):
front_image <required>
back_image <optional>
vendor_data <optional, your user id>
This path is useful for native onboarding apps that capture the selfie locally.
CONSTRAINTS
- Base URL for /v3/* endpoints is verification.didit.me (NOT apx.didit.me).
- Feature enum is UPPERCASE: AGE_ESTIMATION, ID_VERIFICATION, LIVENESS, FACE_MATCH, AML, IP_ANALYSIS.
- Method enum is UPPERCASE: PASSIVE, FLASHING, ACTIVE_3D.
- Auth header is x-api-key (lowercase, hyphenated).
- Webhook signature header is X-Signature-V2 (NOT X-Signature).
- Status casing matches exactly: Approved, Declined, In Review, Expired, Not Finished, Resubmitted, Kyc Expired, Abandoned.
- Reference image URLs are signed and expire in 60 minutes. Store only the verdict + score; never the biometric media unless retention is explicitly enabled for fraud defence.
- 200+ fraud signals are evaluated on every session at no extra cost — surface the score via the session decision payload, do not re-query.
WEBHOOK EVENT NAMES
- Sessions: status changes flow through the standard session webhook.
- Verify X-Signature-V2 on every payload.
Read the docs:
- https://docs.didit.me/core-technology/age-estimation/overview
- https://docs.didit.me/sessions-api/create-session
- 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 인프라는 모든 세션에서 동적으로 학습하며 매일 발전합니다.
대부분의 규제 기관은 성인 콘텐츠, 온라인 도박, 주류, 그리고 때로는 소셜 플랫폼에 대해 매우 효과적인 연령 확인을 요구합니다. 이는 미성년자가 쉽게 통과할 수 없는 수준의 방법을 의미하며, 단순히 생년월일을 자가 선언하는 체크박스가 아닙니다.
거의 모든 규제 기관이 인정하는 두 가지 방법은 연령 추정 (모델이 셀카를 분석하여 점수를 매기는 방식)과 문서 기반 연령 확인 (사용자가 여권 또는 신분증을 업로드하는 방식)입니다. 대부분의 팀은 이 두 가지 방법을 모두 사용하며, 더 저렴하고 간편한 셀카 경로를 먼저 시도하고, 실패 시 문서 확인 단계로 넘어갑니다.
팀에 영향을 미치는 두 가지 새로운 규정은 영국 온라인 안전법(UK Online Safety Act) (Ofcom이 2025년 7월부터 영국 사용자가 포르노그래피에 접근할 수 있는 모든 서비스에 대해 시행 시작)과 프랑스 SREN 법률 (프랑스에서 접속되는 사이트에 대해 CNIL + Arcom 규정 시행)입니다.
이와 함께 EU 디지털 서비스법(EU Digital Services Act)은 매우 큰 플랫폼에 미성년자에 대한 위험 완화를 요구하며, 미국 내 여러 주(유타, 텍사스, 루이지애나)는 성인 콘텐츠에 대한 연령 제한 법규를 가지고 있습니다. 이 모든 법규는 동일한 도구 키트(셀카 연령 추정, 정부 신분증 업로드 또는 제3자 신원 지갑)를 허용합니다.
전체 과정은 일반적으로 30초 이내에 완료됩니다. 신분증을 들고, 문서를 촬영하고, 셀카를 찍으면 끝입니다. 이는 시장에서 가장 빠른 속도입니다. 기존 KYC 제공업체는 동일한 과정에 90초 이상 소요되는 경우가 많습니다.
백엔드에서는 사용자가 셀카를 완료한 시점부터 웹훅이 실행되는 시점까지 측정했을 때, Didit은 p99 기준으로 2초 이내에 결과를 반환합니다. 모바일 캡처는 느린 휴대폰과 느린 네트워크에 최적화되어 있습니다. 점진적 이미지 압축, 지연된 SDK 로드, 그리고 사용자가 웹에서 시작할 경우 QR 코드를 통한 데스크톱-휴대폰 간 원탭 핸드오프 기능을 제공합니다.
두 가지 이유가 있습니다. 첫째, 규제 기관은 중간값이 아닌 극단적인 경우를 중요하게 생각합니다. 모델은 17세와 19세 사이에서는 통계적으로 괜찮지만, 규제 기관은 20세처럼 보이는 16세에 대해 확신을 갖기를 원합니다. 이러한 경우에 문서 확인은 증거가 됩니다.
둘째, 전환율 때문입니다. 모든 방문자에게 여권 업로드를 강요하면 완료율이 25~40% 감소합니다. 셀카 우선 방식에 문서 대체 방식을 사용하면 일반적으로 사용자의 90%가 더 저렴하고 마찰 없는 경로를 통해 진행하고, 10%만 문서 단계로 이동합니다. 이는 동일한 규정 준수 태세를 유지하면서 훨씬 더 나은 비즈니스 성과를 가져옵니다.
모든 세션은 7가지 명확한 상태 중 하나로 분류되므로, 코드는 항상 무엇을 해야 할지 알 수 있습니다:
Approved, 모든 검사를 통과했습니다. 사용자를 다음 단계로 진행시키세요.Declined, 하나 이상의 검사가 실패했습니다. 전체 과정을 다시 실행하지 않고도 사용자가 특정 실패 단계(예: 셀카 다시 촬영)를 재시도하도록 허용할 수 있습니다.In Review, 규정 준수 검토를 위해 플래그가 지정되었습니다. 콘솔에서 케이스를 열고 모든 신호를 확인한 후 승인 또는 거부를 결정하세요.In Progress, 사용자가 현재 진행 중입니다.Not Started, 링크가 전송되었지만, 사용자가 아직 열지 않았습니다. 너무 오래 방치되면 알림을 보내세요.Abandoned, 사용자가 링크를 열었지만 제시간에 완료하지 못했습니다. 다시 참여시키거나 만료시키세요.Expired, 세션 링크가 만료되었습니다. 새 세션을 생성하세요.모든 상태 변경 시 서명된 웹훅이 실행되므로 데이터베이스는 항상 동기화 상태를 유지합니다. 중단되거나 거부된 세션은 무료입니다.
프로덕션 데이터는 기본적으로 Amazon Web Services에서 유럽 연합 내에서 처리 및 저장됩니다. 엔터프라이즈 계약의 경우 규제 기관이 요구하는 관할권에 대해 대체 지역을 요청할 수 있습니다.
모든 곳에서 암호화됩니다. 모든 데이터베이스, 객체 저장소 및 백업에 대해 저장 시 AES-256 암호화가 적용됩니다. 모든 API 호출, 웹훅 및 비즈니스 콘솔 세션에서 전송 시 TLS 1.3이 적용됩니다. 생체 인식 데이터는 별도의 고객 마스터 키(Customer Master Key)로 암호화됩니다.
보존 기간은 고객이 제어할 수 있습니다. 기본 보존 기간은 무기한(무제한)이며, 고객이 애플리케이션당 30일에서 10년 사이로 더 짧게 구성하지 않는 한 유지됩니다. 또한 대시보드 또는 API를 통해 언제든지 개별 세션을 삭제할 수 있습니다.
인증: SOC 2 Type 1 (Type 2 감사 진행 중), ISO/IEC 27001:2022, iBeta Level 1 PAD, 그리고 Didit의 원격 신원 확인이 대면 확인보다 안전하다는 스페인 Tesoro / SEPBLAC / CNMV의 공식 증명을 받았습니다. 전체 보고서는 /security-compliance에서 확인할 수 있습니다.
Didit은 신원 인프라에 중요한 규제 기관에 대해 기본적으로 규정을 준수합니다:
자세한 메모, 모든 인증서, 모든 규제 기관 서신은 /security-compliance에서 확인할 수 있습니다.
세 가지 통합 경로 중 스택에 맞는 것을 선택하세요:
세 가지 모두 동일한 대시보드, 동일한 청구, 동일한 성공당 지불 가격을 제공합니다. 단계별 가이드는 docs.didit.me/integration/integration-prompt에서 확인할 수 있습니다.
Didit은 영국 Ofcom과 CNIL이 공급업체 설문지에서 가장 자주 요구하는 인증서를 제공합니다:
이 네 가지 모두 감사 패키지에 포함되어 있으며, 플랫폼의 투명성 고지에 첨부할 준비가 되어 있습니다.
기본적으로 데이터 최소화 원칙을 따릅니다. 셀카는 메모리에서 처리되고, 연령 판정 및 생체 인식 점수는 영구 저장되며, 사기 방지를 위해 보존이 명시적으로 활성화되지 않는 한 원본 이미지는 삭제됩니다. 보존 기간은 워크플로우 및 지역별로 설정되며, 최종 사용자는 표준 데이터 주체 요청 경로를 통해 삭제를 요청할 수 있습니다.
저희는 고객의 생체 인식 데이터를 판매하거나 공유하거나 제3자 모델을 훈련하는 데 사용하지 않습니다. 전체 데이터 처리 약관은 didit.me/terms/business에서 확인할 수 있습니다.
셀카는 세 가지 결과 중 하나를 반환합니다:
모든 상태 변경 시 서명된 웹훅이 전송되므로, 추측이 아닌 최신 판정 결과에 따라 제한을 적용할 수 있습니다.