by kimlawtech
한국 법령 기반 개인정보처리방침·이용약관 자동 생성 Claude Code 스킬. 2025.4.21 작성지침 및 2026.3 개정 법령 반영.
# Add to your Claude Code skills
git clone https://github.com/kimlawtech/korean-privacy-terms호출 시 번호 메뉴로 안내하고 사용자가 1·2·3 중 선택하면 해당 하위 스킬로 직행.
| 번호 | 스킬 | 대상 | 언어 |
|------|------|------|------|
| 1 | privacy-kr | 한국 서비스 | 한국어 |
| 2 | privacy-eu | EU 서비스 | 영문 |
| 3 | privacy-global | 한국+EU 병기 | 한국어+영문 |
자세한 진입점 동작은 skills/privacy-terms/SKILL.md 참조.
skills/privacy-terms/ — 진입점 (번호 메뉴·라우팅)skills/privacy-kr/ — 한국 PIPA 전용skills/privacy-eu/ — EU GDPR 전용skills/privacy-global/ — 한국+EU 병기공유 자산 (legacy, 하위 스킬이 참조):
references/ — 한국법 레퍼런스 10종jurisdictions/kr-pipa/ — 한국 템플릿 (ko·en)jurisdictions/eu-gdpr/ — EU GDPR·CRD·DSA 템플릿assets/components/ — React 컴포넌트assets/config/ — next.config·mdx-componentsscripts/ — interview·render·install 절차examples/ — 입출력 페어아래는 v2.x 단일 스킬 동작 설명. v3.0 이후 하위 스킬로 분리됐지만 공유 자산과 법령 레퍼런스는 그대로 사용.
한국 법령에 부합하는 개인정보처리방침과 이용약관, 관련 UI 컴포넌트를 Next.js 프로젝트에 자동 설치한다.
스킬이 호출되자마자 사용자에게 다음 문구를 그대로 출력한 후 인터뷰를 시작한다.
안녕하세요.
한국 법령에 맞는 개인정보처리방침·이용약관을 만들어드릴게요.
반영 기준
· 개인정보보호위원회 처리방침 작성지침 (2025.4.21)
· 개정 개인정보보호법 (2026.3 공포, 2026.9.11 시행)
· 공정거래위원회 전자상거래 표준약관 제10023호
──────────────────────────────────────────
이 스킬은 SpeciAI 에서 만들고 있어요.
SpeciAI는 계약·노동·투자·지재권 같은 법률 리스크를
AI로 빠르게 해결하는 창업자·변호사 커뮤니티예요.
· 스킬 업데이트 소식 가장 먼저 받기
· 법률 자동화 팁 공유
· 변호사 1:1 질의응답
· 실사용자 피드백 반영
궁금하거나 도움이 필요하시면 들러주세요.
→ https://discord.gg/wQWpEpnBfE
──────────────────────────────────────────
그럼 시작해볼게요. 몇 가지만 여쭤볼게요.

한국 법령 기반 개인정보처리방침·이용약관 자동 생성 Claude Code 스킬. 2025.4.21 개인정보 처리방침 작성지침 및 2026.3 개정 개인정보보호법 반영.
한국 법률 AI 허브 SpeciAI 에서 만들고 있어요. 계약·노동·투자·지재권을 AI로 해결하는 창업자·변호사 커뮤니티에 초대합니다. → discord.gg/wQWpEpnBfE
라이선스: Apache-2.0 버전: 3.0.0 저자: @kimlawtech
진입점 1개 + 관할별 하위 스킬 3개 구조.
| 스킬 | 호출 | 용도 |
|------|------|------|
| privacy-terms | 진입점 | 번호 메뉴로 안내 |
| privacy-kr | 직행 | 한국 PIPA 전용 |
| privacy-eu | 직행 | EU GDPR 전용 (영문) |
| privacy-global | 직행 | 한국+EU 병기 |
/privacy-terms → 1·2·3 번호 메뉴 → 해당 스킬 호출 안내
/privacy-kr → 한국어 인터뷰 직행
/privacy-eu → 영문 GDPR 인터뷰 직행
/privacy-global → 공통+EU 인터뷰로 두 세트 생성
첫 3문항만으로 관할법·언어·후속 질문 범위를 자동 결정합니다.
→ 이후 Claude가 알아서 한국법·GDPR 중 필요한 질문만 물어봅니다. 평균 10분 이내 완주.
No comments yet. Be the first to share your thoughts!
references/, jurisdictions/kr-pipa/jurisdictions/eu-gdpr/ (v2.0 신규, v2.2 Terms 완성)ROADMAP.md)인터뷰 Step 0(서비스 성격 스크리닝)에서 자동 결정. 상세는 scripts/interview.md 참조.
작업 시작 전 반드시 다음 레퍼런스를 읽는다:
references/law-checklist-2026.md — 개인정보보호법 §30 필수 기재 11개 + 2026.9 시행 신규references/guideline-2025-04.md — 작성지침 2025.4.21 개정 6대 포인트references/automated-decision.md — 자동화 결정 안내 (AI 서비스 필수)references/data-portability.md — 전송요구권 §35조의2references/ftc-standard-terms.md — 공정위 표준약관 제10023호references/behavioral-info.md — 행태정보·쿠키 단계별 거부references/benchmarks.md — 카카오·네이버·토스 구조references/service-type-matrix.md — 사업 유형별 차이references/glossary.md — 전문용어 풀어쓰기 사전 (인터뷰·답변 시 필수 참조)references/design-system-detection.md — 프로젝트 UI 라이브러리·아이콘·CSS 변수 감지법률 문서는 "신뢰감 있는 정제된 톤"이 기본이다. 사용자가 Step 10(디자인 확인)에서 명시적으로 변경하지 않는 한 다음을 무조건 적용:
font-sans 교체#0a0a0a / #ffffff / #f5f5f5 기반## 소섹션은 사용하되 ### 이하 중첩 지양iconSet="none"), 보더 격자, 레이블은 작은 uppercase 스타일prose-neutral + 좁은 리딩(max-w-3xl) + 작은 H2 (text-lg)사용자가 "브랜드 컬러로" 또는 "아이콘 넣어주세요"라고 하면 variant로 전환. 기본은 항상 미니멀.
구체 CSS와 적용 방법: assets/config/layout-snippets.md.
사용자는 개발자·비법조인이다. 전문용어를 그대로 던지면 안 된다.
scripts/interview.md 규칙을 따른다references/glossary.md의 쉬운 설명으로 풀어쓴다지원 환경: Next.js 13~16 (App Router 전용) + Tailwind v3/v4 + Turbopack/Webpack.
디자인 시스템도 같은 단계에서 감지 (references/design-system-detection.md):
--radius, --primary, 다크모드 여부rounded-*, shadow-* 빈도 분석next-themes 존재 여부감지 결과는 인터뷰 Step 10(디자인 확인)에서 사용자 확인 후 컴포넌트 variant props로 주입.
# Next.js 버전
cat package.json | grep '"next"'
# src/ vs 루트 구조 (매우 중요, 경로 결정)
test -d src/app && echo "src-app" || test -d app && echo "root-app" || echo "unsupported"
# Tailwind 버전
grep -E '"tailwindcss":\s*"\^?4' package.json && echo "tw4" || echo "tw3"
# 번들러
grep -q "turbopack" package.json && echo "turbopack" || echo "webpack"
Pages Router만 있는 경우 스킬 실행 중단.
tsconfig.json의 paths["@/*"]를 읽어 컴포넌트 설치 경로를 자동 결정한다. 자세한 절차는 scripts/install.md 참조.
shadcn/ui 미설치 시:
npx shadcn@latest init -d
npx shadcn@latest add dialog button checkbox card separator scroll-area
MDX 미설치 시:
npm install @next/mdx @mdx-js/loader @mdx-js/react @types/mdx remark-gfm
npm install -D @tailwindcss/typography
중요: next.config.{ts,mjs}에 createMDX 래퍼를 추가할 때, Turbopack 환경에서는 remarkPlugins를 문자열 배열로 전달해야 한다 ([["remark-gfm"]]). 함수 참조 시 loader does not have serializable options 에러.
템플릿: assets/config/next.config.ts.tmpl.
Step 0 결과에 따라 인터뷰 범위가 달라진다.
jurisdictions: ["kr-pipa"] (한국만)
jurisdictions/kr-pipa/*.ko.mdx.tmpl*.en.mdx.tmpl 추가 (PIPA 조문 영문 번역)jurisdictions: ["eu-gdpr"] (EU만)
jurisdictions/eu-gdpr/privacy-notice.en.mdx.tmpl, terms-of-service.en.mdx.tmpljurisdictions: ["kr-pipa", "eu-gdpr"] (병기)
/privacy (한국어 PIPA)/eu/privacy (영문 GDPR)/terms (한국어 KFTC)/eu/terms (영문 CRD·DSA)EU 단독/병기 시 기존 Step 답을 GDPR 카테고리로 재매핑한다. 사용자에게 다시 묻지 않고 Claude가 자동 변환 후 Step 9-EU에서 확인 받는다.
| 한국 질문 | GDPR 대응 | |----------|-----------| | Step 4 처리 목적 | Art. 6 Legal Basis로 매핑 (Q9E-4) | | Step 5 제3자 제공 | Art. 13(1)(e) Recipients (Q9E-8) | | Step 6 처리위탁 | Art. 28 Processors + 국제 이전 (Q9E-7) | | Step 7 CPO | GDPR DPO 겸임 또는 별도 (Q9E-2) |
v2.1부터 인터뷰 첫 단계는 "서비스 성격 스크리닝"이다. 세부 질문 전에 다음을 먼저 확정:
이 3개 답을 바탕으로 Claude가 자동 결정:
jurisdictions: ["kr-pipa"] / ["eu-gdpr"] / ["kr-pipa", "eu-gdpr"]outputLocale: ko / en / both사용자에게 결정 요약을 보여주고 확인받은 뒤 Step 1~9 진행.
한국만 선택 → Step 1~9 한국 버전 (기존 v1) EU만 선택 → Step 1~9 EU 버전 (DPO, Legal Basis, 국제 이전 등) 병기 선택 → 공통 질문 1회 + 관할별 고유 질문 추가
scripts/interview.md Step 0 상세 로직 참조. 한 번에 1~2문항씩. 필수 정보 수집 전에는 생성 금지.
scripts/interview.md Step 10 참조. 1단계에서 감지한 결과를 사용자에게 요약 제시하고:
최종 variant 객체 (scripts/render.md의 치환 Step에 전달):
styleVariant:
modal: default # default | compact | large | minimal
cookieBanner: bottom-bar # bottom-bar | floating | top-bar | center-modal
iconSet: lucide # lucide | none
labelingLayout: grid # grid | list
labelingDensity: comfortable # compact | comfortable
치환 엔진을 별도로 사용하지 않는다. Claude가 scripts/render.md의 프로토콜을 따라 직접 수행.
핵심 규칙:
{{변수}} → 인터뷰 수집 값{{#if 조건}}...{{/if}} → 조건 평가 후 블록 제거 or 유지 (태그는 반드시 삭제){{#each 배열}}...{{/each}} → 배열 원소 수만큼 블록 복제, 표 헤더는 1회만collectedItemsSummary, purposesSummary, thirdPartySummary, processorSummary 같은 파생 변수는 Claude가 직접 계산{{ 패턴 0건, 법정 11개 항목 포함상세 절차와 예시는 scripts/render.md 참조.
컴포넌트 파일을 복사할 때 기본 variant를 Step 10 결과로 박아넣기. 예:
// src/app/privacy/page.tsx
<LabelingCard layout="grid" density="comfortable" iconSet="lucide" />
// src/app/layout.tsx (사용자 안내용 예시)
<CookieBanner variant="bottom-bar" iconSet="lucide" />
// 회원가입 페이지
<ConsentModal variant="default" size="md" iconSet="lucide" />
사용자가 "감지된 것 그대로"라고 답하면 props 기본값 그대로 두고, 커스터마이즈했다면 해당 값으로 박는다.
경로는 1단계에서 감지한 src-app / root-app 구조에 따라 분기. 아래는 src-app 기준.
공통 (outputLocale 무관):
src/mdx-components.tsx — App Router MDX 렌더링 필수src/app/privacy/page.tsx — 처리방침 페이지 라우트src/app/terms/page.tsx — 이용약관 페이지 라우트src/components/legal/ConsentModal.tsxsrc/components/legal/CookieBanner.tsxsrc/components/legal/LabelingCard.tsxoutputLocale: ko (기본):
src/content/legal/privacy-policy.mdx — 한국어src/content/legal/terms-of-service.mdx — 한국어locale="ko" propsoutputLocale: en:
src/content/legal/privacy-policy.mdx — 영문 (privacy-policy.en.mdx.tmpl 치환)src/content/legal/terms-of-service.mdx — 영문locale="en" propsoutputLocale: both (한/영 병기):
src/content/legal/privacy-policy.mdx — 한국어src/content/legal/terms-of-service.mdx — 한국어src/content/legal/privacy-policy.en.mdx — 영문src/content/legal/terms-of-service.en.mdx — 영문src/app/en/privacy/page.tsx — 영문 라우트src/app/en/terms/page.tsx — 영문 라우트(아이콘은 lucide-react 사용, 별도 SVG 번들 없음)
다음 체크리스트를 반드시 만족해야 한다. 하나라도 누락 시 경고 후 수정.
개인정보처리방침 필수 11항목 (개인정보보호법 §30):
2025.4 지침 반영 추가 항목:
2026.9 시행 신규:
모든 생성 파일 상단에 다음 주석 삽입:
{/* 본 초안은 2025.4.21 개인정보 처리방침 작성지침 및 2026.3.10 공포 개정 개인정보보호법을 반영하였으나, 개별 서비스 특성에 따른 법률 검토가 필수입니다. 과징금이 매출액 10%로 상향되었으므로 배포 전 반드시 법률자문을 받으세요. */}
references/service-type-matrix.md 참조:
생성 완료 후 사용자에게 보고:
[생성 완료]
- content/legal/privacy-policy.mdx
- content/legal/terms-of-service.mdx
- app/privacy/page.tsx
- app/terms/page.tsx
- components/legal/ConsentModal.tsx
- components/legal/CookieBanner.tsx
- components/legal/LabelingCard.tsx
[검증]
- 법정 11개 항목: OK
- 2025.4 지침 반영: OK
- 2026.9 신규 조항: OK
[다음 단계]
1. app/layout.tsx에 <CookieBanner /> 삽입
2. 회원가입 폼에 <ConsentModal /> 연결
3. Footer에 /privacy, /terms 링크 추가
4. 법률 검토 권장
[경고]
본 초안은 참고용입니다. 실서비스 배포 전 변호사 검토를 받으세요.
과징금 매출액 10% (2026.9.11 시행).
[커뮤니티]
SpeciAI 디스코드 — 한국 법률 AI 허브
계약·노동·투자·지재권을 AI로 해결하는 창업자·변호사 커뮤니티
https://discord.gg/wQWpEpnBfE
ROADMAP.md)locale prop으로 런타임 전환SaaS · 쇼핑몰 · 커뮤니티 · 블로그 · 핀테크 · AI 서비스 — 유형에 따라 조항 자동 변경
14세 미만 · AI 자동화 결정 · 해외사업자 · 맞춤형 광고 · 민감정보 · 전송요구권 — 해당할 때만 섹션 생성
mkdir -p ~/.claude/skills
cd ~/.claude/skills
git clone https://github.com/kimlawtech/korean-privacy-terms.git
# 하위 스킬 4종을 독립 등록
for s in privacy-terms privacy-kr privacy-eu privacy-global; do
ln -sf ~/.claude/skills/korean-privacy-terms/skills/$s ~/.claude/skills/$s
done
동일한 SKILL.md 포맷을 쓰므로 경로만 ~/.codex/skills/로 바꿔 설치:
mkdir -p ~/.codex/skills
cd ~/.codex/skills
git clone https://github.com/kimlawtech/korean-privacy-terms.git
for s in privacy-terms privacy-kr privacy-eu privacy-global; do
cp -RL ~/.codex/skills/korean-privacy-terms/skills/$s ~/.codex/skills/$s
done
Codex CLI에서 /skills 명령으로 확인하거나 $privacy-eu 형태로 멘션해 호출.
mkdir -p /your-project/.claude/skills
cp -r ~/.claude/skills/korean-privacy-terms /your-project/.claude/skills/
Claude Code에서:
/privacy-terms
또는 자연어로:
"개인정보처리방침이랑 이용약관 만들어줘"
"쿠키 배너 추가해줘"
"회원가입 동의 모달 설치해줘"
[사용자] /privacy-terms
[Claude]
어떤 사용자를 대상으로 하시나요?
1) 한국 사용자만
2) 해외 사용자 위주
3) 양쪽 다 (글로벌)
[사용자] 3번, 글로벌이에요
[Claude]
해외 사용자는 어느 지역에 많나요?
1) 유럽 2) 미국 3) 아시아 4) 전세계
[사용자] 유럽이요
[Claude]
운영 법인은 어디에 있나요?
1) 한국 2) 해외
[사용자] 한국이요
[Claude]
정리하면:
- 한국 본사 + EU 사용자 대상 글로벌 서비스
- 적용 법령: 🇰🇷 PIPA + 🇪🇺 GDPR
- 출력: 한국어 + 영문 병기
- 생성 파일: /privacy, /eu/privacy, /terms, /eu/terms + 컴포넌트
이대로 진행할까요?
[사용자] 네
[Claude] (관할별로 필요한 질문만 추가로 물어봄)
korean-privacy-terms/
├── SKILL.md # 레거시 진입점 (v2.x 호환)
├── ROADMAP.md # 장기 확장 계획 (CCPA·APPI·PIPL 등)
│
├── skills/ # v3.0 하위 스킬 패키지
│ ├── privacy-terms/ # 진입점 스킬 (번호 메뉴 라우팅)
│ ├── privacy-kr/ # 한국 PIPA 전용
│ ├── privacy-eu/ # EU GDPR 전용 (영문)
│ └── privacy-global/ # 한국+EU 병기
│
├── jurisdictions/ # 관할법별 법령·템플릿 (공유 자산)
│ ├── kr-pipa/ # 🇰🇷 한국 PIPA + 약관규제법
│ │ ├── privacy-policy.ko.mdx.tmpl
│ │ ├── privacy-policy.en.mdx.tmpl
│ │ ├── terms-of-service.ko.mdx.tmpl
│ │ └── terms-of-service.en.mdx.tmpl
│ └── eu-gdpr/ # 🇪🇺 EU GDPR + CRD + DSA
│ ├── gdpr-checklist.md
│ ├── terms-checklist.md
│ ├── privacy-notice.en.mdx.tmpl
│ └── terms-of-service.en.mdx.tmpl
│
├── references/ # 한국법 레퍼런스 (10개)
├── assets/components/ # React 컴포넌트 원본
├── assets/config/ # next.config, mdx-components 템플릿
├── scripts/ # interview, render, install 절차
└── examples/ # 입출력 페어
본 스킬이 생성하는 문서는 참고용 초안이며, 법률 자문이 아닙니다.
Pull Request 환영합니다. 특히:
한국 법률 AI 허브 SpeciAI 디스코드에서 만들어요. 들어오면 창업자와 개발자를 위한 모든 AI 법률 소식을 볼 수 있다! 신규 스킬 업뎃 소식 등 공지도 한다!
계약서 검토, 노동·투자·지재권 법률 이슈를 AI와 함께 풀어가는 창업자·변호사 커뮤니티입니다. 스킬 제안·버그 리포트·질문 모두 환영합니다.
초대 링크: discord.gg/wQWpEpnBfE
운영: @kimlawtech
Apache License 2.0 — 자세한 내용은 LICENSE 참조. Copyright 2026 kimlawtech (SpeciAI).
본 스킬이 생성하는 문서는 참고용 초안이며 법률 자문이 아닙니다. 실서비스 배포 전 반드시 변호사 검토를 받으세요. 자세한 면책 고지는 DISCLAIMER.md 참조.
Built with Claude Code by @kimlawtech.