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

# 개인 정보 보호 관리

> DARO Android SDK에서 GDPR, CCPA, COPPA 개인정보 보호 정책을 설정하는 방법을 안내합니다.

## 개요

DARO SDK는 퍼블리셔가 앱에서 수집한 개인정보 보호 동의 상태를 각 광고 디맨드에 전달하는 API를 제공합니다. 동의 수집 및 UI는 퍼블리셔가 직접 구현해야 하며, DARO SDK는 그 결과값을 광고 디맨드에 전달하는 역할만 합니다.

<Info>
  daro-a `1.6.0` / daro-m `1.3.14` 버전부터 사용할 수 있습니다.
</Info>

<Note>
  개인정보 보호 설정은 광고 요청에 반영되도록 **광고를 로드하기 전에** 적용하세요.
</Note>

***

## GDPR

GDPR (General Data Protection Regulation)은 유럽 경제 지역(EEA)과 영국의 사용자에게 적용되는 동의 방식의 개인정보 보호 규제입니다. 사용자가 명시적으로 동의한 이후에만 개인 정보를 처리할 수 있습니다.

### DARO SDK 처리

퍼블리셔가 UMP 등 동의 수집 도구로 사용자의 동의 여부를 확인한 후, 그 결과를 아래 API로 DARO SDK에 전달하세요. DARO SDK는 전달받은 상태를 각 광고 디맨드에 전파합니다.

```kotlin theme={null}
Daro.setGdpr(context, GdprStatus.OPT_IN, consentString)
```

### 설정값

| `GdprStatus`     | 의미                                                      |
| ---------------- | ------------------------------------------------------- |
| `OPT_IN`         | 사용자가 개인 정보 처리와 맞춤형 광고에 **동의**했습니다.                      |
| `OPT_OUT`        | 사용자가 동의를 **거부**했습니다. 광고는 비개인화로 제공됩니다.                   |
| `NOT_APPLICABLE` | 사용자가 **GDPR 적용 대상이 아닙니다** (예: EEA 외 지역). 개인화 광고가 허용됩니다. |
| `UNKNOWN`        | 동의 팝업을 **아직 표시하지 않은 초기 상태**입니다. 동의 여부 확인 전까지 임시로 사용하세요. |

### 주의사항

`UNKNOWN` 상태는 임시로만 사용하세요. GDPR 적용 대상 사용자에게 동의 팝업을 표시하지 않은 채 `UNKNOWN`을 유지하면 규제 위반이 될 수 있습니다. 동의 여부가 확인되는 즉시 `OPT_IN` 또는 `OPT_OUT`으로 업데이트하세요.

### consentString

선택 인자입니다 (기본값 `""`). UMP 등 동의 관리 도구(CMP)가 생성한 GDPR 동의 문자열을 전달하세요. 사용하지 않는 경우 빈 값(`""`)으로 두어도 무방합니다. CCPA의 `consentString`과는 별개의 값입니다.

### 코드 예시

```kotlin theme={null}
// 사용자가 동의한 경우
Daro.setGdpr(context, GdprStatus.OPT_IN, consentString)

// 사용자가 거부한 경우
Daro.setGdpr(context, GdprStatus.OPT_OUT)

// GDPR 적용 대상이 아닌 경우
Daro.setGdpr(context, GdprStatus.NOT_APPLICABLE)

// 동의 팝업을 아직 표시하지 않은 초기 상태
Daro.setGdpr(context, GdprStatus.UNKNOWN)
```

***

## CCPA

CCPA (California Consumer Privacy Act)를 비롯한 미국 주 개인정보 보호법은 사용자에게 개인 정보 판매를 거부할 권리를 부여합니다. 사용자가 명시적으로 거부하지 않는 한 기본적으로 허용됩니다.

### DARO SDK 처리

퍼블리셔가 사용자의 거부 여부를 확인한 후, 그 결과를 아래 API로 DARO SDK에 전달하세요. DARO SDK는 전달받은 상태를 각 광고 디맨드에 전파합니다.

```kotlin theme={null}
Daro.setCcpa(context, CcpaStatus.OPT_OUT, consentString)
```

### 설정값

| `CcpaStatus`     | 의미                                        |
| ---------------- | ----------------------------------------- |
| `OPT_IN`         | 사용자가 **거부하지 않았습니다.** 개인 정보의 판매/공유가 허용됩니다. |
| `OPT_OUT`        | 사용자가 개인 정보 판매를 **거부**했습니다.                |
| `NOT_APPLICABLE` | 사용자가 **CCPA 적용 대상이 아닙니다**.                |

### 기본 동작

`setCcpa`를 호출하지 않으면 `OPT_IN`으로 처리되어 개인화 광고가 허용됩니다. CCPA 적용 대상 사용자가 있는 앱이라면 반드시 명시적으로 설정하세요.

### consentString

선택 인자입니다 (기본값 `""`). UMP를 사용한다면 UMP가 생성한 US Privacy String을 전달하세요. UMP를 사용하지 않는 경우 빈 값(`""`)으로 두어도 무방합니다. GDPR의 `consentString`과는 별개의 값입니다.

### 주의사항

CCPA의 `OPT_IN` / `OPT_OUT`은 GDPR과 의미가 다릅니다. CCPA에서 `OPT_IN`은 "사용자가 거부하지 않았다"는 의미이고, `OPT_OUT`은 "사용자가 개인 정보 판매를 거부했다"는 의미입니다. CCPA는 opt-out 방식이라 `UNKNOWN`에 해당하는 값이 없습니다. 사용자가 아직 응답하지 않은 경우 `OPT_IN`으로 처리하면 됩니다.

### 코드 예시

```kotlin theme={null}
// 사용자가 거부하지 않은 경우
Daro.setCcpa(context, CcpaStatus.OPT_IN)

// 사용자가 개인 정보 판매를 거부한 경우
Daro.setCcpa(context, CcpaStatus.OPT_OUT)

// CCPA 적용 대상이 아닌 경우
Daro.setCcpa(context, CcpaStatus.NOT_APPLICABLE)
```

***

## COPPA

COPPA (Children's Online Privacy Protection Act)는 미국의 13세 미만 아동을 보호하는 규제입니다. GDPR·CCPA와 달리 사용자 동의 절차가 아니라, 앱이 아동 대상인지에 대한 퍼블리셔의 선언입니다.

### DARO SDK 처리

퍼블리셔가 앱의 아동 대상 여부를 판단한 후, 아래 API로 DARO SDK에 전달하세요. DARO SDK는 전달받은 선언을 각 광고 디맨드에 전파합니다.

```kotlin theme={null}
Daro.setCoppa(context, CoppaStatus.CHILD)
```

### 설정값

| `CoppaStatus` | 의미                                  |
| ------------- | ----------------------------------- |
| `CHILD`       | 앱이 **아동 대상**입니다. 맞춤형 광고가 허용되지 않습니다. |
| `NOT_CHILD`   | 앱이 **아동 대상이 아닙니다**.                 |

### 기본 동작

`setCoppa`를 호출하지 않으면 아동 대상 여부가 광고 디맨드에 전달되지 않습니다. 아동 대상 앱이라면 반드시 명시적으로 설정하세요.

### 주의사항

COPPA는 앱 전체가 아동 대상인지 여부를 선언하는 설정입니다. 개별 사용자 단위 설정은 지원하지 않습니다. 일부 사용자만 아동인 경우에도 앱 전체 기준으로 판단하세요.

### 코드 예시

```kotlin theme={null}
// 앱이 아동 대상인 경우
Daro.setCoppa(context, CoppaStatus.CHILD)

// 앱이 아동 대상이 아닌 경우
Daro.setCoppa(context, CoppaStatus.NOT_CHILD)
```

***

## 기존 API에서 마이그레이션

기존 `grant*` / `reject*` 메서드는 deprecated 되었습니다. 앞으로는 `set*` API를 사용하세요.

| Deprecated                           | 대체 API                                                |
| ------------------------------------ | ----------------------------------------------------- |
| `grantGdpr(context, consentString)`  | `setGdpr(context, GdprStatus.OPT_IN, consentString)`  |
| `rejectGdpr(context, consentString)` | `setGdpr(context, GdprStatus.OPT_OUT, consentString)` |
| `grantCcpa(context, consentString)`  | `setCcpa(context, CcpaStatus.OPT_IN, consentString)`  |
| `rejectCcpa(context, consentString)` | `setCcpa(context, CcpaStatus.OPT_OUT, consentString)` |
| `grantCoppa(context)`                | `setCoppa(context, CoppaStatus.CHILD)`                |
| `rejectCoppa(context)`               | `setCoppa(context, CoppaStatus.NOT_CHILD)`            |
