출시판 법률문서 v1 — 법 요건 대조표 (2026-09-15)
이슈: dekerd/Barbelic#1640 · 오너 지시(2026-09-15): "유료 플랜까지 확정해서 약관 v1으로 통일하고, 출시 전에 빠진 것 없는지 철저하게 검증."
결과: 출시 전 초안 v1~v6를 이용약관 v1·개인정보처리방침 v1 한 판씩으로 통합하고, 동의문 3종(v1)과 운영 안내를 같은 기준으로 맞췄다. 아래 표는 문서마다 적용되는 법 요건을 항목별로 대조한 것이며, "v6까지"는 통합 전 초안의 상태, "v1 조치"는 출시판에 반영한 것이다. 이 검토는 자체 대조이며 변호사 검토를 대신하지 않는다 — 사람이 판단해야 할 항목은 맨 아래에 따로 적었다.
배경 지식 (읽는 사람을 위해)
- 판(버전): 약관·처리방침은 고칠 때마다 새 번호를 붙여 따로 저장한다. 회원이 "어느 판에 동의했는지"가 서버에 남고, 나중에 그 판의 원문을 그대로 보여 줄 수 있어야 하므로 한 번 게시한 판은 고치지 않는다. 출시 전에는 실제 회원이 없어(운영 DB의 16명은 테스트 계정) 초안 여섯 판을 하나로 합쳐도 이 원칙에 어긋나지 않는다.
- 게시본 불변 검사: 문서 저장소의
npm run check가 "이미 게시된 판의 파일이 바뀌면 실패"시킨다. 출시 전 초안까지 이 검사에 걸리므로scripts/legal-publication.json(게시 기준점)을 두어, 그 파일이 없는 옛 이력은 게시본으로 취급하지 않는다. 기준점 이후에는 종전대로 새 판만 추가할 수 있다. - 앱 마켓 결제: iOS·Android 앱 안의 유료 구독은 Apple·Google이 결제·영수증·환불을 처리한다. 운영자는 카드번호를 받지 않고 거래 식별자와 구독 상태만 받는다. 그래서 환불은 앱 마켓 절차가 우선이고, 운영자가 직접 환불하는 경우만 약관에 따로 적는다.
1. 이용약관 v1 (public/legal/terms-v1.html)
| # | 요건 | 근거 | v6까지 | v1 조치 |
|---|---|---|---|---|
| 1 | 사이버몰 표시: 상호·대표자·주소·전화·전자우편·사업자등록번호·이용약관·호스팅 제공자 | 전자상거래법 제10조 제1항 | 전화·호스팅 제공자 없음 | 제1조에 전화(070-8064-4121)와 호스팅 서비스 제공자(Supabase Pte. Ltd., Vercel Inc.) 추가 |
| 2 | 통신판매업 신고번호 또는 면제 사유 표시 | 전자상거래법 제12조, 시행령 제15조 | 면제 표기 있음 | 유지. 직전 연도 거래 50회 이상이 되면 신고 후 번호 기입(오너) |
| 3 | 계약 전 거래조건 표시: 내용·가격·기간·지급 방법·공급 시기·청약철회·환불·불만 처리 | 전자상거래법 제13조 제2항 | 결제 화면 표시 원칙(제5조 4항), 불만·분쟁 처리 절차 없음 | 제15조를 "불만 처리와 분쟁 해결"로 확장: support@ 접수·결과 통지, 소비자분쟁해결기준 참고, 한국소비자원(1372)·전자문서·전자거래분쟁조정위원회(1661-5714) 안내 |
| 4 | 청약철회 7일, 디지털콘텐츠 제공 개시 시 예외와 사전 표시·확인 | 전자상거래법 제17조 제1·2항, 콘텐츠산업진흥법 제27조 | 있음(제5조의3 1항) | 유지 |
| 5 | 환급 기한(3영업일) | 전자상거래법 제18조 제2항 | 없음 | 제5조의3 3항에 "운영자가 직접 환불하는 경우 사유 확인일부터 3영업일 이내" 추가 |
| 6 | 정기결제: 자동 갱신 사실·갱신 요금·해지 방법 사전 표시, 무료 체험→유료 전환·가격 인상 30일 이내 동의와 취소 방법 고지 | 전자상거래법 시행령 제20조의2(2025-02-14 시행), Apple 3.1.2, Google Play 구독 정책 | 있음(제5조의2) | 유지 |
| 7 | 미성년자 결제: 법정대리인 동의 없으면 취소 가능, 사전 고지 | 민법 제5조, 전자상거래법 제13조 제2항 후단 | 있음(제5조의2 5항) | 유지 |
| 8 | 약관 명시·설명, 불리한 변경 30일 전 고지, 미동의 시 해지 | 약관규제법 제3조, 전자상거래법 제13조 | 있음(제3조) | 유지 |
| 9 | 부당한 면책·관할 조항 없음 | 약관규제법 제7조·제14조 | 제14조 책임 제한은 법정 범위, 관할은 민사소송법 | 유지 |
| 10 | 만 14세 미만 가입 불가·연령 확인 | 개인정보 보호법 제22조의2 | 있음(제4조 2항) | 유지 |
| 11 | 커뮤니티 안전: 금지행위, 신고·차단, 24시간 내 대응 | App Store 심사 지침 1.2 | 있음(제9조) | 유지 |
| 12 | 서비스 중단·종료 사전 고지, 유료 이용 중 중단 보상 | 전자상거래법 제15조, 소비자분쟁해결기준 | 있음(제11조) | 유지 |
| 13 | 탈퇴와 구독의 관계(탈퇴만으로 구독이 해지되지 않음) | Apple·Google 구독 정책 | 있음(제12조 5항) | 유지 |
| 14 | 개정 이력·부칙이 출시판 기준 | — | v2~v6 이력, 종전판 부칙 | 개정 이력 v1 한 줄(초안 통합 요지), 부칙 "2026년 9월 15일부터 시행" + 유료 조항 적용 시점 |
2. 개인정보처리방침 v1 (public/legal/privacy-v1.html)
개인정보 보호법 제30조 제1항과 시행령 제31조가 정한 기재 사항을 하나씩 대조했다.
| # | 기재 사항 | v6까지 | v1 조치 |
|---|---|---|---|
| 1 | 처리 목적 | 제2항 표 | 유지 |
| 2 | 처리 항목 | 제2항 표(일반·민감·보안 로그) | 유지 |
| 3 | 보유·이용 기간 | 항목별 기간, 거래 기록 5년·3년 | 유지 |
| 4 | 제3자 제공 | 제4항(회원 선택에 따른 공개, 법령 제공) | 유지 |
| 5 | 처리 위탁(수탁자·업무·재수탁자) | 제5항 가 | 유지 |
| 6 | 국외 이전(이전받는 자·연락처·국가·시기·방법·항목·목적·기간·거부 방법) | 제5항 나 | 유지 |
| 7 | 앱 마켓 결제 처리자(수탁자가 아닌 독립 처리자) | 제5항 다 | 유지 |
| 8 | 파기 절차·방법, 법정 보관 분리 | 제6항 | 유지 |
| 9 | 정보주체의 권리·행사 방법 | 제7항 | 유지 |
| 10 | 권익침해 구제 방법 | 침해신고센터(118)·분쟁조정위(1833-6972)만 | 대검찰청 사이버수사과(1301)·경찰청 사이버수사국(182) 추가, 행정심판 안내 추가 |
| 11 | 안전성 확보 조치 | 제9항 | 유지 |
| 12 | 자동 수집 장치(쿠키·저장소) 설치·운영·거부 | 제8항 | 유지 |
| 13 | 행태정보(맞춤형 광고) 수집 여부 | "제공하지 않음" 명시(제8항) | 유지 |
| 14 | 개인정보 보호책임자 성명·연락처, 열람청구 접수 부서 | 박주희, support@ | 유지 |
| 15 | 개인정보처리자 표시(상호·대표자·주소·사업자등록번호) | 있음 | 전화·호스팅 제공자 추가(제1항) |
| 16 | 민감정보 별도 동의와 근거 조문 | 제2항 나(제23조) | 유지 |
| 17 | 만 14세 미만 아동 | 제10항 | 유지 |
| 18 | 앱 권한(카메라·사진)과 사진 메타데이터 | 제8항 | 유지 |
| 19 | 외부 로그인 제공자별 수집 항목 | 제12항 | 유지 |
| 20 | 변경 고지 방법·이력·시행일 | v2~v6 이력, 10-15 시행 부칙 | 개정 이력 v1 한 줄, 부칙 "2026년 9월 15일부터 시행" + 결제 정보 처리 시작 시점 |
| 21 | 앱이 실제로 쓰는 항목과의 대조 | — | 앱 의존성에 푸시·분석·광고·위치 플러그인 없음(@capacitor/core·ios·android만) → 추가할 수집 항목 없음 |
3. 동의문 3종 (consent-sensitive-v1, consent-sharing-v1, consent-sharing-sensitive-v1)
| 요건 | 근거 | 상태 | v1 조치 |
|---|---|---|---|
| 별도 동의의 고지 사항: 받는 자(제공 시)·목적·항목·보유 기간·거부권과 불이익·철회 방법 | 개인정보 보호법 제17조 제2항·제23조·제22조 | 6항목 모두 표로 있음 | 유지. 참조 문구 "개인정보처리방침 v5" → "v1", 상단 링크 v1 |
| 동의 문구가 앱 화면 문구와 동일 | 앱 legalDocuments.ts의 CONSENT_LABELS | 동일(#1625 계약) | 유지 |
| 필수·선택 구분 | 오너 결정 D1(#1625) | 민감정보 수집 = 필수, 공개 2종 = 선택 | 유지 |
4. 운영 안내 (service-info.html)
| 항목 | 9월 7일판 | v1 조치 |
|---|---|---|
| 사업자 표시 | 상호·대표자·주소·전화·사업자등록번호·면제 | 호스팅 서비스 제공자 추가 |
| 이용요금 | "무료, 결제·구독 없음" | "기본 기능 무료 + 유료 플랜은 앱 마켓 결제로만, 해지·청약철회·환불 경로" — 유료 플랜을 팔지 않는 동안 결제 화면이 없다는 점 명시 |
| 공개 범위 | "팔로우하면 승인 없이 기록이 보인다"(#1625 이전 동작) | "공개는 별도 동의 2종, 끄면 서버가 차단"으로 교체(#1625 Phase 5에서 준비한 문안) |
| 문서 링크 | terms-v4·privacy-v4 | v1 |
5. 이번에 바꾸지 않은 것 (앱 등록·게시 단계에서 함께)
오너 지시(2026-09-15)로 이 트랙의 목표는 법률문서 최종판 완성까지다. 아래는 최종판을 실제로 게시·연결할 때 같이 바꿔야 하는 곳이며, 지금은 손대지 않았다.
- 문서 사이트 운영 배포: 지금 배포하면 운영 중인 앱(v0.19.2, 약관 v4 링크)과 release/v0.19.3(v5 요구·v6 등재)이 여는
terms-v4·v5·v6.html이 사라진다. 앱의 문서 목록·서버 요구 버전을 v1으로 바꾸는 릴리스와 같은 시점에 배포한다. - 앱:
src/react/legalDocuments.ts레지스트리 v1만 남기기, 서버onboarding_consent_requirements()v5 → v1 마이그레이션, QA1 테스트 단언(95곳), #1643 브랜치의 앱public/legal/사본. - 랜딩
src/content/links.ts(terms-v4·privacy-v4 → v1), App Store Connect·Play Console의 약관·처리방침 URL,docs/platform/app-store-submission.md·android-release.md의 URL,docs/contracts/paid-plan-consent.md·onboarding-props.md·docs/data/onboarding-data-model.md의 버전 서술. - 테스트 계정 16명 중 7월 옛 v1에 동의한 5계정은 번호가 같아 재동의를 다시 묻지 않는다(실제 회원 아님). 출시 전 운영 DB 정리는 별도 판단.
6. 사람이 판단해야 할 것 (변호사·오너)
- 통신판매업 신고: 앱 내 결제에서 "통신판매업자"가 운영자인지 앱 마켓인지 해석이 갈린다. 지금은 보수적으로 "직전 연도 거래 50회 미만 면제"로 표기했다. 유료 플랜 판매가 50회를 넘기는 해부터 신고가 필요하다.
- 청약철회 예외의 적용: 결제 즉시 유료 기능이 열리는 구독에 "디지털콘텐츠 제공 개시" 예외를 적용하려면 결제 전 화면에서 그 사실을 표시하고 확인을 받아야 한다(약관 제5조의3 1항). 앱의 결제 화면이 이 확인을 실제로 받는지는 유료 기능 구현 때 검증한다.
- 만 19세 미만 결제: 앱 마켓의 가족 승인 기능만으로 법정대리인 동의 요건이 충족되는지는 별도 판단이 필요하다. 약관은 "동의 없는 결제는 취소 가능"만 정했다.
- 운영자 직접 환불 3영업일: 앱 마켓이 처리하지 않은 요청을 운영자가 직접 환불하는 경우에만 적용된다. 앱 마켓 환불 기한은 각 마켓 정책을 따른다.
검증: 문서 저장소 npm run check 통과(법률문서 1판 완결, 내비게이션 링크). 세션 e77bd906-a541-49ee-a2c6-7d462e3afb4f.