Didit과 Temporal.io를 활용한 적응형 마찰 오케스트레이션 (KO)
TypeScript 개발자를 위한 Didit API와 Temporal.io를 사용하여 강력하고 적응형 신원 확인 워크플로우를 구축하는 방법을 알아보세요. 이 가이드에서는 다단계 KYC, 생체 인식, AML 검사를 통합하여 원활한 사용자 경험을 보장하는 방법을 다룹니다.

동적 검증 흐름실시간 위험 평가를 기반으로 마찰을 동적으로 조정하여 적응형 신원 확인을 구현하고, 보안과 사용자 경험 간의 균형 잡힌 접근 방식을 보장합니다.
상태 관리를 위한 Temporal.ioTemporal.io의 지속적인 실행을 활용하여 복잡하고 장기 실행되는 신원 확인 워크플로우를 관리하고, 분산 시스템 전반에서 재시도, 시간 초과 및 사람의 개입을 원활하게 처리합니다.
핵심 신원 확인을 위한 Didit APIID 확인, 생체 인식 및 AML 심사를 포함한 Didit의 포괄적인 신원 확인 제품군을 클린 API를 통해 통합하여 적응형 워크플로우의 핵심 구성 요소를 강화합니다.
모듈식 & AI-네이티브 이점Didit의 모듈식 AI-네이티브 아키텍처와 코드 없는 Business Console은 워크플로우의 신속한 배포 및 맞춤화를 가능하게 하며, 확장 가능한 신원 솔루션을 위해 무료 핵심 KYC 및 설정 비용을 제공합니다.
신원 확인의 적응형 마찰 문제
오늘날의 디지털 환경에서 사용자 경험과 강력한 보안의 균형을 맞추는 것은 매우 중요합니다. 기존의 정적 신원 확인 프로세스는 다양한 위험 프로필에 적응하지 못하여 저위험 사용자에게는 과도한 마찰을, 고위험 사용자에게는 불충분한 보안을 초래하는 경우가 많습니다. 이상적인 솔루션은 상황별 요인 및 실시간 위험 평가를 기반으로 확인 노력 수준이 동적으로 조정되는 적응형 마찰 모델을 포함합니다. 이를 위해서는 다단계 프로세스, 잠재적인 사람 검토 및 비동기 데이터 흐름을 관리하는 정교한 오케스트레이션이 필요합니다.
이러한 시스템을 처음부터 구축하는 것은 특히 분산 환경에서 작업하는 TypeScript 개발자에게 상당한 어려움을 안겨줍니다. 장기 실행 프로세스 전반에서 상태를 관리하고, 실패를 원활하게 처리하고, 재시도를 구현하고, 다양한 신원 확인을 원활하게 통합해야 합니다. 여기에 Didit의 AI-네이티브 신원 플랫폼과 Temporal.io의 지속적인 실행의 강력한 조합이 작용합니다.
Temporal.io: 복잡한 워크플로우를 위한 오케스트레이션 계층
Temporal.io는 내결함성, 확장 가능한 분산 애플리케이션을 구축하고 운영하기 위한 강력한 오픈 소스 플랫폼입니다. 신원 확인을 위해 Temporal.io는 완벽한 오케스트레이션 계층 역할을 하여 개발자가 복잡하고 장기 실행되는 워크플로우를 코드로 정의할 수 있도록 합니다. 다음과 같은 사용자 온보딩 여정을 상상해 보세요.
- 초기 ID 확인 (Didit의 OCR, MRZ, 바코드)
- 사기 방지를 위한 수동 및 능동 생체 인식 검사
- 문서 사진과의 1:1 얼굴 일치
- 초기 위험 점수를 기반으로 한 조건부 AML 심사
- 선택적 주소 증명 또는 전화 및 이메일 확인
- 자동 검사에서 이상 징후가 감지된 경우 에이전트의 잠재적인 수동 검토
이러한 각 단계는 Temporal 워크플로우의 활동이 될 수 있습니다. Temporal은 서비스가 충돌하거나, 네트워크 요청이 실패하거나, 외부 API를 일시적으로 사용할 수 없더라도 워크플로우 상태가 유지되고 실행이 중단된 지점에서 정확히 재개되도록 보장합니다. 이는 특히 사람의 개입으로 인해 몇 분, 몇 시간 또는 며칠이 걸릴 수 있는 프로세스의 경우 원활한 사용자 여정을 유지하고 규정 준수를 보장하는 데 중요합니다.
TypeScript를 사용하면 강력한 유형 지정으로 Temporal 워크플로우 및 활동을 정의하여 코드 품질 및 유지 관리성을 향상시킬 수 있습니다. 이를 통해 워크플로우 정의 내에서 적응형 마찰 논리를 직접 모델링하여 조건부 분기 및 확인 단계에 대한 동적 조정을 더 쉽게 구현할 수 있습니다.
핵심 신원 확인을 위한 Didit API 통합
Didit은 클린 API를 통해 모든 신원 확인 요구 사항을 위한 기본 구성 요소를 제공합니다. Didit을 Temporal 워크플로우에 통합하는 것은 간단합니다. 예를 들어, 사용자가 확인 세션을 시작하면 Temporal 워크플로우는 Didit의 API를 호출하여 특정 워크플로우 ID에 대한 세션을 생성할 수 있습니다. Didit의 Business Console을 사용하면 ID 확인, 수동 및 능동 생체 인식, AML 심사 및 모니터링과 같은 기능을 결합하여 이러한 워크플로우를 쉽게 생성할 수 있습니다. 연령 제한 서비스의 경우 Didit의 연령 추정을 사용하거나 향상된 보안을 위해 NFC 확인을 사용할 수도 있습니다.
Didit의 API는 세션을 생성할 때 workflow_id 매개변수를 제공하여 사전 구성된 확인 흐름을 트리거할 수 있도록 합니다. 그러면 Temporal 워크플로우는 Didit에서 웹훅을 수신하여 각 확인 단계 또는 전체 세션 완료의 상태 및 결과에 대해 시스템에 알릴 수 있습니다. 이 비동기 통신은 Temporal의 이벤트 기반 아키텍처에 의해 완벽하게 처리되어 복잡한 폴링 논리가 필요 없습니다.
예를 들어, Temporal 활동은 Didit 세션을 시작하고 특정 웹훅 이벤트를 기다리는 역할을 할 수 있습니다. 웹훅이 성공적인 ID 확인을 나타내지만 생체 인식 점수가 낮은 경우, 워크플로우는 수동 검토 활동이나 추가 증거 요청과 같은 추가 단계를 조건부로 트리거하여 진정한 적응형 마찰을 시연할 수 있습니다.
TypeScript로 적응형 마찰 워크플로우 구축
실제 사례를 고려해 봅시다. 새로운 사용자가 금융 서비스에 가입합니다. 모든 사용자에게 동일한 KYC 프로세스를 적용하는 대신, 우리는 적응하고자 합니다. 저위험 사용자(예: 신뢰할 수 있는 IP 주소, 낮은 거래 가치)는 기본 ID 확인 및 수동 생체 인식만 필요할 수 있습니다. 고위험 사용자(예: 의심스러운 IP, 높은 거래 가치 또는 이전 사기 플래그)는 NFC 확인, 능동 생체 인식, AML 심사 및 의무적인 수동 검토가 필요할 수 있습니다.
TypeScript와 함께 Temporal을 사용하면 사용자 컨텍스트를 입력으로 받는 기본 워크플로우를 정의할 수 있습니다. 이 워크플로우는 조건부 논리를 사용하여 위험 평가를 기반으로 다른 Didit 워크플로우 ID를 선택하거나 여러 Didit API 호출을 연결할 수 있습니다. 예를 들어:
// 예시 Temporal 워크플로우 스니펫
import { proxyActivities } from '@temporalio/workflow';
import type * as activities from './activities';
const { initiateDiditSession, waitForDiditWebhook, performManualReview } = proxyActivities({ startToCloseTimeout: '5 minutes' });
export async function onboardingWorkflow(userId: string, riskScore: number): Promise<string> {
let diditWorkflowId: string;
if (riskScore < 30) {
// 저위험: 수동 생체 인식을 포함한 기본 KYC
diditWorkflowId = 'uuid-for-basic-kyc-workflow';
} else if (riskScore < 70) {
// 중간 위험: 능동 생체 인식 및 얼굴 일치를 포함한 표준 KYC
diditWorkflowId = 'uuid-for-standard-kyc-workflow';
} else {
// 고위험: NFC, AML 및 수동 검토를 포함한 강화된 KYC
diditWorkflowId = 'uuid-for-enhanced-kyc-workflow';
}
const sessionId = await initiateDiditSession(userId, diditWorkflowId);
const verificationResult = await waitForDiditWebhook(sessionId);
if (verificationResult.status === 'PENDING_MANUAL_REVIEW') {
await performManualReview(sessionId);
}
return `사용자 ${userId}에 대한 확인이 상태: ${verificationResult.status}로 완료되었습니다.`;
}
이 스니펫은 Temporal이 흐름을 오케스트레이션하고 Didit이 실제 신원 확인을 처리하는 방법을 보여줍니다. initiateDiditSession 및 waitForDiditWebhook은 Didit API 호출 및 웹훅 리스너 논리를 래핑하는 Temporal 활동이 됩니다. performManualReview 활동은 지원 팀을 위한 내부 도구를 트리거할 수 있으며, Temporal은 완료를 기다려 전체 프로세스가 강력하고 추적 가능하도록 보장합니다.
Didit이 도움이 되는 방법
Didit은 적응형 마찰 워크플로우를 오케스트레이션하기 위한 강력한 구성 요소를 제공하는 AI-네이티브, 개발자 우선 신원 플랫폼입니다. 당사의 모듈식 아키텍처를 통해 ID 확인 (OCR, MRZ, 바코드), 수동 및 능동 생체 인식, 1:1 얼굴 일치 및 얼굴 검색, AML 심사 및 모니터링과 같은 신원 확인을 Temporal 워크플로우에 쉽게 플러그 앤 플레이할 수 있습니다. Didit의 코드 없는 Business Console을 사용하면 단 한 줄의 코드도 작성하지 않고도 다양한 기능을 결합하고 임계값을 정의하는 포괄적인 워크플로우를 설계할 수 있습니다. 이러한 사전 구성된 워크플로우는 클린 API를 통해 트리거될 수 있어 통합을 단순화합니다.
Didit의 장점에는 무료 핵심 KYC, 유연한 성공적인 확인당 지불 모델, 설정 비용 없음이 포함되어 모든 규모의 기업이 접근할 수 있습니다. 당사의 AI-네이티브 접근 방식은 높은 정확도와 사기 탐지 기능을 보장하며, 전 세계적인 설계는 수많은 국가 및 문서 유형에 대한 확인을 지원합니다. Didit을 활용하면 기본 신원 확인이 선도적인 강력한 플랫폼에 의해 처리된다는 확신을 가지고 Temporal 내에서 핵심 비즈니스 로직에 집중할 수 있습니다.
시작할 준비가 되셨습니까?
Didit이 실제로 작동하는 것을 볼 준비가 되셨습니까? 오늘 무료 데모를 받으세요.
Didit의 무료 티어로 무료로 신원 확인을 시작하세요.