$npx -y skills add kimlawtech/korean-privacy-terms --skill privacy-euEU 사용자 대상 서비스용 Privacy Notice·Terms of Service·Consent Modal·Cookie Banner 자동 생성. GDPR (Regulation 2016/679) + ePrivacy Directive + Consumer Rights Directive 2011/83 + Digital Services Act + Digital Content Directive + Unfair Terms Directive 반영. 영문 인터뷰로 진행.
| 1 | # privacy-eu — EU GDPR 전용 스킬 |
| 2 | |
| 3 | ## 호출 즉시 출력 (영문 인터뷰 시작 안내) |
| 4 | |
| 5 | ``` |
| 6 | Starting EU GDPR Privacy Notice & Terms generator. |
| 7 | |
| 8 | 인터뷰는 영문·GDPR 용어로 진행합니다. (사용자 답은 한국어로 하셔도 됩니다) |
| 9 | 법령: GDPR Art. 13-14, Art. 6, Art. 9, Chapter V, DSA, CRD 14-day withdrawal |
| 10 | |
| 11 | 몇 가지만 여쭤볼게요. |
| 12 | ``` |
| 13 | |
| 14 | ## 법령 근거 (MUST READ) |
| 15 | |
| 16 | 1. `./jurisdictions/eu-gdpr/gdpr-checklist.md` — GDPR Art. 13-14 공개 21종·8대 권리·Art. 6 근거·Art. 83 과태료 |
| 17 | 2. `./jurisdictions/eu-gdpr/terms-checklist.md` — CRD·DSA·DCD·Unfair Terms |
| 18 | 3. `./references/glossary.md` — 용어 풀이 (DPO·Data Controller·SCCs 등) |
| 19 | 4. `./references/design-system-detection.md` — UI variant |
| 20 | |
| 21 | ## 인터뷰 범위 |
| 22 | |
| 23 | `./scripts/interview.md` 중 다음만 수행: |
| 24 | |
| 25 | **유지** |
| 26 | - Step 1 서비스 소개 (serviceName·serviceDescription·operatorName·serviceType) |
| 27 | - Step 2 수집 항목 (자동 수집·민감·고유식별) |
| 28 | - Step 6 처리위탁 (→ Art. 28 Processors + 국제 이전 자동 추론) |
| 29 | - Step 9 시행일·개정 여부 |
| 30 | - **Step 9-EU 전부 (Q9E-1~11)** |
| 31 | - Step 10 디자인 스타일 |
| 32 | - Step 11 최종 확인 |
| 33 | |
| 34 | **생략 (한국 전용)** |
| 35 | - Step 3 수집 방법 (EU는 Art. 14 출처 개념으로 Q9E-6에 통합) |
| 36 | - Step 4 한국식 처리 목적 (Q9E-4 Legal Basis로 대체) |
| 37 | - Step 5 한국식 제3자 제공 (Q9E-8 Recipients로 대체) |
| 38 | - Step 7 한국 CPO (Q9E-2 DPO로 대체) |
| 39 | - Step 8 한국 특수 상황 |
| 40 | - 14세 미만 → Q9E-11 (16세 기본) |
| 41 | - AI 자동화·행태광고·전송요구권·국내대리인은 EU는 다르게 처리 |
| 42 | |
| 43 | ## 사용 템플릿 |
| 44 | |
| 45 | - `./jurisdictions/eu-gdpr/privacy-notice.en.mdx.tmpl` → `src/app/privacy/page.tsx` |
| 46 | - `./jurisdictions/eu-gdpr/terms-of-service.en.mdx.tmpl` → `src/app/terms/page.tsx` |
| 47 | |
| 48 | ## 치환 프로토콜 |
| 49 | |
| 50 | `./scripts/render.md`의 **EU GDPR 치환 규칙** 섹션 필독. 조건부 블록 13종 해석·검증 키워드 지정됨. |
| 51 | |
| 52 | ## UI 컴포넌트 locale |
| 53 | |
| 54 | 모든 컴포넌트에 `locale="en"` prop 박기: |
| 55 | |
| 56 | ```tsx |
| 57 | <ConsentModal locale="en" /> |
| 58 | <CookieBanner locale="en" variant="center-modal" blocking={true} /> |
| 59 | <LabelingCard /* 영문 라벨로 텍스트 대체 */ /> |
| 60 | ``` |
| 61 | |
| 62 | CookieBanner는 **GDPR 옵트인 모드**: |
| 63 | - `variant="center-modal"` 또는 `variant="bottom-bar"` + 옵트인 UX |
| 64 | - Reject all 버튼을 Accept all과 동등 노출 (CNIL·EDPB) |
| 65 | |
| 66 | ## 생성 대상 파일 (src-app 기준) |
| 67 | |
| 68 | ``` |
| 69 | src/mdx-components.tsx |
| 70 | src/content/legal/privacy-policy.mdx (GDPR Privacy Notice) |
| 71 | src/content/legal/terms-of-service.mdx (EU Terms) |
| 72 | src/app/privacy/page.tsx (locale="en") |
| 73 | src/app/terms/page.tsx (locale="en") |
| 74 | src/components/legal/ConsentModal.tsx |
| 75 | src/components/legal/CookieBanner.tsx |
| 76 | src/components/legal/LabelingCard.tsx |
| 77 | ``` |
| 78 | |
| 79 | ## 검증 (Write 후 필수) |
| 80 | |
| 81 | - [ ] Data Controller 정보 |
| 82 | - [ ] 8대 권리 (Access·Rectification·Erasure·Restriction·Portability·Object·Art. 22·Withdraw) |
| 83 | - [ ] Art. 6 Legal basis 명시 |
| 84 | - [ ] Supervisory authority·EDPB 링크 |
| 85 | - [ ] 72h breach notification (해당 시) |
| 86 | - [ ] DPO·EU Representative (해당 시) |
| 87 | - [ ] International transfer·SCCs (해당 시) |
| 88 | - [ ] CRD 14-day withdrawal + model form |
| 89 | - [ ] DSA Art. 17 Statement of Reasons (platform 시) |
| 90 | - [ ] ODR 링크 https://ec.europa.eu/consumers/odr |
| 91 | |
| 92 | ## 완료 출력 |
| 93 | |
| 94 | ``` |
| 95 | [Generated] |
| 96 | - src/content/legal/privacy-policy.mdx (GDPR) |
| 97 | - src/content/legal/terms-of-service.mdx (CRD + DSA) |
| 98 | - src/app/privacy/page.tsx, src/app/terms/page.tsx |
| 99 | - src/components/legal/*.tsx (locale="en") |
| 100 | |
| 101 | [Checks] |
| 102 | - GDPR Art. 13-14 disclosures complete |
| 103 | - 8 data subject rights covered |
| 104 | - CRD 14-day withdrawal included |
| 105 | - ODR link inserted |
| 106 | |
| 107 | [Next steps] |
| 108 | 1. Add <CookieBanner locale="en" variant="center-modal" /> to layout |
| 109 | 2. Connect <ConsentModal locale="en" /> to signup form |
| 110 | 3. Footer links to /privacy and /terms |
| 111 | |
| 112 | [Reminder] |
| 113 | Legal review by EU counsel required before production. |
| 114 | GDPR Art. 83 fines: up to €20M or 4% global turnover. |
| 115 | |
| 116 | ────────────────────────────────────────── |
| 117 | |
| 118 | Feedback, bug reports, or legal update suggestions? |
| 119 | Join SpeciAI — a Korean legal AI hub community where lawyers, developers, |
| 120 | and founders discuss privacy, GDPR, and AI-related legal tooling. |
| 121 | |
| 122 | → https://discord.gg/wQWpEpnBfE |
| 123 | ``` |