legal-pages은(는) 무엇을 하나요?
법률 자문이 아닙니다. 이 스킬은 사용자의 답변을 바탕으로 템플릿을 생성합니다. 사용자의 관할 구역별 의무를 알지 못하며 변호사를 대체할 수 없습니다. 최종 메시지에서 반드시 이 점을 사용자에게 알려야 하고, 생성된 페이지에는 사용자가 텍스트를 검토한 후에만 삭제할 수 있는 검토 공지가 포함됩니다. 페이지가 "적법하다"고 주장하지 마십시오.
1단계 — 정보 수집 (추측하지 말고 질문하세요)
먼저 코드베이스를 검사하여 사전에 채울 수 있는 정보(인증 제공자, 분석 스크립트, 결제 SDK, 이메일 제공자, 데이터베이스 호스트, 설정된 쿠키)를 확인합니다. 그런 다음 사용자에게 확인하세요. assets/legal-config.example.json을 프로젝트 루트의 legal-config.json으로 복사하고 채웁니다:
| 필드 | 예시 | 확인 위치 |
|---|---|---|
company_name, product_name, website_url, contact_email | "Acme Studio" | 질문; 푸터; env |
legal_entity_type, address, governing_law | "individual", "Hebei, China", "People's Republic of China" | 질문 — 절대 임의로 채우지 마세요 |
merchant_of_record | creem / paddle / lemonsqueezy / none | package.json deps (creem, @paddle/paddle-js, @lemonsqueezy/..., stripe) |
data_collected | 이메일, 이름, MoR이 처리하는 결제, IP/사용 로그 | 인증 + DB 스키마 |
processors | Resend (이메일), Plausible (분석), AWS (호스팅) | env 변수, SDK 임포트 |
uses_cookies, analytics_cookies | true / false | 인증/분석에서 설정하는 쿠키 |
sells_subscriptions, sells_one_time | 가격 페이지 | |
refund_mode | window (N일) / case_by_case / none | 질문 — 제공업체 규칙과 일치해야 함 |
serves_eu, serves_california, serves_china | 질문; 추가 섹션에 영향 | |
min_age | 13 또는 16 | 16이 EU 대상 시 더 안전한 기본값 |
사용자가 모르는 항목은 출력에 [[TODO: …]] 마커로 남겨둡니다. 법적 사실(주소, 법인 유형, 준거법)을 그럴듯한 값으로 채우지 마십시오.
2단계 — 렌더링
python3 scripts/render_legal.py --config legal-config.json --out legal --format md
python3 scripts/render_legal.py --config legal-config.json --out app/(legal) --format nextjs # Next.js App Router
python3 scripts/render_legal.py --config legal-config.json --out public/legal --format html
privacy, terms, refund 문서를 생성합니다. 필수 필드가 누락되면 스크립트가 실패하고, 남아 있는 모든 [[TODO]]를 출력하며, effective_date(또는 오늘 날짜)로 "마지막 업데이트"를 기록합니다. --format nextjs는 정적 HTML과 metadata를 포함한 privacy/page.tsx, terms/page.tsx, refund/page.tsx를 작성합니다 — 추가 종속성 없음. 필요에 따라 사이트 레이아웃/타이포그래피로 래핑하세요.
3단계 — 연결
- 모든 페이지의 푸터에 세 페이지 모두 링크를 추가합니다 (결제 제공업체가 이를 확인합니다).
- 체크아웃: 구매 버튼 근처에 이용약관 + 환불정책 링크를 추가합니다 ("구매함으로써 귀하는 …에 동의합니다").
analytics_cookies가 true이고serves_eu가 true인 경우: 분석을 로드하기 전에 쿠키 동의 배너가 필요할 가능성이 높다고 사용자에게 알리거나 (또는 쿠키리스 분석 도구로 전환하도록 안내). 배너를 조용히 추가하지 마십시오.- 가입 양식: 개인정보처리방침 링크를 추가합니다.
4단계 — 제공업체별 확인
선택한 판매자 기록(MoR)에 대해 references/provider-notes.md를 읽으세요. 핵심 사항: MoR을 사용하는 경우 MoR이 고객에 대한 판매 기록자이므로 이용약관에 이를 명시해야 하고, 환불정책이 MoR의 자체 구매자 약관과 모순되는 내용을 약속해서는 안 됩니다.
5단계 — 전달 메시지 (필수)
사용자에게 그들의 언어로 다음을 알리세요:
- 어떤 파일이 생성되었고 어디에 링크되었는지.
- 아직 열려 있는
[[TODO]]항목 목록. - 텍스트는 템플릿이며 법률 자문이 아니므로, 특히 다음 사항에 대해 자격을 갖춘 변호사의 검토를 받아야 한다는 점: 준거법, 책임 제한, 소비자 철회권 (디지털 콘텐츠에 대한 EU 14일 규정), 사용자 국가 외부로의 데이터 전송.
- 사용자 데이터를 처리하는 새 도구를 추가할 때 페이지를 정확하게 유지해야 한다는 점.
파일
assets/templates/*.md— 세 가지 템플릿 (머스태시 스타일{{field}},{{#flag}}…{{/flag}}).assets/legal-config.example.json— 모든 필드가 포함된 설문.scripts/render_legal.py— 렌더러 (표준 라이브러리만 사용).references/provider-notes.md— Creem / Paddle / Lemon Squeezy / Stripe 참고 사항 및 링크.references/regional-notes.md— GDPR, UK GDPR, CCPA/CPRA, PIPL 포인터 (정보 제공용).