한국 법령 기반 개인정보처리방침·이용약관 자동 생성 Claude Code 스킬. 2025.4.21 작성지침 및 2026.3 개정 법령 반영.
SaferSkills independently audited korean-privacy-terms (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
호출 시 번호 메뉴로 안내하고 사용자가 1·2·3·4 중 선택하면 해당 하위 스킬로 직행.
| 번호 | 스킬 | 대상 | 언어 |
|---|---|---|---|
| 1 | privacy-kr | 한국 서비스 | 한국어 |
| 2 | privacy-eu | EU 서비스 | 영문 |
| 3 | privacy-us | 미국 서비스 | 영문 |
| 4 | privacy-global | 한국+EU 병기 | 한국어+영문 |
자세한 진입점 동작은 skills/privacy-terms/SKILL.md 참조.
skills/privacy-terms/ — 진입점 (번호 메뉴·라우팅)skills/privacy-kr/ — 한국 PIPA 전용skills/privacy-eu/ — EU GDPR 전용skills/privacy-us/ — 미국 CCPA/CPRA + 주요 주법 전용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
──────────────────────────────────────────
그럼 시작해볼게요. 몇 가지만 여쭤볼게요.references/, jurisdictions/kr-pipa/jurisdictions/eu-gdpr/jurisdictions/us-ccpa/ (v4.0 신규)인터뷰 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-areaMDX 미설치 시:
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.tmpl`jurisdictions: ["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.tsx`outputLocale: ko` (기본):
src/content/legal/privacy-policy.mdx — 한국어src/content/legal/terms-of-service.mdx — 한국어locale="ko" props`outputLocale: en`:
src/content/legal/privacy-policy.mdx — 영문 (privacy-policy.en.mdx.tmpl 치환)src/content/legal/terms-of-service.mdx — 영문locale="en" props`outputLocale: 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~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.