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


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

규제 플랫폼이 제공해야 하는 것
직접 입력한 주소는 감사에 실패합니다. ID와 교차 확인되지 않은 스캔된 공과금 청구서도 감사에 실패합니다. Didit은 캡처, OCR, ID와의 이름 및 주소 매칭, 18개 이상의 관할권에서 국가 등록 기관 유효성 검사를 포함한 전체 주소 증명 레시피를 건당 $0.20의 단일 서명 증거 팩으로 제공합니다.
신분증, 라이브니스, 얼굴 매칭, 제재 목록, 주소, 연령, 전화번호, 이메일, 맞춤 질문 등 필요한 검사를 선택하세요. 대시보드에서 플로우에 드래그하거나, 동일한 플로우를 API에 게시할 수 있습니다. 조건에 따라 분기하고 A/B 테스트를 실행하며, 코드는 필요하지 않습니다.
Web, iOS, Android, React Native 또는 Flutter SDK를 사용하여 네이티브로 임베드하거나, 호스팅된 페이지로 리디렉션할 수 있습니다. 또는 이메일, SMS, WhatsApp 등 어디든 사용자에게 링크를 보내기만 하면 됩니다. 스택에 맞는 방식을 선택하세요.
Didit은 카메라, 조명 안내, 모바일 핸드오프 및 접근성을 호스팅합니다. 사용자가 플로우를 진행하는 동안 200개 이상의 사기 신호를 실시간으로 분석하고 모든 필드를 신뢰할 수 있는 데이터 소스와 대조하여 확인합니다. 2초 이내에 결과를 받아볼 수 있습니다.
실시간으로 서명된 웹훅은 사용자가 승인, 거부되거나 검토를 위해 전송되는 즉시 데이터베이스를 동기화합니다. 필요에 따라 API를 폴링하거나, 콘솔을 열어 모든 세션과 신호를 검사하고 원하는 방식으로 케이스를 관리할 수 있습니다.
Didit · 주소 증명
4단계 / 5
주소 증명 서류를 업로드하세요
Didit · OCR + 주소 표준화
파싱된 주소
Didit · 신분증 확인 + POA
Didit · 데이터베이스 유효성 검사
Didit · 글로벌 커버리지
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_proof_of_address",
"vendor_data": "user-42",
"expected_country": "ES"
}'호스팅 URL · 사용자가 신분증 + 셀카 + 주소 증명을 업로드합니다.$ curl https://verification.didit.me/v3/session/$SESSION/decision/ \
-H "x-api-key: $DIDIT_API_KEY"
# Decision payload (excerpted):
{ "proof_of_address": { "status": "승인됨", "address": { ... } },
"database_validation": { "service": "es_catastro_address", "result": { "registry_match": true } } }registry_match true → 신뢰도 높은 거주지 증명.You are integrating Didit's Proof of Address into a regulated onboarding flow (bank, fintech, lender, crypto exchange, EU payment institution). Regulators want a current address on every customer file; the legacy "ask the user to type it" approach fails audit because the typed address is unverified.
Four obligations on every Proof of Address:
1. Capture an acceptable document — utility bill, bank statement, government letter, lease, mortgage, mobile / internet contract — dated within the last 90 days.
2. Read the address fields with Optical Character Recognition (OCR) and parse them into the canonical address envelope (line 1, line 2, city, postal code, country).
3. Cross-check the address against the address on the underlying ID document AND against the name on both — a mismatched address or a mismatched name fails the check.
4. Where the country supports it, validate the parsed address against the authoritative address registry (UK Royal Mail PAF, Spain Catastro / Padrón, France BAN, Germany DATEV, US USPS).
Pricing (verified live):
- Proof of Address: $0.20 per check
- ID Verification (required as the cross-check anchor): $0.15 per check
- Database Validation (per-country registry validation, optional): variable per service
- Combined bundle (ID + Liveness + Face Match + Proof of Address): $0.55 per user
- 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 HMAC SHA-256 verification using the X-Signature-V2 header and your webhook secret.
- A workflow_id from the Workflow Builder bundling ID Verification + Passive Liveness + Face Match 1:1 + Proof of Address. Add a Database Validation node for the country-specific address registry where available.
STEP 1 — Create the session
POST https://verification.didit.me/v3/session/
Headers:
x-api-key: <your api key>
Content-Type: application/json
Body:
{
"workflow_id": "<your proof-of-address workflow id>",
"vendor_data": "<your user id, max 256 chars>",
"callback_url": "https://<your-app>/onboarding/poa/callback",
"expected_country": "ES",
"metadata": {
"purpose": "regulatory_address_capture",
"user_id": "<your internal id>"
}
}
Response: 201 Created with the hosted session URL. SMS or email the URL to the user; they complete ID capture + selfie + Proof of Address upload on their phone in under five minutes.
STEP 2 — 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",
"id_verification": { "status": "Approved", "document_type": "passport", "country_code": "ES" },
"liveness": { "status": "Approved" },
"face": { "status": "Approved", "similarity_score": 0.94 },
"proof_of_address": {
"status": "Approved",
"document_type": "utility_bill",
"issuer": "Iberdrola",
"issued_at": "2026-04-12",
"address": {
"line1": "C. Diagonal 612",
"line2": "3a",
"city": "Barcelona",
"postal_code": "08021",
"country": "ES"
},
"cross_check": {
"name_match": true,
"address_match_with_id": true,
"within_90_day_window": true
}
},
"database_validation": {
"status": "Approved",
"service": "es_catastro_address",
"result": { "registry_match": true }
}
}
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 3 — Decide
Branch logic:
Approved → file the canonical address payload on the customer record.
In Review → hold the onboarding, wait for analyst webhook update.
Declined → refuse onboarding, log the decline reason (typically: document over 90 days old, name mismatch, address mismatch with the ID).
Resubmitted → user updated the upload; re-read the decision.
The Proof of Address sub-result is independent of the parent session — even if the parent session is Approved, the proof_of_address.status might be In Review if the cross-check flagged a different city. Switch on proof_of_address.status when you persist the address.
STEP 4 — Persist the canonical address envelope
When proof_of_address.status === "Approved", save the entire address object to your customer record as the regulatory current address. Use the canonical fields (line1, line2, city, postal_code, country) — Didit normalises across document layouts so the same shape works for an English utility bill, a Spanish bank statement, and a German Anmeldung.
Keep the issuer + issued_at fields for your audit log — they prove the document type and the recency window the regulator audited.
STEP 5 — Registry validation result
When the workflow includes a Database Validation node, the database_validation block returns the per-country registry-validation outcome:
- es_catastro_address — Spanish Catastro property registry
- uk_royal_mail_paf — UK Postcode Address File
- fr_ban — France Base Adresse Nationale
- de_anmeldung — German municipal registration check
- us_usps — US Postal Service address validation
A registry-match-false result on a country that supports validation is a signal worth manual review even if the OCR pass succeeded — most fake addresses fail registry validation immediately.
STEP 6 — Refresh on a cadence (optional)
Most regulators ask for the address on file to be re-confirmed every 1-3 years (longer for low-risk customers, shorter for high-risk). Add a periodic Proof of Address session to your account-refresh cadence — same workflow, same hosted URL flow.
WEBHOOK EVENT NAMES
- status.updated — session status changed.
- data.updated — session data changed (resubmission, document re-upload).
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).
- Acceptable documents must be dated within the last 90 days by default; some workflows extend to 180 days for low-risk customer segments.
- The address on the Proof of Address document MUST cross-check against the address on the underlying ID OR against a previously-Approved address on file. If neither match, the proof flips to In Review automatically.
- 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/proof-of-address/overview
- https://docs.didit.me/core-technology/database-validation/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 인프라는 모든 세션에서 동적으로 학습하며 매일 발전합니다.
주소 증명(Proof of Address)은 말 그대로 온보딩하려는 사람이 주장하는 주소에 실제로 거주하고 있음을 증명하는 자료입니다. 일반적인 증빙 자료는 다음과 같습니다.
규제 기관이 중요하게 여기는 이유: 등록된 주소는 자금세탁 방지 기록 유지, 세금 거주지 보고(FATCA / CRS), 그리고 향후 모든 집행의 법적 관할권의 기준이 됩니다. 직접 입력한 주소는 확인할 수 없지만, 최근 문서로 뒷받침되고 신분증과 교차 확인된 주소 증명은 표준으로 인정됩니다. Didit은 이 모든 과정을 건당 $0.20으로 제공합니다.
규제 기관이 직접 입력한 주소를 지속적으로 거부하는 세 가지 이유는 다음과 같습니다.
주소 증명 절차(캡처, OCR, 교차 확인, 등록부 유효성 검사)는 사용자 휴대폰에서 5분 이내에 규제 기관 수준의 증거를 생성합니다. 전체 과정은 건당 $0.20입니다.
전체 과정은 일반적으로 30초 이내에 완료됩니다. 신분증을 들고, 문서를 촬영하고, 셀카를 찍으면 끝입니다. 이는 시장에서 가장 빠른 속도입니다. 기존 KYC 제공업체는 동일한 과정에 90초 이상이 소요되는 경우가 많습니다.
백엔드에서 Didit은 사용자가 셀카를 완료한 시점부터 웹훅이 실행되는 시점까지 p99에서 2초 이내에 결과를 반환합니다. 모바일 캡처는 느린 휴대폰과 느린 네트워크에 최적화되어 있습니다. 점진적 이미지 압축, 지연 로딩되는 SDK, 사용자가 웹에서 시작하는 경우 QR 코드를 통해 데스크톱에서 휴대폰으로 한 번의 탭으로 전환하는 기능을 제공합니다.
만약 "공과금 청구서를 업로드하세요"에서 멈춘다면, 악의적인 공격자는 다음을 시도할 수 있습니다.
Didit은 OCR 위에 세 가지 유효성 검사 계층을 쌓아 이 네 가지 모두를 잡아냅니다.
이 세 가지 모두 서버 측에서 실행됩니다. 에이전트는 원본 업로드를 보지 않고, 유효성이 검사된 결과만 확인합니다.
모든 세션은 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에서 확인할 수 있습니다.
대부분의 규제 기관은 주소 증명 문서가 확인 시점으로부터 90일 이내에 발행된 것이어야 한다고 요구합니다. 그보다 오래된 문서는 사용자가 그 이후로 이사했을 수 있다는 가정하에 오래된 것으로 간주됩니다.
Didit의 OCR은 문서 날짜를 읽고 이를 확인 타임스탬프와 자동으로 대조합니다.
within_90_day_window: true → 증명이 최신성 확인을 통과합니다.within_90_day_window: false → 세션이 In Review로 전환되고 사용자에게 더 최신 문서를 업로드하도록 요청합니다.위험도가 낮은 고객 세그먼트의 경우 워크플로우를 구성하여 기간을 180일로 연장하거나, 위험도가 높은 세그먼트의 경우 60일로 단축할 수 있습니다. 구성은 세션당이 아닌 워크플로우당 적용되므로 변경 사항이 일괄적으로 적용됩니다. 영국 Right to Rent는 90일을 사용하며, EU AML 지침은 감독 기관에 따라 일반적으로 90-180일을 허용합니다.
대부분의 규제 기관은 등록된 주소를 주기적으로 재확인하도록 요구합니다.
Didit의 갱신은 기존 고객의 vendor_data를 사용하여 주소 증명 워크플로우에 대한 동일한 POST /v3/session/입니다. 새 문서는 고객 파일에서 이전 문서를 대체하며, 두 문서 모두 감사 추적에 보관됩니다. 갱신 주기는 귀하의 위험 정책에 속하므로 Didit은 자동 갱신을 트리거하지 않습니다. 고객 데이터 파이프라인에서 갱신 일정을 잡으세요.
대부분의 KYC 제공업체는 주소 증명(Proof of Address)에 대해 건당 $0.50에서 $2.00를 청구하며, 종종 더 높은 KYC 기본 요금에 추가 항목으로 부과되고, 등록부 유효성 검사에 대한 국가별 추가 요금이 붙습니다. Onfido / Jumio / Veriff와 같은 전형적인 모델입니다.
Didit의 공개 가격은 주소 증명 건당 $0.20 + 기본 신분증 확인(교차 확인 기준점으로 필요) $0.15 = 총 $0.35입니다. 데이터베이스 유효성 검사는 국가별로 변동 비용이 추가되며, 일반적으로 $0.05-$0.20입니다. 최저 요금, 최소 금액, 국가별 추가 요금은 없습니다.
이는 동일한 규제 결과에 대해 기존 스택보다 약 3-5배 저렴합니다. 월 50,000명의 사용자를 기준으로, 건당 $1.50인 기존 업체와 비교하면 연간 약 $65,000를 절약할 수 있습니다. 전체 가격은 /pricing에서 확인할 수 있습니다.