## 배경 - TWA / Google Play 배포의 전제 조건. Play Console은 **개인정보처리방침 URL을 필수**로 요구함. - 현재 manifest는 \`/logo.png\`를 \`sizes: \"any\"\`로만 사용 중 → Lighthouse PWA에서 권장 사이즈(192/512) 누락 경고 가능, Android maskable 미지원 시 흰 배경 마스크 발생. - 이번 작업으로 PWA 보강 + Play Console 제출 자료를 함께 갖춘다. ## 작업 내용 ### 1. 개인정보처리방침 페이지 (\`/privacy\`) - [ ] \`apps/web/src/app/privacy/page.tsx\` 신규 작성 - [ ] 명시 항목: - Supabase 저장 데이터 (계정, 좋아요, 저장 폴더, 부르고 싶은 곡) - 외부 서비스: 카카오 로그인, OpenAI (chat), Google Analytics, Vercel Analytics, PostHog - 외부 노래방 Open API (조회만) - 데이터 보관 기간, 탈퇴 시 삭제 정책 - [ ] 한국어 (영어는 후속 이슈) - [ ] Footer 또는 \`/info\`에서 링크 추가 ### 2. PWA 아이콘 4종 생성 - [ ] \`apps/web/public/icons/\` 디렉토리 신규 - \`icon-192.png\`, \`icon-512.png\` - \`icon-maskable-192.png\`, \`icon-maskable-512.png\` (safe area 80% 적용) - [ ] sharp 또는 ImageMagick으로 \`logo.png\`에서 정확한 사이즈 파생 - [ ] \`apps/web/src/app/manifest.ts\` 갱신 — \`purpose: \"any\"\`와 \`purpose: \"maskable\"\`을 분리해 등록 ### 3. Apple touch icon (선택) - [ ] \`apple-icon.png\` (180x180) → \`apps/web/src/app/\` (Next.js 15 컨벤션) ## 검증 - [ ] Chrome DevTools → Lighthouse → PWA에서 \"Maskable icon\" 통과 - [ ] \`/privacy\` 접근 가능, 한국어 본문 정상 표시 - [ ] 모바일 Chrome에서 \"홈 화면에 추가\" 시 새 아이콘 적용 확인 - [ ] \`pnpm build\`, \`pnpm lint\`, \`pnpm check-types\` 통과 ## 범위 외 - 영어 번역 (별도 이슈) - 쿠키 동의 배너 (별도 이슈) - 신규 아이콘 디자인 (현재 \`logo.png\` 활용) ## 의존성 - 선행: #205 (mobile 동결), #206 (PWA 셋업) 머지 ## 후속 - TWA 워크스페이스 셋업 (다음 이슈)
배경
작업 내용
1. 개인정보처리방침 페이지 (`/privacy`)
2. PWA 아이콘 4종 생성
3. Apple touch icon (선택)
검증
범위 외
의존성
후속