Skip to content

Legal Review

SeHyun edited this page Sep 30, 2026 · 7 revisions

검토 결과 — 약관 영어 초안과 심사 전 점검

⚠ 법률 자문이 아니다. 코드 · 문서의 사실과 App Store 심사 지침을 대조한 결과다. 기준: 2026-09-30 main(c46ce62) + feat/ui-language-catalog(#163). 갱신: 2026-09-30 main(e6b2e5c) — 나라 추정 켬(#164) · IP 미저장 · 방침 · 약관 칸 채움을 반영했다.

1. 앱 안 약관 화면 영어 초안 (terms-sections.ts)

결론: 그대로 쓰면 안 된다. 원래 자리표 본문을 번역한 것이라, 사실과 다른 문장이 셋, 빠진 필수 항목이 넷 있다. 본문은 Privacy Policy (draft)로 바꾸고, 앱 안에서는 그 URL로 보내는 것을 권한다.

절 초안 문장 문제 실제
collected "we ask for your name, learning language, and learning goal" 사실과 다름 온보딩에 입력이 없다. 프로필 값은 고정 자리표
collected "usage records … correct and incorrect answers and study time" 사실과 다름 학습 기록은 메모리에만 있고 서버로 가지 않는다. 대신 화면 · 유닛 이벤트가 PostHog로 간다
usage "used only to show you content that suits you" 사실과 다름 분석(PostHog, 미국)에 쓴다. ADR-0029의 확인 필요 항목
usage "don't share it with partners without your separate consent" 오해 소지 처리 위탁(Supabase · PostHog)을 밝혀야 한다
retention "Any records left on paper are shredded or incinerated" 해당 없음 종이 기록이 없다. 한국 방침 서식을 옮긴 문장
contact "Contact menu in the app or by email" 없는 기능 앱에 Contact 메뉴가 없고 이메일도 정해지지 않았다
— (없음) 빠짐 로그인 제공자에서 받는 정보, 처리 위탁 · 국외 이전, 보유 기간, 음성 · 손글씨 처리, 권리 행사 방법, 연령, 보호책임자

2. 심사 전에 막힐 것

# 무엇 근거 할 일
B1 앱 안 계정 삭제가 없다 → #165에서 해결(설정 → Sign out · Delete account, Apple 토큰 철회 포함). 삭제 함수 배포가 있어야 동작한다 App Store 심사 지침 5.1.1(v) — 계정을 만들 수 있으면 앱 안에서 삭제를 시작할 수 있어야 한다 설정에 계정 삭제 추가(Supabase 사용자 삭제는 서버 권한이 필요 — Edge Function 등). Apple 로그인 사용자는 토큰 revoke도 권장
B2 앱 안에서 방침에 닿지 않는다 5.1.1(i) — 앱 안에서 쉽게 접근 가능해야 한다 로그인 화면 문구와 설정 「Privacy and terms」를 호스팅 URL로 연결. 외부 링크를 여는 수단이 없어 결정 필요 해결(PR #166, ADR-0033) — 두 곳 모두 앱 안 브라우저로 Notion 문서를 연다
B3 설정의 약관 본문이 사실과 다르다 위 1절 해결(PR #166) — 임시 본문 화면을 지웠다
B4 Facebook 로그인 — 데이터 삭제 안내 URL Meta 앱 설정의 필수 항목(Data Deletion Instructions URL) · 라이브 전환 때 방침 URL도 필요 방침 5절(삭제 방법) URL을 넣는다 — 5절을 채웠다(#165) — 호스팅 URL의 5절 앵커를 넣는다
B5 Google 로그인 — OAuth 동의 화면 외부 공개 시 방침 URL · 홈페이지 필요 방침 URL을 넣는다

3. 권장 (막히지는 않음)

  • 분석 옵트아웃. 2026-09-30 두지 않기로 했다(5절). 이메일 요청으로 처리한다.
  • 로그인 동의 문구. 「By signing up, you agree to …」가 링크 없는 텍스트다. 링크를 달면 충분하다(체크박스는 필수 아님).
  • 토큰 저장. 로그인 토큰이 UserDefaults 평문이다. Keychain 이전을 권장 — 방침 6절(Security)의 문장이 더 떳떳해진다.
  • 한국어 방침. 한국 사용자에게 서비스한다면 한국어판도 두는 편이 좋다(개인정보 보호법 제30조 공개 의무).

4. App Store 개인정보 라벨 (App Privacy) 초안

추적(Tracking): 아니요 — 광고 · 제3자 데이터 결합 · IDFA 없음.

Apple 분류 항목 수집 사용자에 연결 목적
Contact Info Name · Email Address 예 (Google · Facebook 로그인 시. Apple은 이름 · 이메일을 요청하지 않는다 — requestedScopes = []) 예 App Functionality
Contact Info Phone Number 아니요 — 전화 로그인 숨김 중(#158). 되살리면 예 예 App Functionality
Identifiers User ID 예 예 App Functionality · Analytics
Usage Data Product Interaction 예 (PostHog) 예 (로그인 뒤 식별) Analytics
Location Coarse Location 예 (PostHog — IP로 나라 · 주 · 시간대 추정, IP는 저장 안 함) 예 (로그인 뒤 식별) Analytics
Audio Data — ⚠ 확인 필요 — 아니요로 볼 가능성이 크다 — 개발자 · 제3자 서버로 음성이 가지 않는다. 기기가 온디바이스를 못 하면 iOS의 Apple 음성 인식이 처리한다(방침 1절 · 3절에는 적었다). 라벨에 넣을지는 심사 전에 Apple 기준을 확인
Precise Location · Contacts · Photos · Health · Financial · Purchases — 아니요 — 젬 결제는 목업

5. 결정이 필요한 것

  • 운영 주체 · 보호책임자 — YEONWOONG JUNG(개인 개발자, Apple 계정 소유자). ⚠ 게시 전에 본인 동의를 받는다
  • 문의 이메일 — 서비스 전용 주소를 권장. 방침 · 약관 · App Store · Google · Meta에 같은 주소
  • 최소 연령 — 14세, 그 나라 기준이 더 높으면 그 나이(방침 7절 · 약관 1절)
  • PostHog 보유 기간 — 무료 요금제 1년(유료는 7년). 기간이 지나면 조회에서 빠질 뿐 물리 삭제 시점은 PostHog가 밝히지 않아, 방침에는 「1년 뒤 분석에 쓰지 않는다」로 적었다. 요금제를 바꾸면 방침을 고친다
  • Supabase 리전 — 도쿄(ap-northeast-1). 방침에는 Japan
  • 위치 — 나라 · 주 · 시간대만 IP로 추정, IP는 저장하지 않는다(ADR-0029 D15). 라벨에 Coarse Location
  • 계정 삭제 구현 방식(B1) — #165: Edge Function이 토큰 검증 → (Apple) 재인증 코드 교환 · 철회 → 사용자 삭제. 방침 4절 · 5절 반영
  • 삭제 함수 배포 · Apple 키(.p8) 시크릿 등록(apps/supabase-functions/README.md)
  • 계정 삭제 때 PostHog 기록을 지울지 — #165는 (B)까지 구현했다(reset · 대기열 삭제). (A) PostHog API로 사람 · 이벤트 삭제 (B) 앱에서 reset · 대기열 삭제만 하고 무작위 ID로 남김. 어느 쪽이든 앱의 reset · 대기열 삭제는 필요하다. 방침 4절 · 5절 문구가 이 선택에 따라 달라진다 — 법률 검토 때 확인
  • 앱 안에서 외부 URL을 여는 방식(B2) — 앱 안 브라우저(SFSafariViewController), URL은 호스트에 고정
  • 분석 옵트아웃을 둘지 — 두지 않는다(2026-09-30). App Store 심사가 요구하지 않고 법상 필수 조항도 없다. 방침 5절에 「끄는 설정은 없고, 이메일로 요청하면 사용 기록을 계정과 잇지 않는다」고 적고, 요청은 수동으로 처리한다
  • 한국어판 방침을 둘지
  • 관할 조항(약관 10절) — 법에 따른 관할 + 소비자는 거주국 권리 유지로 적었다. 법률 검토 때 확인

Clone this wiki locally