# Roomfit Studio 상용 배포 체크리스트

> B2B 앱(roomfit_studio)을 **Play Store 프로덕션** + **iOS App Store 프로덕션** 으로 출시하기 위해 남은 수동 작업 목록.
> 현재 상태(2026-04-20): **Internal Testing + TestFlight 빌드 2 배포 완료**, 브랜딩·메타데이터·개인정보처리방침·스크린샷·Data Safety 문서 준비 완료.

---

## ✅ 이미 준비됨 (자동 처리 완료)

- [x] 공식 Roomfit 브랜드 로고·아이콘·스플래시 적용 (`apps/b2b/assets/images/` + launcher icons)
- [x] 인앱 로고 교체 (nav rail, 로그인 화면)
- [x] Play Store 내부 테스트 배포 (v1.0.0+2, 위스피온 4명)
- [x] iOS TestFlight 업로드 (v1.0.0+2, Delivery UUID `402386eb`)
- [x] 개인정보처리방침 (한/영) HTML + Markdown (`docs/legal/privacy-policy-studio.*`)
- [x] 앱 메타데이터 (한/영) fastlane 구조로 저장 (`apps/b2b/fastlane/metadata/`)
  - 제목, 짧은 설명, 전체 설명, 키워드, subtitle, promotional text, release notes, 지원·마케팅·개인정보 URL
- [x] Feature graphic (1024×500) — 한/영 각각 (`fastlane/metadata/android/*/images/featureGraphic.png`)
- [x] 스크린샷 (2048×2732 iPad Pro 12.9") — 한/영 각 5장 + Android 10" 태블릿 복사 (`fastlane/screenshots/`)
- [x] Data Safety / App Privacy 선언서 (`docs/legal/data-safety-roomfit-studio.md`)
- [x] TestFlight 암호화 프롬프트 skip (`ITSAppUsesNonExemptEncryption = false`)
- [x] 자격증명 1Password 등록 + Obsidian 레퍼런스

---

## 🚧 사용자가 직접 수행해야 할 작업 (제가 못 하는 것)

### A. 🌐 Privacy Policy / Support URL 호스팅

- [ ] `docs/legal/privacy-policy-studio.html` 파일을 `https://www.wespion.com/legal/privacy-studio` (또는 유사 경로)에 호스팅
- [ ] `https://www.wespion.com/support` 페이지 작성 — 문의 이메일·FAQ·응답 시간 안내
- [ ] 둘 다 TLS 인증서 유효한지 확인

### B. 📱 Apple App Store Connect (웹 UI)

Wespion 계정 (`bruce@wespion.com` → WESPION Inc. 팀 전환) 로그인 후:

#### B-1. App Information
- [ ] **카테고리** 선택:
  - Primary: Health & Fitness
  - Secondary: Business
- [ ] **Content Rights** — "Does this app use, display, or reference any copyrighted materials?" → Yes (Roomfit 상표)
- [ ] **Age Rating** 설문 작성 → **4+** 결과 예상
- [ ] **Pricing** — Free (Tier 0)
- [ ] **Availability** — 대한민국, 미국 (필요 시 추가)

#### B-2. App Privacy
- [ ] `docs/legal/data-safety-roomfit-studio.md` 내용 그대로 입력
- [ ] Privacy policy URL: `https://www.wespion.com/legal/privacy-studio`

#### B-3. Prepare for Submission (iOS)
- [ ] 앱 아이콘 — 자동 감지 (이미 업로드됨)
- [ ] **Screenshots** — `apps/b2b/fastlane/screenshots/ios/ko/*.png` 5장 + `en-US/*.png` 5장 드래그 업로드 (12.9" iPad Pro 필수)
- [ ] **App Review Information**:
  - First name, Last name: Bruce Choe
  - Phone: (Wespion 대표번호)
  - Email: bruce@wespion.com
  - Sign-in required: **Yes**
  - Demo account:
    - Username: (리뷰어용 테스트 계정 생성 필요 — 오너/트레이너 권한)
    - Password: (임시 비밀번호)
  - Notes: "This is a B2B tablet app. Use the provided trainer account to explore dashboard, members and sessions tabs. BLE machine pairing features require a Roomfit hardware device, but the manual session flow can be tested without hardware."
- [ ] **Export Compliance**: 'No' to custom encryption (이미 Info.plist 설정됨)
- [ ] **Content Rights**: Yes — copyrighted material is Wespion's own
- [ ] **Advertising Identifier**: No
- [ ] Version, build, copyright: `1.0.0`, `2`, `© 2026 Wespion Inc.`
- [ ] **Submit for Review**

#### B-4. Paid Applications Agreement
- [ ] 현재 무료 앱이므로 **불필요**. 향후 IAP 도입 시 ASC → Business → Paid Apps Agreement 서명

### C. 🤖 Google Play Console (웹 UI)

#### C-1. 앱 콘텐츠 설정 (Dashboard → 앱 콘텐츠)
- [ ] **Privacy policy**: `https://www.wespion.com/legal/privacy-studio`
- [ ] **App access**: "All or some functionality is restricted" → 리뷰어용 테스트 계정 제공
- [ ] **Ads**: "No, my app does not contain ads"
- [ ] **Content ratings** (IARC 설문) — 모든 연령
- [ ] **Target audience**: 18+
- [ ] **News app**: No
- [ ] **COVID-19 contact tracing**: No
- [ ] **Data safety** — `docs/legal/data-safety-roomfit-studio.md` 내용 입력
- [ ] **Government apps**: No
- [ ] **Financial features**: No
- [ ] **Health**: "App collects health & fitness data from users" → Yes (운동 기록)

#### C-2. Android 개발자 인증
- [ ] Play Console 홈 배너의 **"Android 개발자 인증으로 이동"** 에서 개발자 신원 확인 (사업자 정보·주소·연락처 검증)

#### C-3. Main Store Listing (스토어 등록정보)
- [ ] App name, short description, full description — `apps/b2b/fastlane/metadata/android/ko-KR/*.txt` 내용 붙여넣기 (영어 탭도 en-US)
- [ ] App icon — 자동 감지
- [ ] Feature graphic — `fastlane/metadata/android/ko-KR/images/featureGraphic.png` 업로드
- [ ] Phone screenshots — **최소 2장 필요**. 태블릿 스크린샷을 7인치에도 등록하거나, 폰 사이즈로 별도 제작 필요
- [ ] 7-inch tablet screenshots — 태블릿용 스크린샷 (같은 이미지 사용 가능)
- [ ] 10-inch tablet screenshots — `fastlane/screenshots/android/tenInchScreenshots/*.png` 5장
- [ ] Primary category: **Health & Fitness**
- [ ] Tags: (선택 가능한 3개) — Workout, Training, Fitness tools
- [ ] Email: bruce@wespion.com
- [ ] Website: https://www.wespion.com

#### C-4. Production Release
- [ ] **프로덕션** 트랙 → 새 버전 만들기
- [ ] AAB 업로드 (Internal testing에서 promote 또는 v1.0.1 신규 빌드)
- [ ] 출시 노트 (ko-KR / en-US)
- [ ] **국가 타겟**: 대한민국, 미국 (필요 시 추가)
- [ ] **부분 출시(Rollout) 비율**: 최초 배포 시 10% 권장 → 문제 없으면 24~48시간 내 100%
- [ ] **검토 제출**

### D. 🎨 앱 품질 추가 체크 (선택, 리젝 방지용)

- [ ] **스플래시 화면**: 현재 Flutter 기본. 공식 RF 로고 사용하는 스플래시로 교체 권장
  - iOS: `ios/Runner/Assets.xcassets/LaunchImage.imageset/` + Storyboard
  - Android: `android/app/src/main/res/drawable*/launch_background.xml`
- [ ] **빈 상태(empty state)** UX: 첫 로그인 시 샵 없을 때 UI, 멤버 0명일 때 UI 개선
- [ ] **한국어 localization 체크**: `fastlane/metadata/` 텍스트와 앱 내 실제 문구 일관성
- [ ] **Crash-free 세션율** >= 99% 내부 테스트로 검증
- [ ] **TestFlight 내부 베타 7일 이상** 실사용 후 이슈 0건 확인 → App Store 심사 제출

### E. 🧪 리뷰어용 Demo 계정 준비

App Store + Play Store 심사 팀이 **"자격 증명으로 로그인해야 앱을 사용할 수 있다"** 고 판단하면 거부함. 제출 전 필수:

- [ ] Supabase에 `demo-reviewer@wespion.com` 계정 생성
- [ ] 해당 계정에 "Owner" 역할 + 샘플 샵·회원·세션 데이터 시드
- [ ] 비밀번호를 App Review Information 에 기재
- [ ] 앱 내 BLE 없이도 기능 탐색 가능한 UI 흐름 확인 (수동 세션 기록 모드)

### F. 📄 비즈니스 관련

- [ ] **상표권(Roomfit)** 등록 현황 확인 — 스토어 등록 시 소유권 증빙 요청 가능성
- [ ] **사업자등록증** PDF 준비 (Play Console 개발자 인증 제출용)
- [ ] **부가세 정보** — 유료 전환 시 필요

---

## 권장 배포 순서

1. **오늘**: 개인정보처리방침 / 지원 페이지 wespion.com 호스팅 (C항의 선행 조건)
2. **오늘~내일**: Play Console 앱 콘텐츠 설문 + 스토어 등록정보 입력 → **프로덕션 Rollout 10%**
3. **내일**: App Store Connect 앱 정보 + 스크린샷 + 데모 계정 준비 → **Submit for Review** (심사 24~48시간)
4. **심사 승인 후**: Play 100% 롤아웃 + iOS 수동 Release

---

## 아티팩트 위치 (레퍼런스)

| 카테고리 | 경로 |
|---|---|
| Privacy Policy HTML | `docs/legal/privacy-policy-studio.html` |
| Privacy Policy (KO Markdown) | `docs/legal/privacy-policy-studio.ko.md` |
| Privacy Policy (EN Markdown) | `docs/legal/privacy-policy-studio.en.md` |
| Data Safety 선언서 | `docs/legal/data-safety-roomfit-studio.md` |
| iOS 메타데이터 | `apps/b2b/fastlane/metadata/ios/{ko,en-US}/` |
| Android 메타데이터 | `apps/b2b/fastlane/metadata/android/{ko-KR,en-US}/` |
| Feature graphic | `apps/b2b/fastlane/metadata/android/{ko-KR,en-US}/images/featureGraphic.png` |
| iOS 스크린샷 | `apps/b2b/fastlane/screenshots/ios/{ko,en-US}/*.png` |
| Android 태블릿 스크린샷 | `apps/b2b/fastlane/screenshots/android/tenInchScreenshots/*.png` |
| 배포 자격증명 | 메모리 `project_wespion_deploy_credentials.md` · 1Password "Dev Credentials" vault |
| 릴리즈 워크플로우 | Obsidian `08-Resources/Workflows/WF-roomfit-studio-release.md` |
