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

# Document AI 규칙 및 경고

> Didit의 Document AI 기본 규칙 및 커스텀 상태 규칙: 판독 불가 문서, 필수 필드 누락, 위변조, 이름 불일치 및 필드 교차 참조 등을 검사합니다.

## 개요

Document AI는 두 가지 규칙 레이어를 통해 업로드된 각 문서의 상태를 생성하며, 각 문서별 상태는 **Declined > In Review > Approved** 우선순위에 따라 기능 상태로 결합됩니다.

1. **기본 규칙** — 내장 검사 항목으로, 각각 설정 가능한 작업인 `DECLINE`, `REVIEW`, `NO_ACTION`에 매핑됩니다.
2. **사용자 정의 상태 규칙** — 다른 단계와의 상호 참조를 포함하여, 추출된 모든 필드에 적용할 수 있는 사용자 지정 조건입니다.

## 기본 규칙

아래 각 규칙은 데이터 추출과 포렌식 분석 과정에서 자동으로 감지됩니다. 각 규칙에 대한 동작은 Document AI 기능의 **규칙** 탭에서 설정합니다.

| 규칙 | 설정 필드 | 발동 조건 |
| - | - | - |
| **서류를 읽을 수 없음** | `document_ai_unreadable_document_action` | 문서를 읽을 수 없거나, 데이터를 추출할 수 없거나, 파일을 전체 검사할 수 없는 경우 |
| **필수 항목 누락** | `document_ai_missing_required_fields_action` | **필수**로 표시된 항목을 추출할 수 없는 경우 |
| **문서 위변조** | `document_ai_document_tampering_action` | 포렌식 분석에서 조작의 징후가 감지된 경우 |
| **이름 불일치** | `document_ai_name_mismatch_action` | 문서상의 이름이 검증된 대상과 일치하지 않는 경우입니다. 대상은 개인(KYC) 워크플로에서는 소지자의 신원이고, 기업(KYB) 워크플로에서는 기업입니다(`document_ai_name_match_score_threshold` 미만인 경우) |
| **지원되지 않는 파일** | `document_ai_unsupported_file_action` | 업로드된 파일 형식이 지원되지 않는 경우 |
| **시도 횟수 초과** | `document_ai_max_attempts_exceeded_action` | 사용자가 `document_ai_max_retry_attempts`를 초과한 경우 |

**이름 불일치** 검사는 문서에 표시된 이름 필드를 검증된 대상과 비교하여 0–100 점수를 산출합니다. 개인(KYC) 워크플로에서는 검증된 신분증(및 세션 생성 시 제공된 예상 정보)과 비교하고, 기업(KYB) 워크플로에서는 검증된 기업(법인 등기부와 대조된 기업 또는 제공된 예상 기업명)과 비교합니다. 기준값은 `document_ai_name_match_score_threshold`로 설정합니다.

## 사용자 정의 상태 규칙

사용자 정의 상태 규칙을 사용하면 추출된 필드에 대한 조건이 충족될 때 상태(`Approved`, `In Review`, `Declined` 또는 `No Action`)를 설정할 수 있습니다. 각 규칙의 구조는 다음과 같습니다.

```json theme={null}
{
  "field": "document_ai.balance",
  "operator": "greater_than",
  "value": 50000,
  "status": "In Review"
}
```

**다른 단계를 상호 참조**하려면 `value_type: "field"`로 설정하고 `value`가 다른 필드 경로를 가리키도록 지정합니다.

```json theme={null}
{
  "field": "document_ai.account_holder",
  "operator": "fuzzy_match",
  "value": "kyc.full_name",
  "value_type": "field",
  "score": 80,
  "status": "Declined"
}
```

일치하는 모든 규칙이 상태 결정에 기여하며, 해당 상태들과 기본 상태 중 가장 엄격한 상태가 최종 적용됩니다(Declined > In Review > Approved). 따라서 규칙을 통해 심각도를 높일 수는 있지만, 위험에 의해 결정된 `Declined`/`In Review` 상태를 다시 완화할 수는 없습니다. `No Action` 규칙은 기록되지만 상태는 변경되지 않습니다.

> [!NOTE]
>
> 추출된 필드는 각 필드에 설정한 `key`를 사용하여 `document_ai.<field_key>` 형식으로 참조할 수 있습니다. 숫자 및 날짜 필드는 비교 연산자(`greater_than`, `less_than`, 날짜 범위)를 지원하며, 텍스트 필드는 일치 여부, `contains`, `fuzzy_match`를 지원합니다.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.