> ## 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.

# 전자 서명 경고 및 위험 코드

> Didit 전자 서명의 모든 경고(SIGNATURE_DECLINED부터 SIGNATURE_DOCUMENT_CHANGED까지)와 각 경고의 트리거 및 제어 규칙을 살펴봅니다.

[전자 서명](https://docs.didit.me/ko/core-technology/electronic-signature/overview.md) 단계는 서명자가 서명할 수 없거나 서명을 거부할 때 경고를 발생시킵니다. 즉, 서명을 거부하거나, 코드 입력 가능 횟수를 초과하거나, 인증된 신원과 일치하지 않거나, 문서가 서명자에게 표시되었던 내용과 더 이상 일치하지 않는 경우입니다. 모든 경고는 해당 서명자의 서명을 중단시키므로, 이에 대해 서명된 문서가 발급되지 않습니다. 경고가 결정에 미치는 영향은 설정에 따라 달라집니다.

## 개요

경고는 두 곳에 표시됩니다.

* `signatures[]`의 서명자 항목 내 `warnings[]`에 `{ "code": "SIGNATURE_DECLINED", "node_id": "feature_signature" }` 형태로 표시됩니다. [전자 서명 보고서](https://docs.didit.me/ko/core-technology/electronic-signature/report-electronic-signature.md)를 참조하세요.
* `SIGNATURE` 기능으로 태그가 지정된 세션 활동 내에 제목 및 설명과 함께 표시됩니다. 콘솔의 세션 **서명** 탭에 표시되며, `additional_data.signature_id`가 해당 서명자를 가리킵니다.

각 코드는 규칙에 매핑됩니다. 콘솔의 **규칙** 탭이나 단계의 [구성](https://docs.didit.me/ko/management-api/workflows/feature-configs.md#전자-서명)에서 워크플로 단계별로 규칙을 `DECLINE`, `REVIEW` 또는 `NO_ACTION`으로 설정할 수 있습니다. 이 규칙은 서명자의 `verdict`(`Declined`, `In Review` 또는 `Approved`)와 경고의 심각도(`error`, `warning` 또는 `information`)를 결정합니다. 단계의 커스텀 상태 규칙은 이 이후에 적용됩니다.

> [!WARNING]
>
> 규칙은 결정(verdict)을 결정할 뿐, 문서 서명 완료 여부를 결정하지는 않습니다. `NO_ACTION`을 사용하면 워크플로가 계속 진행되지만, 서명자는 여전히 서명하지 않은 상태입니다. 서명을 신뢰하여 처리하기 전에 `status`가 `signed`인지 확인하세요.

## 생성되는 경고

| 코드 | 발생 시점 | 규칙 및 기본값 |
| - | - | - |
| `SIGNATURE_DECLINED` | 서명자가 서명을 거부했습니다. 서명된 사본은 발급되지 않으며 요금도 청구되지 않습니다. | `signature_declined_action`, 기본값 `REVIEW` |
| `SIGNATURE_OTP_FAILED` | 서명자가 잘못된 코드를 3회 입력했거나, 코드를 5회 초과하여 요청했습니다. | `signature_otp_failed_action`, 기본값 `DECLINE` |
| `SIGNATURE_NAME_MISMATCH` | KYB: 주요 인물에 대해 신고된 이름이 대소문자 및 공백을 제외하고 인증된 이름과 일치하지 않습니다. | `signature_name_mismatch_action`, 기본값 `DECLINE` |
| `SIGNATURE_IDENTITY_NOT_VERIFIED` | 서명자에게 이름이 포함된 승인된 신분증 인증이 없거나, 세션 내 라이브니스 감지가 승인되지 않았거나, 서명자가 시작한 후 신분증 인증이 변경되었습니다. | `signature_identity_not_verified_action`, 기본값 `DECLINE` |
| `SIGNATURE_DOCUMENT_CHANGED` | 문서가 서명자에게 표시되었을 때 기록된 SHA-256과 더 이상 일치하지 않습니다. | `signature_document_changed_action`, 기본값 `DECLINE` |

신원 및 이름 확인은 서명자가 코드를 요청할 때와 코드를 입력할 때 다시 실행되므로, 단계가 열릴 때가 아니라 해당 시점에 이 경고들이 나타납니다.

## 거부 건 다시 열기

`SIGNATURE_DECLINED`는 서명자가 취소할 수 있는 유일한 경고입니다. 서명 링크가 유효한 동안에는 서명을 거부한 서명자도 단계를 다시 열고 서명할 수 있습니다. 다시 열면 서명자의 경고와 각 문서에 대한 열람 및 동의 내역이 지워지므로 문서를 다시 확인해야 합니다. 해당 단계의 어떤 서명자도 더 이상 거부 상태가 아니게 되면 세션 활동에서 경고가 제거됩니다. 다시 열더라도 코드 입력 시도 횟수는 초기화되지 않습니다. 다른 경고는 해당 서명자에게 최종적인 상태로 확정됩니다.

## 서명자에게 표시되는 문제

이 문제들은 경고를 발생시키지 않고 서명자의 진행을 중단시킵니다. 플로우에서 어떤 문제가 발생했는지 서명자에게 안내합니다.

| 상황 | 처리 내용 |
| - | - |
| 서명 링크가 만료됨 | `expires_at` 이후에는 단계를 열거나 완료할 수 없습니다. 링크는 세션 생성 시점부터 `signature_link_validity_days` 동안 유효합니다. |
| 코드가 만료됨 | 코드는 5분 동안 유효합니다. 서명자가 새 코드를 요청해야 합니다. |
| 새 코드를 너무 빨리 요청함 | 서명자는 코드 요청 사이에 60초를 기다려야 합니다. |
| 인증된 연락처가 없음 | 코드는 세션 중 앞서 인증된 이메일 또는 전화번호로만 전송됩니다. 서명 단계 전에 이메일 인증 또는 전화번호 인증을 추가하세요. |
| 필수 필드가 비어 있음 | 문서의 모든 필수 필드에 값이 입력될 때까지 서명자는 문서를 완료할 수 없습니다. 플로우에 남은 개수가 표시되며 첫 번째 미입력 필드로 이동합니다. |
| 필드 값이 거부됨 | 필드의 [유효성 검사](https://docs.didit.me/ko/core-technology/electronic-signature/overview.md#유효성-검사)를 위반하는 값(예: 너무 길거나 숫자가 아닌 경우)은 거부되며 플로우에서 그 이유를 안내합니다. |
| 앱 버전이 오래되어 필드를 지원하지 않음 | 필드를 지원하지 않는 네이티브 SDK 릴리스는 필드가 포함된 문서를 표시할 수 없으며, 단계에 오류가 표시됩니다. 필드가 없는 문서는 정상적으로 작동합니다. [서명 과정](https://docs.didit.me/ko/core-technology/electronic-signature/overview.md#서명-환경)을 참조하세요. |

## 예시

```json theme={null}
{
  "signatures": [
    {
      "id": "0e6c2a8e-6c2f-4b8e-9a51-3f2f6a7d9b10",
      "node_id": "feature_signature",
      "status": "declined",
      "verdict": "In Review",
      "warnings": [
        { "code": "SIGNATURE_DECLINED", "node_id": "feature_signature" }
      ],
      "declined_at": "2026-11-03T10:41:40.320Z",
      "declined_action": "REVIEW",
      "signed_at": null,
      "certificate": null,
      "timestamp": null,
      "evidence_file": null
    }
  ]
}
```

이 예시에는 변경되는 필드만 표시되어 있습니다. [서명 객체](https://docs.didit.me/ko/core-technology/electronic-signature/report-electronic-signature.md#서명-객체)의 다른 모든 필드는 그대로 유지됩니다.

## 경고 유형

각 경고의 심각도는 설정한 규칙을 따릅니다. 심각도는 세 가지 범주로 나뉩니다.

## 관련 문서

* [전자 서명 개요](https://docs.didit.me/ko/core-technology/electronic-signature/overview.md)
* [전자 서명 보고서](https://docs.didit.me/ko/core-technology/electronic-signature/report-electronic-signature.md)
* [워크플로 기능 설정](https://docs.didit.me/ko/management-api/workflows/feature-configs.md#전자-서명)


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