From d1dd19d5a34c9bb6fb4719ce62ae179df41d1868 Mon Sep 17 00:00:00 2001 From: sb Date: Sun, 5 Jul 2026 16:15:45 +0900 Subject: [PATCH] =?UTF-8?q?docs+policy:=20AI(Anthropic)=20=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=ED=84=B0=20=EC=B2=98=EB=A6=AC=20=EA=B3=A0=EC=A7=80=20?= =?UTF-8?q?+=20=EB=9F=B0=EC=B9=98=20=EB=AC=B8=EC=84=9C=20=ED=98=84?= =?UTF-8?q?=ED=96=89=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 개인정보처리방침(terms.js §2·§3): 처리자 Anthropic(Claude) 명시, 전송 데이터 범위·학습 미사용·서버 키보관 고지. OCR은 AI 보조/폴백으로 갱신. 적용일 2026-07-05 - play-store-listing.md 데이터안전: AI 편의 기능 처리 위탁 명시(공유 아님) - LAUNCH-PROGRESS.md: AI 기능 완료 반영, 가계부 오류 해결 표시, v3/재개지점 정리 Co-Authored-By: Claude Opus 4.8 --- brand/LAUNCH-PROGRESS.md | 32 +++++++++++++++++--------------- brand/play-store-listing.md | 11 ++++++++++- src/constants/terms.js | 13 ++++++++++--- 3 files changed, 37 insertions(+), 19 deletions(-) diff --git a/brand/LAUNCH-PROGRESS.md b/brand/LAUNCH-PROGRESS.md index f552ade..4dfef69 100644 --- a/brand/LAUNCH-PROGRESS.md +++ b/brand/LAUNCH-PROGRESS.md @@ -119,28 +119,30 @@ 2. (선택) 첫 실행 온보딩 / Play 인앱 리뷰 / 생체 인증 3. **조직 계정 전환 + 기프트콘 교환** — 사업자등록→DUNS→앱이전, B2B 기프트콘 매입 -### 🤖 AI 기능 (★ 정식 출시 전 적용 희망) -- 전제: **LLM API 키**(Claude Haiku 4.5 권장 — 학습 미사용·톤 우수·저렴 / 또는 Gemini 무료쿼터) + **개인정보처리방침·데이터안전 갱신**(제3자 LLM 추가). 백엔드 프록시·키 서버보관·실패 시 폴백. -- **AI 입력 보조** (편의성, 1순위) - - ① **자연어 한 줄 입력** — "어제 스타벅스 5천원" → 폼 자동 채움(기존 parseText를 LLM 기반으로). 음성=기기STT+① - - ② **영수증 사진 → AI 구조화** — 멀티모달 LLM이 총액·날짜·가맹점·분류 추천(기존 Vision OCR 보강/대체) - - ③ **자동 분류 추천** — 가맹점/메모→분류 제안 - - 원칙: AI는 폼 prefill만, **사용자 확인 후 저장** -- **AI 재무 코멘트** — 자산·수입·예상지출 기반 한마디("이러다 파산각" 등). 일1회 캐시·집계수치만 전송. +### 🤖 AI 기능 — ✅ 구현·배포 완료 (2026-07-05) +- 백엔드: `AiEntryParser`(Claude Haiku 4.5, raw HTTP `/v1/messages`), 키는 서버 `/opt/sb-backend/.env`(`ANTHROPIC_API_KEY`), 실패/미설정 시 규칙기반·Google Vision OCR 폴백. +- ✅ **① 자연어 한 줄 입력** — "어제 스타벅스 5천원" → 폼 자동 채움. 내역 화면 '✨ 빠른 입력' 바 진입점. (음성=iOS 키보드 받아쓰기, 실기기 확인) +- ✅ **② 영수증 사진 → AI 구조화** — Claude Vision이 금액·상호·날짜·분류·계좌 추출(`/ocr/receipt-ai`), 실패 시 Google Vision 폴백. +- ✅ **③ 분류·계좌 자동 추천** — 사용자 실제 분류·계좌 목록 중에서 선택(할루시네이션 방지 검증). +- ✅ **AI 재무 코멘트 + 절약 가이드** — 통계 화면, **집계 수치만** 전송(거래 원문 미전송), 정중체. 예상 지출은 비결정성 때문에 **결정적 계산**(일회성 큰 지출 제외)으로 분리. +- ✅ **개인정보처리방침·데이터안전 갱신** — 처리자 Anthropic(Claude) 명시, 전송 데이터 범위·학습 미사용 고지 (terms.js §2·§3, play-store-listing.md 데이터안전). +- 원칙 준수: AI는 폼 prefill·참고 코멘트만, **저장은 사용자 확인 후**. --- ## 🔨 빌드 상태 - **v2** (versionCode 2, 1.0.1): 비공개 테스트 게시·검토통과 -- **v3** (versionCode 3): 위 'v2 이후 추가' 항목 전부 반영 예정 — 빌드 후 비공개 트랙 업로드 (14일 카운트 리셋 안 됨) - - ⚠️ 빌드 전 서버 `.env`에 `SQL_INIT_MODE=always` 추가 필요 (budget_onetime 테이블 자동 생성) - - ⚠️ 가계부 내역 오류 미해결 — 서버 로그 + DevTools 확인 후 빌드 +- **v3** (versionCode 3): 위 'v2 이후 추가' + **AI 기능(자연어·영수증·분류/계좌·재무코멘트)** 전부 반영 — 빌드 후 비공개 트랙 업로드 (14일 카운트 리셋 안 됨) + - ⚠️ 빌드 전 서버 `.env`에 `SQL_INIT_MODE=always`(budget_onetime) + `ANTHROPIC_API_KEY`(AI) 확인 + - ✅ 가계부 내역 오류 해결됨 (2026-07-05) --- ## 다음 세션 재개 지점 1. **테스터 12명 opt-in 진행상황 확인**(업체 의뢰) → 12명 + 14일 연속 충족되면 **프로덕션 액세스 신청**(`production-access-draft.md`) -2. **가계부 내역 오류 디버깅** — 서버 로그(`journalctl -u sb-backend`) + DevTools Network 탭 -3. **v3 AAB 빌드 후 비공개 트랙 업로드** — 테스터에게 최신본 제공 - - ⚠️ 서버 `.env`에 `SQL_INIT_MODE=always` 추가 필요 (budget_onetime 테이블 자동 생성) -4. **일회성 예산(BudgetOnetime) 백엔드** — 미커밋 로컬 작업 존재 (`sb_bt` stash 상태 확인) +2. **v3 AAB 빌드 후 비공개 트랙 업로드** — 이번 세션 AI 기능 + 이전 변경 전부 반영 + - ⚠️ 서버 `.env`: `SQL_INIT_MODE=always`(budget_onetime) + `ANTHROPIC_API_KEY`(AI) 확인 + - ⚠️ 방침/데이터안전 갱신본이 웹(www.sblog.kr/privacy)에 배포됐는지 확인 후 심사 제출 +3. **일회성 예산(BudgetOnetime) 백엔드** — 미커밋 로컬 작업 존재 (`sb_bt` stash 상태 확인) +4. (선택) **음성 전용 🎤 버튼** — `@capacitor-community/speech-recognition`(현재는 iOS 키보드 받아쓰기로 대체 가능) +5. **iOS(App Store) 트랙** — 실기기 빌드 확인 완료. 애플 개발자 승인·번들ID·App Store 심사는 Play와 독립 진행 diff --git a/brand/play-store-listing.md b/brand/play-store-listing.md index be05801..161b3d7 100644 --- a/brand/play-store-listing.md +++ b/brand/play-store-listing.md @@ -78,7 +78,7 @@ ### 개요 질문 - 데이터를 수집하나요? → **예** -- 데이터를 제3자와 공유하나요? → **아니요** (광고 끔. OCR은 처리 위탁이며 별도 공유 아님) +- 데이터를 제3자와 공유하나요? → **아니요** (광고 끔. OCR·AI(Anthropic)는 대행 처리(처리 위탁)이며 Google Play 기준 '공유'에 해당하지 않음) - 전송 중 데이터가 암호화되나요? → **예** (HTTPS) - 사용자가 데이터 삭제를 요청할 수 있나요? → **예** (앱 내 '회원 탈퇴' + 이메일 요청, https://www.sblog.kr/account-deletion) @@ -100,6 +100,15 @@ > ✅ 광고를 껐으므로 **광고 식별자(기기 ID) 수집/공유가 없습니다** — 데이터 안전 양식이 단순해지고 심사 불일치 리스크가 사라졌습니다. +### AI 편의 기능의 데이터 처리 (처리 위탁, 공유 아님) +> 아래는 개인정보처리방침 3항과 정합. 회원이 해당 기능을 쓸 때에만, 기능 수행 목적으로 Anthropic(Claude) API에 전송됨. Anthropic은 학습에 사용하지 않고, 서비스도 별도 저장하지 않음(폼 자동 채움용). API 키는 서버 보관. +> - 자연어 한 줄 입력: 입력 텍스트 → 금액·분류 등 구조화 +> - 영수증 사진 구조화: 영수증 이미지 → 금액·상호·날짜·분류 +> - 분류·계좌 자동 추천: 분류·계좌 '이름' 목록 +> - 재무 코멘트: 이번 달 **집계 수치만**(개별 거래 원문 미전송) +> +> Play 데이터 안전에서 위 데이터 유형(금융 정보·사진)의 **공유 여부는 계속 '아니요'** (대행 처리는 공유 아님). 다만 방침에 처리자(Anthropic)를 명시했으므로 심사자 교차확인에도 일치함. + --- ## 3. 콘텐츠 등급 설문 (IARC) diff --git a/src/constants/terms.js b/src/constants/terms.js index 0921cfa..4dc6f13 100644 --- a/src/constants/terms.js +++ b/src/constants/terms.js @@ -2,7 +2,7 @@ // 서비스명: 돈돼지 가계부 (가계부·자산·예산 관리) export const SERVICE_NAME = '돈돼지 가계부' -export const EFFECTIVE_DATE = '2026-06-28' +export const EFFECTIVE_DATE = '2026-07-05' // 개인정보 보호 문의 — 운영자 연락처(필요 시 변경) export const CONTACT_EMAIL = 'sbsb401824@gmail.com' @@ -63,15 +63,22 @@ export const PRIVACY_POLICY = `${SERVICE_NAME}(이하 "서비스")는 이용자 2. 수집·이용 목적 - 회원 식별 및 로그인 등 계정 관리 - 가계부·자산·예산 관리 기능 제공 및 회원 데이터 보관 +- AI 기반 편의 기능 제공(자연어 한 줄 입력, 영수증 사진 구조화, 분류·계좌 자동 추천, 이번 달 집계 기반 재무 코멘트) - 유료 구독 결제 검증 및 구독(자동 갱신·해지) 관리 - (향후 도입 시) 무료 회원 대상 광고 제공 - 서비스 운영, 문의 응대 및 부정 이용 방지 3. 처리위탁 및 제3자 서비스는 기능 제공을 위해 아래 사업자의 서비스를 이용하며, 필요한 범위에서 정보가 처리될 수 있습니다. -- Google: 구글 로그인(인증), 인앱결제(Google Play), 영수증 문자 인식(Google Cloud Vision OCR) +- Google: 구글 로그인(인증), 인앱결제(Google Play), 영수증 문자 인식(Google Cloud Vision OCR — AI 인식의 보조·폴백) +- Anthropic(Claude): AI 편의 기능 처리. 회원이 해당 기능을 사용할 때에 한해 아래 정보가 처리 목적 범위에서 전송됩니다. + · 자연어 한 줄 입력: 회원이 입력한 텍스트(예: "어제 스타벅스 5천원") + · 영수증 사진 구조화: 회원이 촬영·선택한 영수증 이미지 + · 분류·계좌 자동 추천: 회원의 분류·계좌 '이름' 목록 + · 재무 코멘트: 이번 달 집계 수치(수입·지출·예산·분류별 합계 등)로 한정하며, 개별 거래 원문은 전송하지 않습니다. + Anthropic은 API로 전송된 데이터를 AI 모델 학습에 사용하지 않습니다. API 키는 서버에만 보관되며 앱에 노출되지 않습니다. - Kakao(카카오): 광고 노출(카카오 애드핏) — 향후 광고 도입 시, 무료 회원에 한함 -영수증 OCR은 회원이 촬영·선택한 영수증 이미지를 텍스트 인식 목적으로만 처리합니다. 서비스는 회원의 개인정보를 위 목적 외로 외부에 판매하지 않습니다. +영수증 인식·AI 편의 기능은 회원이 제공한 정보를 해당 기능 수행 목적으로만 처리하며, 결과는 폼 자동 채움·참고 코멘트 용도로 저장은 회원 확인 후 이루어집니다. 서비스는 회원의 개인정보를 위 목적 외로 외부에 판매하지 않습니다. 4. 광고 - 현재 서비스에는 광고가 표시되지 않습니다.