메인 콘텐츠로 건너뛰기
Didit의 오케스트레이션 워크플로는 포괄적인 다단계 신원 확인 여정을 설계하고 배포하는 가장 강력하고 유연한 방법입니다. 이 Didit Academy 강의에서는 실제 콘솔에서 템플릿부터 게시된 워크플로까지 신원 확인 워크플로를 만듭니다. 각 노드에서 확인 항목을 선택하는 방법, 규칙과 임계값, AML 분기, webhook 노드, 버전 롤백을 다룹니다. 이 통합 경로를 사용하면 노코드 시각적 빌더로 Didit V2 플랫폼의 모든 기능을 활용하여 정교한 인증 시퀀스를 만들 수 있습니다. Business Console에서 로직을 한 번 정의하면, Didit이 사용자에게 보이는 전체 경험, 상태 관리, 조건부 단계를 처리합니다. 사용자 온보딩(KYC), 연령 확인 또는 재인증을 위한 완전하고 엔드 투 엔드 솔루션이 필요하고, 최소한의 개발 작업으로 빠르게 출시하면서도 프로세스를 최대한 제어하려면 이 경로를 선택하십시오.

국가별 신원 확인 방법

신분증 인증에서 국가 및 허용 신원 확인 방법을 열면 국가별로 문서 촬영, 문서 없는 조회, 디지털 신원 지갑을 설정할 수 있습니다. 추가 설정에는 문서 하위 유형, 조회 시도 횟수, 대체 규칙이 포함됩니다. 문서 없는 조회에는 조직의 데이터베이스 검증 서비스 요금이 적용됩니다. 완료된 시도마다 별도로 요금이 청구되며, 일부 일치와 일치하지 않는 경우도 포함됩니다. 즉, 완료된 시도가 두 번이면 두 번 청구됩니다. 형식 오류와 응답을 반환하지 않은 제공자 장애에는 요금이 청구되지 않습니다. 하나의 시도에 여러 데이터베이스 서비스가 응답하면 해당 서비스의 요금이 모두 합산됩니다. 기본값은 대체 전 1회 시도이며, 1회에서 5회까지 설정할 수 있습니다. 완료된 조회가 문서로 대체되면 문서 촬영 요금이 추가로 청구됩니다. 프로덕션 애플리케이션에서는 프로덕션에 사용할 수 있는 지갑만 활성화할 수 있습니다. 출시를 앞둔 지갑은 비활성 상태로 유지됩니다. 샌드박스 애플리케이션에서는 카탈로그의 모든 지갑을 시뮬레이션된 결과로 테스트할 수 있습니다. 샌드박스에서 사용할 수 있다고 해서 프로덕션에서 사용할 수 있다는 뜻은 아닙니다. 조회 및 지갑 실패 시나리오는 샌드박스 테스트를 참조하십시오.

워크플로 버전 관리

워크플로는 초안/게시 버전 관리를 지원합니다. 즉, 라이브 세션에 영향을 주지 않고 워크플로를 안전하게 반복 수정할 수 있습니다.
  • 초안 버전은 자유롭게 편집할 수 있습니다. 노드를 추가, 삭제, 재구성할 수 있습니다.
  • 초안을 게시하면 새 세션에서 사용할 변경 불가능한 버전이 만들어집니다.
  • 이전 버전은 보존되므로 과거 세션에 사용된 정확한 구성을 확인할 수 있습니다.
  • 세션은 항상 생성될 때의 특정 버전을 참조하므로, 업데이트를 게시한 후에도 일관성이 유지됩니다.
게시된 워크플로를 변경하려면 게시된 버전에서 새 초안을 만든 뒤 편집하고, 준비가 되면 게시하십시오. 버전 기록은 Management API를 통해 확인할 수 있습니다.

워크플로 구축의 두 가지 방식

Didit은 인증 워크플로를 만드는 두 가지 방식을 제공하며, 필요한 복잡도에 맞는 방식을 고를 수 있습니다.
Didit KYC 워크플로의 간단 모드와 고급 빌더 모드를 나란히 보여주는 화면

1. 간단 모드: 템플릿 기반 빌더

간단 모드는 빠르게 시작하기에 알맞습니다. 미리 만들어진 템플릿을 선택하고, 필요한 기능을 켜거나 끄면 바로 사용할 수 있습니다.
Didit 신원 확인 워크플로의 간단 모드 템플릿 빌더 화면
적합한 경우:
  • 빠른 설정과 배포
  • 표준 인증 흐름
  • 신원 확인을 처음 다루는 팀
  • 일반적인 패턴에 맞는 사용 사례
작동 방식:
  1. 워크플로 템플릿을 선택합니다(KYC, 연령 인증 등).
  2. 기능을 켜거나 끕니다(라이브니스, 얼굴 대조, AML 등).
  3. 각 기능의 기본 설정을 구성합니다.
  4. 게시하고 인증을 시작합니다.

2. 고급 모드: 시각적 그래프 빌더

고급 모드는 Didit 오케스트레이션 엔진의 모든 기능을 활용할 수 있게 합니다. 시각적 그래프 편집기에서 드래그 앤 드롭으로 노드, 분기, 사용자 정의 로직을 배치해 복잡한 조건부 인증 흐름을 만들 수 있습니다.
노드 기반 워크플로 시각적 그래프 빌더
적합한 경우:
  • 복잡하고 여러 경로를 거치는 인증 과정
  • 사용자 데이터 또는 인증 결과에 따른 조건부 로직
  • 사용자 정의 비즈니스 규칙과 분기
  • 엔터프라이즈급 규정 준수 요건
주요 기능:
  • 시각적 노드 편집기: 무한 캔버스에서 노드를 드래그하고, 놓고, 연결합니다.
  • 스마트 연결: 노드의 핸들에서 빈 공간으로 드래그하면 새 노드를 바로 만들고 연결합니다.
  • 조건부 분기: 추출된 데이터, 인증 상태, 국가, 문서 유형, 문서 하위 유형, 발급일, 나이, webhook JSON 응답 경로 또는 사용자 정의 규칙에 따라 사용자를 분기합니다.
  • 작업 자동화: 흐름 결과에 따라 태그를 추가하고, 메타데이터를 설정하고, 수동 검토로 보냅니다.
  • 키보드 단축키: 실행 취소(Ctrl/Cmd+Z), 다시 실행(Ctrl/Cmd+Shift+Z), 삭제(Delete/Backspace)
  • 확대/축소 및 이동: 스크롤로 확대/축소하고 드래그로 이동하며 복잡한 흐름을 탐색합니다.

그래프 빌더 노드 유형

기능 노드 범주

사용자 상호작용 기능(워크플로를 시작할 수 있음):
  • 신분증 인증(OCR)
  • 라이브니스 감지
  • 얼굴 대조
  • 연령 추정
  • 전화번호 인증
  • 이메일 인증
  • 설문지
  • 주소 증명
  • Document AI
  • NFC / ePassport
백엔드 전용 기능(사용자 상호작용 없이 자동으로 실행):
  • AML 스크리닝(앞 단계에 신분증 인증, KYB Registry 또는 Document AI 단계가 필요함. 검사 대상 엔터티 참조)
  • 데이터베이스 검증(OCR이 먼저 필요함)
  • 기기 및 IP 분석
참고: 백엔드 전용 기능은 빌더에서 별도 표시로 구분되며, 종속 조건이 충족되면 사용자 상호작용 없이 자동으로 실행됩니다.
각 기능 노드의 첫 번째 설정 탭에는 검증 엔진 제어 항목이 있습니다. 이 항목에서 검사를 Didit 자체 엔진으로 실행하거나, 마켓플레이스에서 연결한 서드파티 제공업체로 전환할 수 있습니다. 해당 제공업체를 사용할 수 없으면 Didit으로 자동 대체됩니다.

검사 대상 엔터티

AML 스크리닝은 보통 앞 단계에서 검사 대상을 가져옵니다. 신분증 인증 단계가 문서에서 읽은 개인이나 KYB Registry 단계가 반환한 기업이 그 대상입니다. 두 단계가 모두 없는 흐름도 있습니다. Document AI만으로 구성된 흐름, 예를 들어 세금 증명서나 공증된 설립 증서처럼 표준화되지 않은 문서를 다루는 흐름은 이름, 생년월일, 문서 번호, 국가를 이미 확보하고 있으며, 이 값은 사용자가 정의한 필드 키로 저장되어 있습니다. AML 노드의 고급 탭에서 이 키들을 검사에 연결합니다.
  • 엔터티 유형 - 개인을 검사하거나, 업로드된 문서에 명시된 기업을 검사합니다. 기업 노드는 개인이 아니라 기업 등록 정보를 조회합니다.
  • 필드 출처 - 네 가지 검사 입력값(이름, 생년월일, 국가, 문서 번호) 각각을 Document AI 필드, 설문지 답변, 또는 세션 생성 시 전달한 값(expected_details / metadata)에 매핑합니다. 이미 full_name으로 이름을 지정한 Document AI 필드는 자동으로 인식됩니다.
  • 불완전한 검사 데이터 - 전체 신원 정보보다 적은 정보로 검사가 실행될 때 어떻게 할지 정합니다. 기본값은 검토입니다. 흐름에 이름만 있다는 사실을 알고 있는 경우에만 작업 없음을 선택합니다.
신뢰하고 사용하기 전에 알아 두어야 할 두 가지가 있습니다. 신분증 인증이나 KYB Registry 단계가 없으면 이름은 필수입니다. 이름 없이는 검색할 수 없으므로, 이름이 입력되기 전에는 워크플로를 게시할 수 없습니다. 또한 AML 정확도는 제공하는 식별자 수에 따라 직접 달라집니다. 이름만으로 스크리닝하면 검토자들이 불만을 제기하는 오탐이 많이 발생하므로, 문서에 생년월일과 국가가 있다면 반드시 매핑하십시오.

분기 조건이 세션 데이터를 읽는 방식

조건이 읽는 레코드. 분기 조건은 해당 조건을 만든 기능 노드에 연결되며, 그 노드의 결과를 읽습니다. 한 노드가 둘 이상의 레코드를 생성했다면 조건은 가장 최근 레코드를 읽습니다. 이 점은 기기 및 IP 분석에서 특히 중요합니다. Didit은 세션이 열린 기기와 IP 주소마다 관측값을 하나씩 기록하므로, 세션 도중에 휴대폰이나 네트워크를 바꾼 사용자는 같은 노드에 여러 레코드를 남기게 됩니다. 예를 들어 IP COUNTRY is in [...] 같은 규칙은 최신 관측값에 대해 평가됩니다. 이 최신 관측값은 세션의 기기 및 IP 분석 패널에 가장 먼저 표시되는 레코드이며, 결정 페이로드의 ip_analyses 배열에도 같은 레코드가 담깁니다. 관측값이 둘 이상인 세션에는 MULTIPLE_DEVICES_IN_SESSION 경고도 함께 표시됩니다. 이는 분기 결과만 보지 말고 전체 목록을 검토하라는 신호입니다. 국가 값. 국가 조건은 표기 방식이 아니라 국가 자체를 기준으로 일치 여부를 판단합니다. 필드 선택기에서 국가를 고르면 Didit이 비교의 양쪽을 정규화하므로, ISO 3166-1 alpha-3 형식(UKR)으로 작성한 규칙도 alpha-2 형식(UA)으로 수집된 값과 일치합니다. 값이 없는 경우, 빈 값, 부정 비교. 값이 전혀 없는 필드(문서에 해당 정보가 없거나, 메타데이터 키가 전송되지 않았거나, 기능이 실행되지 않은 경우)는 is empty와 equals not_defined에만 일치합니다. equals, contains, greater than은 물론 not equals와 not in도 일치하지 않으며, 분기 노드는 다음 분기로 넘어갑니다. 빈 문자열을 가진 필드는 누락된 필드가 아니라 값입니다. "metadata": {"credential_state": ""}로 생성된 세션은 metadata.credential_state equals IL 조건에는 실패하지만, not equals IL, not in [IL, MA, NJ], equals "" 조건에는 통과합니다(is empty는 두 경우 모두에 일치합니다). 따라서 부정 비교로 승인하는 분기는 상태 값이 빈 문자열로 전송된 세션도 승인하게 됩니다. 같은 세션이라도 키를 생략하면 폴백 분기를 따릅니다. not equals나 not in으로 라우팅한다면, 같은 분기에 metadata.<key> is not empty를 추가하십시오(AND 로직). 그래야 두 경우 모두 값이 없어야 할 때 도달하는 곳으로 갑니다. 분기는 순서대로 평가되며 처음 일치한 분기가 선택됩니다. 조건이 없는 폴백 분기는 다른 어떤 분기와도 일치하지 않을 때만 선택되므로, 분기 노드마다 예상치 못한 값이 도달할 곳을 정하는 폴백을 두십시오. 어떤 기능에도 경고가 없는데 세션이 검토 중 상태에 도달했다면, 그것은 검사가 아니라 그래프의 상태 노드가 보낸 것입니다. 보통은 분기 노드의 폴백 분기가 원인입니다. 세션 메타데이터. 세션 생성 시 metadata로 보낸 값은 모든 분기에서 metadata.<key>로 사용할 수 있으며, 고정 값이나 다른 세션 필드와 비교할 수 있습니다(예: metadata.min_age <= Age). 숫자는 숫자로 비교되므로 18과 "18"은 같게 동작합니다. 샌드박스 / 테스트 모드. 분기 조건, 메타데이터, 상태 노드는 샌드박스에서도 실제 운영 환경과 똑같이 동작합니다. 샌드박스는 그 자체로 세션을 검토 중 상태에 두지 않습니다. 차이는 문서에 있습니다. 샌드박스 세션에는 미국 주/지역 정보가 없는 가상 문서가 사용되므로, Region 조건은 그 세션에서 일치할 수 없습니다. 상태에 따라 달라지는 흐름을 테스트하는 방법은 조작된 문서에 없는 정보를 참조하십시오. 재제출. 분기 노드는 재제출을 포함한 모든 시도마다 평가됩니다. 특정 단계를 다시 제출하도록 세션을 돌려보내면, 그 단계 사이에 놓인 분기와 작업은 사용자가 해당 단계를 다시 완료할 때 새 시도의 데이터를 기준으로 다시 실행됩니다. 시도 사이에 제한 관할권으로 이동한 사용자는 이를 다루는 분기로 라우팅되며, 거부됨 결과로 끝나는 분기는 재제출된 세션을 거기서 종료합니다. 분기 경로 확인하기. 세션이 실행되는 동안 워크플로가 내리는 모든 분기 결정과 도달하는 모든 결과 노드는 세션의 이벤트 타임라인에 기록됩니다(콘솔 세션 상세 > 이벤트, 그리고 GET /v3/session/{id}/decision/?include=events). 워크플로 라우팅 행은 분기 노드, 일치한 조건, 세션이 이어진 노드를 표시하거나, 일치한 조건이 없어 노드의 폴백 엣지가 선택되었음을 표시합니다. 워크플로 결과 행은 세션 상태를 설정한 상태 노드를 표시합니다. 어떤 기능도 표시하지 않았는데 워크플로가 세션을 검토 중으로 보내면, 이 행들이 폴백 엣지와 그것이 이어진 결과 노드를 포함해 세션이 거친 경로를 보여줍니다. 이후의 수동 결정은 이러한 워크플로 이벤트를 다시 쓰지 않습니다. 입력값 누락도 가능한 원인 중 하나입니다. 세션 생성 시 키를 생략하면 metadata.* 값이 있어야 일치하는 조건은 일치하지 않습니다. 반면 is_empty나 not_defined를 사용한 equals처럼 누락 자체를 명시적으로 검사하는 조건은 같은 누락 키에 일치할 수 있습니다. 폴백 엣지는 else 분기를 포함해 어떤 분기와도 일치하지 않을 때만 선택되며, 기본 출력에 연결된 노드로 이어집니다. 이벤트 페이로드는 세션 이벤트를 참조하십시오.

워크플로 템플릿: 시작점

템플릿은 엄격한 유형이 아니라, 일반적인 사용 사례를 위해 미리 구성된 스마트한 시작점으로 생각하시면 됩니다. Simple 모드에서는 바로 사용할 수 있습니다. Advanced 모드에서는 폭넓게 맞춤 설정할 수 있는 기반을 제공합니다.
KYC, KYB, 연령 확인 사용 사례를 위한 Didit KYC 워크플로 템플릿 갤러리

사용 가능한 템플릿

1. KYC 워크플로

새로운 사용자를 온보딩하고 전체 고객 확인(KYC) 규정 준수를 충족하기 위한 종합 솔루션입니다.
  • 시작 단계: 핵심 신분증 인증.
  • 일반적으로 추가되는 기능:
    • [+] 라이브니스 감지: 사용자가 실제로 현장에 있는지 확인하고 스푸핑을 방지합니다.
    • [+] 얼굴 대조 1:1: 사용자의 셀피를 신분증 사진과 생체 인식으로 대조합니다.
    • [+] AML 스크리닝: 사용자를 글로벌 제재, PEP, 부정적 언론 보도 목록과 대조합니다.
    • [+] NFC 인증: 전자 여권 및 전자 신분증 칩을 읽어 정부 수준의 보안 계층을 추가합니다.
    • [+] 주소 증명(PoA): 사용자의 거주 주소를 확인합니다.
    • [+] 전화번호 인증: 추가 인증 요소로 전화번호 소유 여부를 확인합니다.
    • [+] 이메일 인증: 추가 인증 요소로 이메일 주소 소유 여부를 확인합니다.
    • [+] 데이터베이스 검증: 공식 정부 및 신용 데이터베이스와 대조해 검증합니다.
    • [+] 설문지: 맞춤 설정 가능한 양식을 통해 구조화된 증명과 증빙 문서를 수집합니다.
    • [+] 기기 및 IP 분석: 위치와 연결 위험을 분석합니다.

2. 적응형 연령 확인 워크플로

연령 제한이 있는 서비스를 위한 낮은 마찰, 개인정보 보호 중심의 흐름입니다.
  • 시작 단계: 셀피 기반 연령 추정.
  • 핵심 로직:
    • 추정 연령이 기준값을 명확히 넘으면(예: 18+ 서비스의 경우 추정 25+), 사용자는 즉시 통과합니다.
    • 추정 연령이 기준값보다 낮거나 “완충 구간”(예: 추정 16~20세) 안에 있으면, 워크플로를 구성하여 생년월일을 정확히 확인하기 위한 신분증 인증으로 자동 대체되도록 설정할 수 있습니다.
  • 일반적으로 추가되는 기능:
    • [+] 기기 및 IP 분석: 지리적 위치에 따라 접근을 제한합니다.

3. 생체 인증 워크플로

사용자에게 다시 서류를 요청하지 않고도 재방문 사용자를 빠르고 안전하게 재인증하는 방법입니다.
  • 시작 단계: 사용자가 현장에 있는지 확인하는 라이브니스 감지 검사.
  • 핵심 로직:
    • 시스템은 새로 촬영한 실시간 셀피와, 사용자의 최초 승인된 KYC 인증에서 얻은 신뢰할 수 있는 생체 인식 템플릿 사이에서 얼굴 대조를 수행합니다.
    • 사용자에게 동일한 vendor_data에 저장된 얼굴(승인된 라이브니스 얼굴, 전자 여권 사진, 신분증 초상 사진, 또는 등록된 프로필 얼굴)이 이미 있다면, 세션을 생성할 때 portrait_image를 생략할 수 있으며 Didit이 저장된 얼굴을 자동으로 재사용합니다. 그렇지 않은 경우 portrait_image(Base64로 인코딩된 이미지, 최대 2MB)를 전달해야 합니다. 둘 중 어느 것도 없으면 세션 생성은 400으로 실패합니다.
  • 일반적으로 추가되는 기능:
    • [+] 전화번호 인증: 주소를 인증된 전화번호와 연결합니다.
    • [+] 이메일 인증: 추가 인증 요소로 이메일 주소 소유 여부를 확인합니다.
    • [+] 기기 및 IP 분석: 새로운 위치에서 발생한 의심스러운 로그인 시도를 표시합니다.

4. 주소 인증 워크플로

주소 증명(PoA)이 주요 요구 사항일 때를 위한 전용 흐름입니다.
  • 시작 단계: 사용자가 주소 증명 문서(예: 공과금 청구서, 은행 거래 명세서)를 제출합니다.
  • 핵심 로직: 당사의 AI가 문서에서 이름과 주소를 추출하고 검증합니다.
  • 일반적으로 추가되는 기능:
    • [+] 전화번호 인증: 주소를 인증된 전화번호와 연결합니다.
    • [+] 이메일 인증: 추가 인증 요소로 이메일 주소 소유 여부를 확인합니다.
    • [+] 기기 및 IP 분석: 추가적인 확신을 위해 문서상 주소를 사용자의 현재 지리적 위치와 비교합니다.

5. 설문지 인증 워크플로

맞춤 설정 가능한 양식을 통해 구조화된 증명과 증빙 문서를 수집하는 것이 주요 목표일 때 사용하는 집중형 흐름입니다.
  • 시작 단계: 설문지.
  • 핵심 로직: 시스템은 구성한 설문지(섹션, 번역된 콘텐츠, 필수 필드, 업로드 항목)를 표시합니다.
  • 일반적으로 추가되는 기능:
    • [+] 기기 및 IP 분석: 설문지 제출에 위치 및 연결 정보를 추가합니다.
전체 맞춤 설정 워크플로 내 각 기능은 특정 파라미터로 더 세부적으로 맞춤 설정하여 정확한 요구 사항을 충족할 수 있습니다. 빌더에서 각 검사의 설정을 살펴보세요.

혼인 상태를 기반으로 규칙 만들기

Advanced 모드에서는 조건부 분기와 맞춤 상태 규칙에 OCR 필드 kyc.marital_status를 사용할 수 있습니다. 자유 형식 텍스트가 아닌 지원되는 열거형 값을 사용하도록 필드 선택기에서 값을 선택하세요. 문서에 혼인 상태가 없으면 값은 비어 있으며, 대체 분기가 적용됩니다. 워크플로 코파일럿은 한 번의 작업으로 데이터베이스 검증 단계를 만들고 구성할 수도 있습니다. 이 검사를 추가해 달라고 요청할 때 필요한 국가를 지정하면, 콘솔이 각 국가에 대해 지원되는 서비스를 찾아 캔버스에 저장된 구성을 표시합니다.

간단 모드와 고급 모드 비교


연동 흐름

오케스트레이션 워크플로 연동은 간단합니다. 서버가 Didit에 세션을 생성하면 고유한 URL을 받고, 사용자를 해당 URL로 리디렉션합니다. 나머지 과정은 Didit이 처리하며, 결과는 webhook을 통해 서버에 알려줍니다.

일반적인 사용 사례

사용 사례권장 템플릿권장 모드추천 기능
기본 신원 인증KYC간단라이브니스 감지, 얼굴 대조
높은 보안 수준의 온보딩KYC고급NFC, 라이브니스 감지, 얼굴 대조, AML, 전화번호 인증
연령 제한 콘텐츠/서비스Adaptive Age Verification간단신분증 인증 대체 수단
재방문 사용자 인증생체 인증간단기기 및 IP 분석
주소 인증주소 증명간단전화번호 인증
금융 서비스 온보딩KYC고급라이브니스 감지, 얼굴 대조, 주소 증명, AML, 데이터베이스 검증
지역별 규정 준수KYC고급국가별 조건부 라우팅, 지역마다 다른 검사
위험 기반 인증KYC고급위험 점수에 따른 조건부 분기, 에스컬레이션 경로

시작하기

  1. Didit이 처음이신가요? 간단 모드와 미리 만들어진 템플릿으로 시작하세요
  2. 맞춤 설정이 필요하신가요? 고급 모드로 전환해 조건부 로직을 추가하세요
맞춤형 워크플로 구성에 대해 상담하거나 귀하의 요구 사항에 가장 적합한 설정을 안내받으려면 영업팀에 문의하세요.
마지막 수정일 2026년 11월 7일