Skip to main content
ClaudeWave
Skill219 repo starsupdated 6d ago

commerce-marketing-compliance-kr

|

Install in Claude Code
Copy
git clone --depth 1 https://github.com/modu-ai/cowork-plugins /tmp/commerce-marketing-compliance-kr && cp -r /tmp/commerce-marketing-compliance-kr/moai-commerce/skills/commerce-marketing-compliance-kr ~/.claude/skills/commerce-marketing-compliance-kr
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# 정보통신망법 광고·정보성 메시지 준수 게이트 (Korean Marketing Compliance)

## 개요

한국 셀러가 SMS·LMS·MMS·이메일·앱푸시·카카오 친구톡/알림톡·텔레마케팅 등 채널로 광고 또는 정보성 메시지를 발송하기 전, **정보통신망 이용촉진 및 정보보호 등에 관한 법률**(이하 정통망법) 준수를 자동 점검하는 사전 게이트 스킬입니다.

**책임 한 줄**: 메시지 초안·발송 채널·발송 시간·수신 동의 상태 입력 → 광고/정보성 판정 + 6대 규정 점검 + 발송 가능 여부 PASS/BLOCK 판정 + 수정 가이드 자동 생성.

**과태료 회피 ROI**: 1회 위반 = 최대 3,000만 원 과태료 + 책임자 1년 이하 징역. CRM 메시지 일일 1만 건 발송 셀러의 경우 단일 위반으로 분기 매출 전체 잠재 손실.

## 정통망법 핵심 6대 규정

### 규정 1: 광고성 정보 사전 동의 (옵트인) — 제50조 제1항

영리 목적의 광고성 정보를 전송할 때는 **수신자의 사전 명시적 동의**가 필수입니다.

- 동의 시점: 광고 전송 전
- 동의 범위: 채널별(SMS/이메일/앱푸시 각각) + 발송 주체별 분리 동의
- 묵시적 동의·이중 동의·기본 체크박스 동의: 모두 무효
- 회원가입 약관 일괄 동의: **광고 동의는 별도 분리 필수** (선택 사항 표기)

### 규정 2: 야간 시간대 광고 전송 제한 — 제50조 제3항

오후 9시부터 다음 날 오전 8시까지의 광고성 정보 전송은 **별도 사전 동의** 필수.

- 일반 광고 동의로는 야간 전송 불가
- 야간 동의는 광고 동의와 분리 수집
- 정보성 메시지(주문 확인·배송 알림 등)는 야간 제한 없음

### 규정 3: (광고) 표기 의무 — 제50조 제4항

광고성 정보 전송 시 본문 **맨 앞**에 다음 항목 포함 필수:

| 위치 | 표기 내용 |
|------|----------|
| 본문 맨 앞 | `(광고)` 또는 `[광고]` |
| 본문 또는 끝 | 전송자 상호 + 연락처 |
| 본문 끝 | 무료 수신거부 방법 + 무료 거부 의무 명시 |

### 규정 4: 무료 수신거부 의무 — 제50조 제4항

모든 광고성 메시지에 **무료** 수신거부 방법 명시 필수.

- SMS/LMS/MMS: 080 무료 수신거부 번호 또는 회신 키워드("거부")
- 이메일: 본문 내 명확한 수신거부 링크 (단일 클릭 가능)
- 앱푸시: 앱 내 알림 설정 경로 안내
- 카톡 친구톡: 카카오 자체 차단 기능 안내

### 규정 5: 채널별 광고 전송 제한 — 정보통신망법 시행령

| 채널 | 광고 전송 가능 시간 | 옵트인 필수 |
|------|-------------------|-----------|
| SMS/LMS/MMS | 08:00-21:00 | ✅ |
| 이메일 | 24시간 | ✅ |
| 앱푸시 (광고성) | 08:00-21:00 | ✅ |
| 앱푸시 (정보성) | 24시간 | ❌ (서비스 약관 동의 시) |
| 카톡 친구톡 | 08:00-21:00 | ✅ (친구 추가 동의) |
| 카톡 알림톡 | 24시간 (정보성만) | ❌ (서비스 약관 동의 시) |
| 텔레마케팅 | 08:00-21:00 | ✅ + 음성 안내 동의 |

### 규정 6: 처벌 조항 — 제76조

| 위반 사항 | 처벌 |
|----------|------|
| 사전 동의 없는 광고 전송 | 과태료 최대 3,000만 원 |
| 야간 시간대 광고 전송 | 과태료 최대 3,000만 원 |
| (광고) 표기 누락 | 과태료 최대 3,000만 원 |
| 수신거부 방해·무시 | 과태료 최대 3,000만 원 + 형사 처벌 |
| 영리 목적 광고 정보 대량 전송 (의도성) | 1년 이하 징역 또는 1,000만 원 이하 벌금 |

## 광고성 vs 정보성 자동 판정

### 광고성 정보 판정 기준

다음 중 하나라도 해당하면 **광고성**으로 분류 — 옵트인 동의·(광고) 표기·야간 차단·무료 수신거부 모두 필수:

- 영리 목적의 상품·서비스 홍보
- 할인·쿠폰·이벤트 안내 (자발적 회원 대상 정보성 제외)
- 신규 상품 출시·재입고 안내 (정보성 카테고리 동의 시 제외)
- 브랜드 인지도 제고 콘텐츠
- 광고 협찬 콘텐츠 (인플루언서 메시지 포함)
- 카카오 친구톡 모든 메시지 (정보성 제외 케이스 없음)

### 정보성 정보 판정 기준

다음에만 해당하면 **정보성** — 옵트인 별도 동의 불필요 (서비스 약관 동의 시점에 포함):

- 주문 확인·결제 알림
- 배송 상태 변경 (출고·배송 시작·배송 완료)
- 환불·교환 처리 결과
- 본인 인증 OTP·비밀번호 재설정
- 계정 보안 알림 (이상 로그인 등)
- 계약 만료·약관 변경 사전 고지

### 회색지대 처리

- 재구매 유도(`30일 만에 안 오셨네요`): **광고성** (재구매 의도 = 영리 목적)
- 멤버십 등급 안내(`골드 등급 승급`): **정보성** (자발적 가입 회원 대상)
- 적립금 소멸 안내(`적립금 3,000원 7일 후 소멸`): **정보성** (계약상 의무 고지)
- 적립금 소멸 + 쿠폰 안내: **광고성** (쿠폰 = 영리 인센티브)

> **판정 원칙**: 메시지 내 영리 목적 요소(쿠폰·할인·인센티브·재구매 유도)가 0% 포함이어야 정보성. 단 1% 영리 요소가 섞이면 광고성으로 분류 → 옵트인 동의 + 6대 규정 모두 적용.

## 워크플로우

### 입력 슬롯

| 항목 | 필수 | 예시 |
|------|------|------|
| 메시지 초안 | 필수 | `오늘만 20% 할인! 카카오페이로 결제하면 추가 5% 적립` |
| 발송 채널 | 필수 | SMS / LMS / MMS / 이메일 / 앱푸시 / 카톡 친구톡 / 카톡 알림톡 / 텔레마케팅 |
| 발송 예정 시간 | 필수 | `2026-05-17 22:30` (24시간 형식) |
| 수신 동의 상태 | 필수 | `광고 동의 ✅, 야간 동의 ❌` |
| 발신자 정보 | 필수 | 상호 + 연락처 (080 무료 번호 또는 일반 번호) |
| 무료 수신거부 방법 | 권장 | `080-xxx-xxxx 회신 키워드 '거부'` 또는 이메일 옵트아웃 링크 |

### 점검 순서

```
[Step 1] 광고성 vs 정보성 판정
   ├─ 정보성 → Step 6 (수신거부 점검 skip, 표기 요구 skip) 직행
   └─ 광고성 → Step 2

[Step 2] 옵트인 동의 점검
   ├─ 광고 동의 ❌ → BLOCK ("사전 동의 미확보 — 제50조 제1항 위반")
   └─ 광고 동의 ✅ → Step 3

[Step 3] 발송 시간 점검 (21시~익일 8시)
   ├─ 야간 + 야간 동의 ❌ → BLOCK ("야간 광고 별도 동의 필요 — 제50조 제3항")
   ├─ 야간 + 야간 동의 ✅ → Step 4
   └─ 주간 → Step 4

[Step 4] (광고) 표기 위치 점검
   ├─ 본문 맨 앞 '(광고)' or '[광고]' 미포함 → BLOCK
   ├─ 표기는 있으나 맨 앞 아님 → BLOCK ("표기 위치 위반 — 제50조 제4항")
   └─ 맨 앞 명시 → Step 5

[Step 5] 무료 수신거부 명시 점검
   ├─ 무료 수신거부 방법 미명시 → BLOCK
   ├─ 유료 수신거부 (예: 일반 ARS) → BLOCK ("무료 의무 위반 — 제50조 제4항")
   └─ 무료 명시 ✅ → Step 6

[Step 6] 발신자 정보 점검
   ├─ 상호 + 연락처 미명시 → BLOCK
   └─ 명시 ✅ → PASS
```

## 출력 형식

### PASS 케이스

```json
{
  "verdict": "PASS",
  "category": "광고성",
  "channel": "SMS",
  "send_time": "2026-05-17 14:30",
  "checks": {
    "advertising_judgment": {"status": "광고성", "reason": "20% 할인·적립 인센티브 포함"},
    "opt_in_consent": {"status": "PASS", "captured_at": "2026-05-01"},
    "night_time": {"status": "주간", "in_range": false},
    "advertising_label": {"status": "PASS", "position": "본문 맨 앞"},
    "free_unsubscribe": {"status": "PASS", "method": "080-xxx-xxxx 회신 '거부'"},
    "sender_info": {"status": "PASS", "name": "OO몰", "contact": "1588-xxxx"}
  },
  "rendered_message": "(광고) OO몰 오늘만 20%할인! 카카오페이 결제시 추가5%적립 [무료수신거부] 080-xxx-xxxx '거부' 회신",
  "notes": "본 메시지는 정통망법 제50조 제1·3·4항 모두 충족합니다."
}
```

### BLOCK 케이스

```json
{
  "verdict": "BLOCK",
  "category": "광고성",
  "channel": "SMS",
  "send_time": "2026-05-17 22:30",
  "blockers": [
    {
      "rule": "정통망법 제50조 제3항 (야간 광고 별도 동의)",
      "issue": "발송 시간 22:30이 야간(21시~익일 8시) 범위. 야간 동의가 ❌ 상태",
      "fix": "(A) 발송 시간을 08:00 이후로 변경 또는 (B) 야간 동의 별도 수집"
    },
    {
      "rule": "정통망법 제50조 제4항 ((광고) 표기 위치)",
      "issue": "본문 맨 앞에 '(광고)' 또는 '[광고]' 표기 누락",
      "fix": "본문 시작 부분에 '(광고)' 추가"
    }
  ],
  "rendered_preview": "(현재 메시지는 발송 불가 상태. 위 fix 적용 필요)",
  "max_penalty": "3,000만 원 + 1년 이하 징역 (제76조)"
}
```

## 채널별 베스트 메시지 패턴

```
SMS (90자 이내, 광고성):
(광고) {상호}
{핵심 혜택 한 줄}
{CTA 1줄}
무료거부 080-xxx-xxxx

이메일 (광고성):
제목: (광고) {핵심 혜택}
본문 첫 줄: {상호} 광고 메시지입니다.
{본문}
하단: [수신거부 (단일 클릭 옵트아웃)] · 발신자 {상호} {연락처}

카톡 친구톡 (광고성, 1000자 이내):
(광고) {상호}
{본문}
ㅡㅡㅡ
※ 본 메시지는 광고이며, 카카오톡 친구목록에서 차단할 수 있습니다.
```

## 채널별 워스트 패턴 (블록 사유 빈도순)

| Worst Pattern | 위반 조항 | 발생 빈도 |
|---------------|----------|----------|
| 회원가입 약관 일괄 동의로 광고 전송 | 제50조 제1항 (사전 동의 분리 미흡) | 매우 높음 |
| 야간 발송 (21시 이후) | 제50조 제3항 (야간 별도 동의 없음) | 높음 |
| `(광고)` 표기를 본문 끝에 배치 | 제50조 제4항 (표기 위치 위반) | 높음 |
| 일반 ARS·문의 번호를 수신거부로 안내 | 제50조 제4항 (무료 의무 위반) | 중 |
| 발신자명만 명시·연락처 누락 | 제50조 제4항 (발신자 정보 미흡) | 중 |
| `(광고)`를 `(이벤트)`·`(혜택)`로 대체 | 제50조 제4항 (정확 표기 위반) | 중 |

## 사용 예시

```
"/commerce-marketing-compliance-kr — SMS '오늘만 20% 할인, 카카오페이 결제 시 +5% 적립',
 발송 22:30, 광고 동의 ✅, 야간 동의 ❌"
→ BLOCK: 야간 동의 미확보 + (광고) 표기 누락 + 발신자 정보 누락
   fix 3종 제시

"/commerce-marketing-compliance-kr — 이메일 '주문하신 비건 세럼 출고되었습니다',
 발송 23:00, 광고 동의 ❌"
→ PASS (정보성, 야간 제한 없음, 옵트인 불필요)
   rende