> ## Documentation Index
> Fetch the complete documentation index at: https://developers.argosidentity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Device Verification

> KYC 접근 기기의 정보를 검증하여 비모바일 기기의 접근을 사전에 차단한 결과를 확인하는 방법을 안내합니다

Device Verification은 KYC 인증에 접근하는 기기 정보를 분석하여 **비모바일 기기(데스크탑, 가상환경, 자동화 봇 등)의 접근을 사전에 차단**하는 기능입니다. 2026-04 업데이트에서 **Fingerprint 기반 탐지**와 **Device 중복 검사**가 추가되었고, 2026-07 업데이트에서 검증 범위가 **신분증·셀피 촬영 시점까지 확장**되며 **Sensor 검증**이 신규 추가되었습니다.

<Info>
  **검증 시점이 3개로 확장되었습니다** <span style={{backgroundColor: '#EEF4FF', color: '#0064FF', padding: '2px 8px', borderRadius: '12px', fontSize: '12px', fontWeight: '600', marginLeft: '6px'}}>2026-07 변경</span>

  기존에는 라이브폼 진입 시 **1회만** 검증했습니다. 이제 **진입 시점(entry)** 에 더해 **신분증 촬영(idCapture)** 과 **셀피 촬영(selfie)** 시점에도 검증이 수행되며, 각 촬영 시점의 값을 **진입 시점의 값과 비교**하여 중간에 기기나 환경이 바뀌었는지 확인합니다.
</Info>

<Info>
  **기능 활성화 방법**

  [프로젝트 관리 > 정책 및 인증 > 인증강화 및 위조방지](/dashboard/ko/project-management/policy-and-authentication/anti-fraud-and-forgery-prevention#device-info) 메뉴의 **Device Info** 탭에서 Device 검증 / Sensor 검증 / Fingerprint option을 설정합니다.
</Info>

<Frame caption="Device Info 탭의 Device 검증 설정 화면">
  <img src="https://mintcdn.com/argosidentity/akM0S6e-h1QxX7wU/images/dashboard/new/preverification/device/option_ko.png?fit=max&auto=format&n=akM0S6e-h1QxX7wU&q=85&s=12516854a3b9169506033cb3442a8e00" alt="Device 검증 설정 화면" width="1749" height="423" data-path="images/dashboard/new/preverification/device/option_ko.png" />
</Frame>

<Note>
  Device Verification 조회 화면(검증 결과 목록·상세보기)은 **영문 UI로 제공**됩니다. 이 문서에서도 화면에 표시되는 필드명은 영문 원문 그대로 표기합니다.
</Note>

***

## 검증 유형

Device Verification 페이지에서는 **세 가지 유형**의 검증 결과를 확인할 수 있습니다.

| 유형                                                                                                                                                                                          | 설명                                                                                   | 실패 시 에러 코드                           |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | ------------------------------------ |
| **Device**                                                                                                                                                                                  | Static check — Browser check, Graphics check, Screen check 3종 검사. 비모바일 기기 여부를 판별합니다. | `DE-20000` (진입 시)                    |
| **Sensor** <span style={{backgroundColor: '#EEF4FF', color: '#0064FF', padding: '2px 8px', borderRadius: '12px', fontSize: '12px', fontWeight: '600', marginLeft: '6px'}}>2026-07 신규</span> | 촬영 순간의 기기 센서 신호를 검증하여 카메라 경로 위조(media injection)를 탐지합니다.                             | —                                    |
| **Fingerprint**                                                                                                                                                                             | Fingerprint option — 가상 머신, 에뮬레이터, 악성 봇, 브라우저 변조 탐지 및 Device 중복 검사.                  | `DE-30000` (탐지) / `DE-40000` (중복 초과) |

### Device (Static check)

기기 정보를 분석하여 모바일 기기 여부를 판별하며, 비모바일 기기로 판단될 경우 **FAIL** 처리됩니다.

<Warning>
  3가지 검증 중 **1개라도 FAIL**이면 해당 기기의 KYC 접근이 차단되며, 오류 페이지(`DE-20000`)로 리다이렉트됩니다.
</Warning>

| 검증 항목              | 검증 대상          | 설명                                                                                |
| ------------------ | -------------- | --------------------------------------------------------------------------------- |
| **Browser check**  | User-Agent     | 브라우저의 UserAgent 값을 분석하여, 접속 기기가 모바일이 아닌 데스크탑 PC 또는 자동화 도구(봇)인 경우 차단합니다.           |
| **Graphics check** | WebGL Renderer | 기기의 WebGL 정보를 통해 GPU/그래픽 카드를 탐지하여, 모바일에 탑재될 수 없는 데스크탑 전용 GPU 또는 가상환경이 감지되면 차단합니다. |
| **Screen check**   | Touch Points   | 디바이스의 터치스크린 지원 여부를 분석하여, 모바일 기기에서 지원하는 멀티터치 수준에 미달하는 경우 차단합니다.                    |

### Sensor <span style={{backgroundColor: '#EEF4FF', color: '#0064FF', padding: '2px 8px', borderRadius: '12px', fontSize: '12px', fontWeight: '600', marginLeft: '6px'}}>2026-07 신규</span>

신분증·셀피를 **촬영하는 순간 기기의 움직임 센서 신호**를 함께 수집하여, **카메라 경로를 위조하여 미리 준비한 이미지를 주입하는 시도**(media injection)를 탐지합니다.

| 특성          | 내용                                                           |
| ----------- | ------------------------------------------------------------ |
| **실행 시점**   | 신분증 촬영(`idCapture`), 셀피 촬영(`selfie`) — **진입 시점에는 실행되지 않습니다** |
| **지점 간 비교** | 수행하지 않습니다. 각 촬영 시점의 신호를 그 자리에서 판정합니다.                        |
| **에러 코드**   | 별도의 사용자 에러 코드가 부여되지 않습니다.                                    |

<Note>
  검증 기준은 지속적으로 업데이트되며, 구체적인 판정 로직과 기준값은 보안상 공개되지 않습니다.
</Note>

### Fingerprint

디바이스 Fingerprint(Visitor ID)를 기반으로 가상 환경·에뮬레이터·자동화 봇·변조 브라우저를 탐지하고, 동일 기기의 반복 승인을 제한합니다.

| 검증 항목                      | 차단 대상                           | 실패 시                                    |
| -------------------------- | ------------------------------- | --------------------------------------- |
| **Virtual machine**        | VMware, Parallels 등 가상화 환경      | `DE-30000`                              |
| **Emulator**               | 모바일 디바이스를 시뮬레이션하는 안드로이드 앱 플레이어  | `DE-30000`                              |
| **Malicious bot**          | 자동화 스크립트, 브라우저 자동화 도구           | `DE-30000`                              |
| **Browser tampering**      | API 시그니처가 조작·위조된 브라우저           | `DE-30000`                              |
| **Device Duplicate Check** | 허용 횟수를 초과한 동일 Visitor ID의 신규 요청 | `DE-40000` (정책이 "Fail if duplicate"일 때) |

<Note>
  검증 기준은 지속적으로 업데이트되며, 구체적인 탐지 로직은 보안상 공개되지 않습니다.
</Note>

***

## 검증 지점

<span style={{backgroundColor: '#EEF4FF', color: '#0064FF', padding: '2px 8px', borderRadius: '12px', fontSize: '12px', fontWeight: '600'}}>2026-07 신규</span>

검증은 아래 **세 시점(Step)** 에서 수행되며, 각 시점에서 수행되는 검증 항목이 다릅니다.

| 검증 지점 (Step) | 발생 시점   | Device      | Sensor | Fingerprint  |
| ------------ | ------- | ----------- | ------ | ------------ |
| `entry`      | 라이브폼 진입 | ✅           | —      | ✅ (중복 검사 포함) |
| `idCapture`  | 신분증 촬영  | ✅ + 지점 간 비교 | ✅      | ✅ + 지점 간 비교  |
| `selfie`     | 셀피 촬영   | ✅ + 지점 간 비교 | ✅      | ✅ + 지점 간 비교  |

### 지점 간 비교 (Step Consistency)

촬영 시점의 값을 **항상 진입 시점(`entry`)의 값과 비교**합니다. 진입 시 검증을 통과한 뒤 다른 기기·환경으로 바꿔치기하는 시도를 탐지하기 위한 검증입니다.

| 유형              | 비교 대상                                                            |
| --------------- | ---------------------------------------------------------------- |
| **Device**      | 진입 시 수집된 브라우저·GPU·터치 정보가 **일치**하는지                               |
| **Fingerprint** | 진입 시의 Visitor ID와 **동일한 기기**인지 + 진입 시 탐지되지 않았던 항목이 **새로 탐지**되었는지 |
| **Sensor**      | 지점 간 비교를 수행하지 않습니다.                                              |

<Warning>
  각 촬영 시점의 값은 **최초 진입 시점의 값**과 비교됩니다.
</Warning>

<Note>
  **Device 중복 검사는 진입 시에만 수행됩니다.** Fingerprint의 검증 시점에서 신분증·셀피 촬영을 켜더라도, 촬영 단계에서는 중복 검사를 실행하거나 기록하지 않습니다. 사용자 본인의 앞선 단계가 중복으로 잡혀 거절되는 것을 방지하기 위함입니다.
</Note>

***

## 검증 결과 목록

Device Verification이 활성화된 경우, 각 검증 결과를 목록에서 확인할 수 있습니다. **Device**, **Sensor**, **Fingerprint** 세 유형이 하나의 목록에 함께 표시되며, 상단의 `Table Columns`로 표시 컬럼을 선택할 수 있습니다.

<Frame caption="Device Verification 검증 결과 목록">
  <img src="https://mintcdn.com/argosidentity/akM0S6e-h1QxX7wU/images/dashboard/new/preverification/device/list_en.png?fit=max&auto=format&n=akM0S6e-h1QxX7wU&q=85&s=7408db654c6dc876697e30160f9b8832" alt="Device Verification 검증 결과 목록 화면" width="1816" height="925" data-path="images/dashboard/new/preverification/device/list_en.png" />
</Frame>

| 항목                      | 설명                                                                                              |
| ----------------------- | ----------------------------------------------------------------------------------------------- |
| Submission Time (UTC+9) | 검증이 발생한 시간                                                                                      |
| Validation ID           | 검증 건별 고유 식별자                                                                                    |
| Type                    | 검증 유형 (`Device` / `Sensor` / `Fingerprint`)                                                     |
| Visitor ID              | Fingerprint 기반 디바이스 고유 식별자. `Fingerprint` 유형 행에만 값이 노출되며, `Device` · `Sensor` 행에서는 `-` 로 표시됩니다. |
| Status                  | 해당 검증 건의 결과 (Pass / Fail)                                                                       |

<Info>
  **한 사용자에게 Validation ID가 여러 개 생성됩니다** <span style={{backgroundColor: '#EEF4FF', color: '#0064FF', padding: '2px 8px', borderRadius: '12px', fontSize: '12px', fontWeight: '600', marginLeft: '6px'}}>2026-07 변경</span>

  Validation ID는 **검증 지점 × 검증 항목마다 1개씩** 발급됩니다. 따라서 모든 옵션을 활성화한 경우 한 사용자의 KYC 1회 진행에 대해 **최대 8개**의 Validation ID가 생성됩니다.

  `entry` 2개(Device, Fingerprint) + `idCapture` 3개(Device, Sensor, Fingerprint) + `selfie` 3개(Device, Sensor, Fingerprint) = **8개**

  목록에서 동일한 `Submission Time` 근처에 여러 행이 보이는 것은 정상입니다. 각 행이 어느 시점의 검증인지는 상세보기의 `Step` 필드에서 확인할 수 있습니다.
</Info>

***

## 검증 상세보기

목록에서 각 행을 클릭하면 해당 검증 건의 상세 정보 모달(`Verification detail`)이 표시됩니다. 표시되는 항목은 **검증 유형에 따라 다릅니다**.

### 공통 — Basic Information

모든 유형에 공통으로 표시되는 기본 정보입니다.

| 필드                                                                                                                                                                                        | 설명                                            |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- |
| Submission Time (UTC+9)                                                                                                                                                                   | 검증이 발생한 시간                                    |
| Type                                                                                                                                                                                      | 검증 유형 (`Device` / `Sensor` / `Fingerprint`)   |
| Email                                                                                                                                                                                     | 제출자 이메일                                       |
| **Step** <span style={{backgroundColor: '#EEF4FF', color: '#0064FF', padding: '2px 8px', borderRadius: '12px', fontSize: '12px', fontWeight: '600', marginLeft: '6px'}}>2026-07 신규</span> | 검증이 수행된 시점 (`entry` / `idCapture` / `selfie`) |
| Validation ID                                                                                                                                                                             | 검증 건별 고유 식별자                                  |
| Submission ID                                                                                                                                                                             | 연결된 제출건 ID (있는 경우)                            |
| Visitor ID                                                                                                                                                                                | 디바이스 고유 식별자 (`Fingerprint` 유형만)               |

### Device 상세

<Frame caption="Verification detail — Device">
  <img src="https://mintcdn.com/argosidentity/akM0S6e-h1QxX7wU/images/dashboard/new/preverification/device/detail_device_en.png?fit=max&auto=format&n=akM0S6e-h1QxX7wU&q=85&s=14acd38f41b4692e23de01a22e918430" alt="Device 유형 검증 상세보기 모달" width="674" height="834" data-path="images/dashboard/new/preverification/device/detail_device_en.png" />
</Frame>

**Device Verification Status** — 각 검증 항목별 통과(Pass) 또는 실패(Fail) 여부입니다.

| 필드                 | 설명                            |
| ------------------ | ----------------------------- |
| UA Verification    | 해당 디바이스의 User-Agent 문자열 검증 결과 |
| WebGL Verification | 해당 디바이스의 WebGL 렌더러 검증 결과      |
| Touch Verification | 해당 디바이스의 터치 포인트 검증 결과         |

**Device Detection Info** — 검증 시 실제로 감지된 원본 값입니다.

| 필드             | 설명                 |
| -------------- | ------------------ |
| Detected UA    | 감지된 User-Agent 문자열 |
| Detected WebGL | 감지된 WebGL 렌더러      |
| Detected TP    | 감지된 터치 포인트 수       |

**Step Consistency — vs Entry** <span style={{backgroundColor: '#EEF4FF', color: '#0064FF', padding: '2px 8px', borderRadius: '12px', fontSize: '12px', fontWeight: '600', marginLeft: '6px'}}>2026-07 신규</span>

<Frame caption="Step Consistency — Device">
  <img src="https://mintcdn.com/argosidentity/akM0S6e-h1QxX7wU/images/dashboard/new/preverification/device/consistency_device_en.png?fit=max&auto=format&n=akM0S6e-h1QxX7wU&q=85&s=e1115f00b1653f8fb7c3ff7c0033269c" alt="Device 유형의 지점 간 비교 결과" width="674" height="252" data-path="images/dashboard/new/preverification/device/consistency_device_en.png" />
</Frame>

진입 시점과의 비교 결과입니다. **`Step`이 `idCapture` 또는 `selfie`인 건에만 표시**되며, 기준선인 `entry` 건에는 표시되지 않습니다.

| 필드                     | 설명                                        |
| ---------------------- | ----------------------------------------- |
| Baseline Step          | 비교 기준이 된 시점. 항상 `entry` 입니다.              |
| Baseline Validation ID | 비교 대상이 된 진입 시점 검증 건의 Validation ID        |
| Device Static Match    | 브라우저·GPU·터치 정보가 진입 시점과 일치하는지 여부           |
| Mismatched Fields      | 진입 시점과 값이 달랐던 항목. 모두 일치하면 `-` 로 표시됩니다.    |
| Result                 | 지점 간 비교의 종합 결과                            |
| Internal Code          | 불일치 시 사용자에게 표시되는 에러 코드. 일치하면 `-` 로 표시됩니다. |

### Sensor 상세 <span style={{backgroundColor: '#EEF4FF', color: '#0064FF', padding: '2px 8px', borderRadius: '12px', fontSize: '12px', fontWeight: '600', marginLeft: '6px'}}>2026-07 신규</span>

<Frame caption="Verification detail — Sensor">
  <img src="https://mintcdn.com/argosidentity/akM0S6e-h1QxX7wU/images/dashboard/new/preverification/device/detail_sensor_en.png?fit=max&auto=format&n=akM0S6e-h1QxX7wU&q=85&s=e285b8a9f5be55ce09ca9a8ce4c84592" alt="Sensor 유형 검증 상세보기 모달" width="674" height="660" data-path="images/dashboard/new/preverification/device/detail_sensor_en.png" />
</Frame>

**Sensor Verification Status**

| 필드                     | 설명                                                 |
| ---------------------- | -------------------------------------------------- |
| Injection Verification | 센서 신호 기반 위조 주입 검증 결과 (Pass / Fail)                 |
| Injection Score        | 위조 주입 의심도를 나타내는 산출 값                               |
| Motion                 | 촬영 순간 감지된 움직임의 분류                                  |
| Degraded Reason        | 센서 신호를 정상적으로 수집하지 못한 경우 그 사유. 정상 수집 시 `-` 로 표시됩니다. |

**Sensor Detection Info**

| 필드           | 설명                         |
| ------------ | -------------------------- |
| Sample Count | 판정에 사용된 센서 표본 수            |
| Env          | 촬영이 이루어진 브라우저·OS 환경        |
| Webview      | 웹뷰(인앱 브라우저) 환경에서 촬영되었는지 여부 |

<Note>
  Sensor 유형에는 **Step Consistency 항목이 없습니다.** 센서 신호는 촬영 순간의 물리적 환경을 나타내는 값이므로 시점 간 비교 대상이 아닙니다.
</Note>

<Warning>
  **웹뷰(인앱 브라우저) 환경에서는 센서 신호가 수집되지 않을 수 있습니다.** 카카오톡·인스타그램 등 앱 내장 브라우저에서 라이브폼을 열면 정상 사용자도 센서 검증에 실패할 수 있습니다. `Env`와 `Webview` 필드로 해당 여부를 확인할 수 있으며, 사용자에게 **외부 브라우저로 열도록 안내**하는 것을 권장합니다. 자세한 내용은 [웹뷰 연동 가이드](/ko/idcheck/getting-started/liveform-webview-guide)를 참고하세요.

  네이티브 앱에서 라이브폼을 WebView로 임베드해 호스팅하는 경우에는 **앱에서 기기 모션·센서 권한을 반드시 허용**해야 합니다. 권한이 없으면 센서 신호가 전달되지 않아 정상 사용자도 실패합니다.
</Warning>

### Fingerprint 상세

<Frame caption="Verification detail — Fingerprint">
  <img src="https://mintcdn.com/argosidentity/akM0S6e-h1QxX7wU/images/dashboard/new/preverification/device/detail_fingerprint_en.png?fit=max&auto=format&n=akM0S6e-h1QxX7wU&q=85&s=68c63420d50b664594342b52ca2bafcd" alt="Fingerprint 유형 검증 상세보기 모달" width="674" height="829" data-path="images/dashboard/new/preverification/device/detail_fingerprint_en.png" />
</Frame>

**Fingerprint option** — 각 탐지 항목별 검증 결과입니다.

| 필드                     | 설명            |
| ---------------------- | ------------- |
| VM Verification        | 가상 머신 탐지 결과   |
| Emulator Verification  | 에뮬레이터 탐지 결과   |
| Bot Verification       | 악성 봇 탐지 결과    |
| Tampering Verification | 브라우저 변조 탐지 결과 |

**Raw Values** — 탐지 엔진이 반환한 원본 값입니다. (`virtualMachine`, `emulator`, `bot.result`, `tampering`, `anomalyScore`, `antiDetectBrowser`)

**Step Consistency — vs Entry** <span style={{backgroundColor: '#EEF4FF', color: '#0064FF', padding: '2px 8px', borderRadius: '12px', fontSize: '12px', fontWeight: '600', marginLeft: '6px'}}>2026-07 신규</span>

<Frame caption="Step Consistency — Fingerprint">
  <img src="https://mintcdn.com/argosidentity/akM0S6e-h1QxX7wU/images/dashboard/new/preverification/device/consistency_fingerprint_en.png?fit=max&auto=format&n=akM0S6e-h1QxX7wU&q=85&s=1ba39f96981eecf6bd55d4db57ac9bc8" alt="Fingerprint 유형의 지점 간 비교 결과" width="674" height="252" data-path="images/dashboard/new/preverification/device/consistency_fingerprint_en.png" />
</Frame>

| 필드                     | 설명                                                  |
| ---------------------- | --------------------------------------------------- |
| Baseline Step          | 비교 기준이 된 시점. 항상 `entry` 입니다.                        |
| Baseline Validation ID | 비교 대상이 된 진입 시점 검증 건의 Validation ID                  |
| Visitor ID Match       | 진입 시점과 동일한 기기인지 여부                                  |
| Newly Detected         | 진입 시점에는 탐지되지 않았으나 이 시점에 새로 탐지된 항목. 없으면 `-` 로 표시됩니다. |
| Result                 | 지점 간 비교의 종합 결과                                      |
| Internal Code          | 불일치·신규 탐지 시 사용자에게 표시되는 에러 코드. 이상이 없으면 `-` 로 표시됩니다.  |

### Internal Code

지점 간 비교에서 이상이 감지되면 `Internal Code` 필드에 사유별 에러 코드가 기록됩니다. 이 코드는 촬영 단계에서 차단이 발생했을 때 **사용자에게 표시되는 에러 코드**이며, 대시보드에서는 `Internal Code` 필드로 어떤 사유였는지 확인할 수 있습니다.

| 감지 사유                                        | 신분증 촬영 (`idCapture`) | 셀피 촬영 (`selfie`) |
| -------------------------------------------- | -------------------- | ---------------- |
| Device — 브라우저·GPU·터치 정보가 진입 시점과 불일치          | `DE-51010`           | `DE-52010`       |
| Fingerprint — Visitor ID가 진입 시점과 불일치 (다른 기기) | `DE-51020`           | `DE-52020`       |
| Fingerprint — 진입 시 미탐지 항목이 신규 탐지             | `DE-51030`           | `DE-52030`       |

<Note>
  Sensor 검증 실패에는 별도의 코드가 부여되지 않습니다.
</Note>

***

## 제출건 상세보기에서의 확인

사용자 제출건의 상세보기에서 **사전 검증 목록** 드롭다운을 통해 해당 제출건의 Device Verification 결과에 바로 접근할 수 있습니다.

<Frame caption="제출건 상세보기 - 사전 검증 목록 드롭다운">
  <img src="https://mintcdn.com/argosidentity/A10LEPHHyNLnXr1m/images/dashboard/new/submission_list/preverification/dropdown_ko.png?fit=max&auto=format&n=A10LEPHHyNLnXr1m&q=85&s=800fed1c61b5882a24e6311ce7434dab" alt="제출건 상세보기에서 사전 검증 목록 드롭다운" width="1024" height="196" data-path="images/dashboard/new/submission_list/preverification/dropdown_ko.png" />
</Frame>

드롭다운을 클릭하면 해당 제출건과 연결된 사전 검증 카테고리(Device Verification, VPN & Proxy)와 Validation ID가 표시되며, 클릭하면 해당 상세 페이지로 이동합니다.

<Note>
  2026-07 업데이트 이후 검증 지점이 늘어나면서, 하나의 제출건에 연결되는 Validation ID도 **최대 8개**로 늘어납니다.
</Note>

***

## 차단 시 사용자 오류 페이지

라이브폼 **진입 시점**의 Device Verification에서 FAIL이 발생하면 사용자에게 실패한 검증 유형에 따라 다른 오류 페이지가 표시됩니다. 모든 오류 페이지에는 **에러 코드와 정의**가 함께 노출되어, 고객사가 원인을 빠르게 진단할 수 있습니다.

| 에러 코드      | 발생 조건                                                                            |
| ---------- | -------------------------------------------------------------------------------- |
| `DE-20000` | Device Verification(Static check) — Browser / Graphics / Screen check 중 하나 이상 실패 |
| `DE-30000` | Fingerprint option — 가상 머신 / 에뮬레이터 / 악성 봇 / 브라우저 변조 중 하나 이상 탐지                   |
| `DE-40000` | Device Duplicate Check — 허용 횟수를 초과한 중복 기기 감지 + 정책이 `Fail if duplicate`           |

<Frame caption="Device Verification 오류 페이지">
  <img src="https://mintcdn.com/argosidentity/A10LEPHHyNLnXr1m/images/dashboard/new/preverification/device/error_page_ko.png?fit=max&auto=format&n=A10LEPHHyNLnXr1m&q=85&s=ccab31783e3a654e93b0811324291300" alt="Device Verification 차단 시 오류 페이지" width="405" height="884" data-path="images/dashboard/new/preverification/device/error_page_ko.png" />
</Frame>

**인증을 진행할 수 없습니다**

아래 항목을 확인한 뒤 다시 시도해 주세요.

* 모바일 기기에서 접속
* 브라우저 최신 버전 사용
* 시크릿 모드/확장 프로그램(광고차단 등) 비활성화 후 재시도

<Tip>
  전체 에러 코드 상세는 [에러 코드와 에러 페이지 — DE 카테고리](/ko/idcheck/reference_tables/Error-codes-and-pages#-de--device-error)를 참고하세요.
</Tip>

***

## 검증 프로세스 흐름

<Steps>
  <Step title="라이브폼 진입 (entry)">
    사용자가 KYC 라이브폼에 진입합니다. Device 검증(Static check)과 Fingerprint 검증이 **모든 사전 검증 중 최초로** 수행되며, 이 시점의 값이 이후 촬영 단계 비교의 **기준선**이 됩니다.

    <Warning>
      Static check가 1개라도 FAIL이면 `DE-20000`, Fingerprint 항목이 탐지되면 `DE-30000`, 중복 기기가 정책에 걸리면 `DE-40000` 오류 페이지로 리다이렉트됩니다.
    </Warning>
  </Step>

  <Step title="Turnstile · Proxy & VPN 검증">
    Device Info 검증을 통과하면 Turnstile 검증과 Proxy & VPN 감지가 순차적으로 진행됩니다.
  </Step>

  <Step title="신분증 촬영 (idCapture)">
    신분증을 촬영하는 시점에 설정된 항목이 다시 검증됩니다.

    * **Device** — 값을 다시 수집하여 진입 시점과 비교
    * **Sensor** — 촬영 순간의 센서 신호를 검증
    * **Fingerprint** — Visitor ID가 진입 시점과 동일한지 비교 (중복 검사는 수행하지 않음)
  </Step>

  <Step title="셀피 촬영 (selfie)">
    셀피를 촬영하는 시점에도 동일한 검증이 수행되며, 마찬가지로 **진입 시점의 값과** 비교합니다.

    <Note>
      셀피 관련 유료 엔진(라이브니스, 얼굴 비교 등)이 실행되기 **전에** 검증됩니다.
    </Note>
  </Step>

  <Step title="KYC 프로세스 완료">
    모든 검증 지점을 통과하면 정상적으로 KYC 인증이 진행됩니다.

    <Check>
      각 검증 지점의 결과는 지점별로 개별 Validation ID가 부여되어 기록되며, 대시보드에서 시점별로 조회할 수 있습니다.
    </Check>
  </Step>
</Steps>

<Note>
  Knowledge-based 등 신분증 촬영이 없는 흐름에서는 해당 촬영 지점의 검증이 수행되지 않습니다. 이 경우에도 셀피 촬영 시점의 비교 기준은 **진입 시점**입니다.
</Note>

***

## 관련 문서

<CardGroup cols={2}>
  <Card title="VPN & Proxy" icon="globe" href="/dashboard/ko/preverification/vpn-proxy">
    VPN & Proxy 감지 결과를 확인합니다.
  </Card>

  <Card title="인증강화 및 위조방지" icon="shield-halved" href="/dashboard/ko/project-management/policy-and-authentication/anti-fraud-and-forgery-prevention">
    Device Verification 옵션 설정 방법을 확인합니다.
  </Card>

  <Card title="사용자 제출건" icon="users" href="/dashboard/ko/submission-management">
    제출 목록 관리 및 상세 정보를 확인합니다.
  </Card>

  <Card title="오류 코드 및 페이지" icon="triangle-exclamation" href="/ko/idcheck/reference_tables/Error-codes-and-pages">
    전체 오류 코드 목록을 확인합니다.
  </Card>
</CardGroup>
