TezStudio EN
개인정보처리방침

Basket

Last updated · 2026-11-02

1. 개요

TezStudio(이하 "스튜디오")는 Basket — 오늘 장보기(이하 "앱") 사용자의 개인정보를 소중히 다루며, 「개인정보 보호법」 등 관련 법령을 준수하여 본 방침에 따라 처리합니다.

앱의 기본 기능은 로그인 없이 기기 안에서만 동작합니다. 로그인은 가족 공유와 기기 간 동기화를 사용할 때만 필요하며, 로그인한 사용자의 장바구니·구매 기록·가족 그룹 정보는 Firebase 서버에 저장됩니다.

2. 수집하는 정보

2-1. 사용자가 앱에 입력하는 정보 (비로그인 시 기기 저장만)

  • 장보기 품목: 이름, 가격, 수량, 체크 여부
  • 구매 기록: 날짜, 품목 목록(이름·가격·수량), 합계 금액, 생성 시각
  • 월 예산, 온보딩·앱 리뷰 상태 (기기에만 저장, 서버로 전송되지 않음)

로그인하지 않은 경우 위 정보는 사용자 기기 내부(AsyncStorage)에만 저장되며 서버로 전송되지 않습니다.

2-2. 계정 정보 (로그인 시 Firebase Authentication)

  • Apple ID 또는 Google ID — Firebase Authentication 식별자
  • 이메일 주소·표시 이름 — Apple/Google 로그인 시 자동 제공(Apple 로그인에는 이메일·이름 요청)
  • 프로필 사진 URL(photoURL) — Google 로그인 시 제공되는 경우

2-3. 로그인 시 서버 저장 데이터 (Firestore basket-db)

로그인한 사용자의 데이터는 가족 공유 사용 여부와 관계없이 Firestore에 저장되어 기기 간 동기화에 사용됩니다. 처음 로그인할 때 기기에 있던 장바구니와 구매 기록이 서버로 한 번 업로드됩니다.

  • users/{uid}: email, displayName, photoURL, provider(apple/google), updatedAt, familyId. 서버 전용 필드 hasRemovedAds·removeAdsPurchasedAt(앱은 읽기만, 쓰기는 서버가 수행)
  • users/{uid}/cartItems: 장바구니 품목(이름·가격·수량·체크 여부·추가한 사람 uid와 표시 이름·생성/수정 시각)
  • users/{uid}/purchaseRecords: 구매 기록(날짜·품목·합계 금액·구매한 사람 uid와 표시 이름·생성 시각)
  • families/{id}: 그룹 이름, 방장 uid, 멤버 목록(uid·표시 이름·역할·가입 시각·provider), 6자리 초대 코드(24시간 유효)
  • families/{id}/cartItems, families/{id}/purchaseRecords: 가족에 속한 경우 장바구니·구매 기록은 users/{uid} 아래가 아닌 families 아래에 저장됩니다.

2-4. 광고 식별자

  • iOS: App Tracking Transparency(ATT)를 허용한 경우에만 IDFA가 Google Mobile Ads(AdMob)에 사용됩니다.
  • Android: 광고 ID(AAID)가 사용됩니다. 기기 설정에서 광고 ID를 초기화하거나 개인 맞춤 광고를 끌 수 있습니다.
  • 기기 정보·IP 주소 — AdMob이 광고 송출을 위해 처리

2-5. Firebase Analytics(GA4) 이벤트

  • 사용 이벤트·화면 조회, 장보기 완료(품목 수·합계 금액), 월 예산 금액, 광고 제거 구매(거래 ID·통화·금액), UMP/ATT 동의 결과 등 기능 이벤트
  • 로그인한 경우 Firebase uid를 Analytics 사용자 ID로 설정(setUserId), 로그아웃 시 해제
  • 품목명·메모 등 자유 입력 글자는 이벤트 파라미터로 전송되지 않습니다. 금액(장보기 합계·월 예산·결제 금액)은 전송됩니다.
  • 시뮬레이터에서는 수집하지 않으며, 실제 기기에서는 개발 빌드도 수집됩니다.

3. 데이터 저장 및 위치

  • 기기 로컬 저장소 (AsyncStorage) — 비로그인 사용 시 모든 데이터, 로그인 사용 시에도 월 예산 등 기기 전용 설정
  • Google Firebase — Firestore(DB 이름 basket-db), Authentication, Analytics(GA4), Remote Config. Google Cloud 인프라에서 운영
  • 전송 구간 모두 HTTPS/TLS 암호화

4. 광고 (UMP·ATT·AdMob)

  • 온보딩이 끝난 직후 다음 순서로 진행됩니다: UMP 동의 → iOS ATT → 광고 SDK 초기화. 이 흐름이 끝나기 전에는 광고를 요청하지 않습니다. 다만 iOS에서 ATT 창에 30초 동안 응답이 없으면 광고 요청을 진행하며, 추적을 허용하기 전까지는 광고 식별자(IDFA)를 사용하지 않습니다.
  • UMP 동의 창은 AdMob 콘솔 설정에 따라 EEA·영국 등 동의가 필요한 지역에서만 표시됩니다. UMP가 광고 요청을 허용하지 않으면 광고 자체가 요청되지 않습니다.
  • EEA·영국 사용자는 맞춤 광고 동의를 처음 실행할 때 선택하고, 이후 앱 안의 설정 > 앱 정보 > 광고 개인정보 설정에서 언제든 바꾸거나 철회할 수 있습니다(해당 지역에서만 메뉴가 노출됩니다). 동의하지 않으면 맞춤이 아닌 광고가 표시됩니다.
  • iOS ATT를 거부해도 광고는 표시되며, 개인화 여부는 Google SDK가 동의·ATT 상태를 보고 처리합니다. 다만 UMP 동의 상태를 확인할 수 없는 경우(응답 시간 초과·오류로 이전에 저장된 동의도 확인되지 않을 때 등)에는 광고를 요청하지 않으며, 이후 동의 상태가 확인되면 그때부터 광고를 요청합니다.
  • EEA 등 동의가 필요한 지역에서는 동의 확인 전에 광고 관련 3개 항목(광고 저장·광고 개인화·광고 사용자 데이터)이 기본으로 거부 상태이며, 동의 확인 뒤에는 사용자의 광고 동의 선택을 따릅니다. 분석 데이터 수집은 광고 동의와 별개로 유지됩니다.
  • 광고 유형: 배너·전면·앱 오픈 3종(보상형·네이티브 없음). 로그인 여부와 관계없이 동일하게 표시됩니다.
  • 자사 앱 홍보 카드: Remote Config 값 house_promo에 따라 배너 자리에 하루 한 번 노출됩니다. 광고 네트워크를 통하지 않으며, 누르면 외부 브라우저에서 마케팅 추적 링크(HTTPS)로 이동합니다. 아이콘 이미지만 외부 URL에서 가져옵니다.

5. 광고 제거 (일회성 인앱 결제)

  • 상품 ID: kr.tez.shopping.basket.removeads, 비소모성(non-consumable), 복원 지원
  • 가격은 Apple App Store·Google Play 각 스토어에 표시된 금액이 기준입니다.
  • 구매하면 광고 3종, 자사 앱 홍보 카드, 냉집사 설치 권유 알림(장보기 완료 후 뜨는 토스트)이 꺼집니다. Firebase Analytics와 Remote Config는 계속 동작합니다.

6. Remote Config

  • 관리 키: house_promo 1개(자사 앱 홍보 카드 내용)
  • 사용자 식별값을 서버에 전송하지 않으며, 1시간 간격으로 값을 가져옵니다.

7. 냉집사로 품목 보내기

  • 이용자가 명시적으로 "냉집사로 보내기"를 눌렀을 때만 동작합니다.
  • 냉집사 앱이 설치되어 있으면 커스텀 URL 스킴 fridge://import를 통해 기기 안에서 앱 간 전달됩니다. 전달 범위는 품목명(60자 이내)과 수량이며 최대 50개입니다. 스튜디오 서버 또는 외부 서버로 전송되지 않습니다.
  • 냉집사 앱이 설치되어 있지 않으면 https://go.tez.kr/fr/basket(스토어로 보내는 마케팅 추적 링크)이 외부 브라우저로 열립니다. 이때 일반 웹 요청 정보(IP, User-Agent 등)가 전달되며, 품목명·수량은 포함되지 않습니다.

8. 제3자 제공·처리위탁

다음 처리위탁 외에는 제3자에게 개인정보를 제공하지 않습니다.

  • Google LLC — Firebase Authentication, Firestore(basket-db), Firebase Analytics(GA4), Remote Config, Google Mobile Ads(AdMob)
  • Apple Inc. — Sign in with Apple
  • Expo (650 Industries, Inc.) — expo-updates를 통한 앱 업데이트 배포(u.expo.dev). 사용자 입력 데이터는 전송되지 않습니다.

외부 AI 서비스로 사용자 입력 데이터를 전송하지 않습니다(앱 내 AI 기능 없음).

9. 보유 기간 및 파기

  • 로컬 데이터: 사용자가 앱 내에서 삭제하거나 앱을 삭제하면 즉시 제거됩니다.
  • 로그아웃: 기기의 장바구니와 구매 기록이 비워집니다. 서버에 저장된 사용자 데이터는 유지되며 재로그인 시 복원됩니다.
  • 회원 탈퇴(계정 삭제): 서버의 users/{uid} 문서와 하위 장바구니·구매 기록이 삭제되고, Firebase Auth 계정이 삭제되며, 기기 데이터도 비워집니다. Apple 로그인 연결은 iPhone 설정 → [내 이름] → Apple로 로그인에서 해당 앱을 선택해 직접 해제할 수 있습니다.
  • 가족 그룹 방장이 탈퇴하는 경우: 그룹이 해산되고, 가족 공유 데이터가 모두 삭제되며, 다른 멤버들의 familyId가 해제됩니다.
  • 방장이 아닌 멤버가 탈퇴하거나 계정을 삭제하는 경우: 멤버 명단에서만 제외되며, 그 사용자가 공유 목록에 추가한 품목과 구매 기록(해당 사용자의 표시 이름·uid 포함)은 가족 데이터에 남습니다.
  • 백업: 장애 복구용으로 시점 복구 7일, 주간 백업 14주 동안 보관한 뒤 자동 삭제. 지운 데이터도 이 기간 동안 백업에 남을 수 있으며 복구 외에는 쓰지 않습니다

10. 사용자 권리

  • 앱 내에서 직접 품목·구매 기록 수정·삭제 가능
  • 로그아웃 — 기기 데이터만 삭제, 서버 데이터 유지
  • 회원 탈퇴 — 설정 → 계정 삭제에서 서버·기기 데이터 일괄 삭제
  • 이메일 요청: supports@tez.kr

11. 요청하는 OS 권한

  • iOS: App Tracking Transparency(ATT)만 사용자에게 요청합니다. 카메라·사진·연락처·알림·위치는 요청하지 않습니다.
  • Android: 사용자에게 따로 허락을 구하는 런타임 권한은 없습니다. 인터넷·결제·진동 권한과, 광고 SDK가 사용하는 광고 ID·광고 측정(개인정보 보호 샌드박스)·설치 경로 확인 권한이 포함됩니다. 외부 저장소·"다른 앱 위에 표시" 권한은 1.6.0에서 제거되었습니다.
  • 클립보드는 가족 초대 코드를 복사할 때만 쓰기 용도로 사용됩니다.

12. 아동 개인정보

본 앱은 만 14세 미만 아동을 대상으로 하지 않으며, 의도적으로 아동의 개인정보를 수집하지 않습니다.

13. 보안 조치

  • 전송 구간 TLS 1.2+ 암호화
  • Firestore 보안 규칙으로 사용자별·가족 그룹별 데이터 접근을 격리
  • 서버 전용 필드(hasRemovedAds·removeAdsPurchasedAt)는 클라이언트에서 읽기만 가능하며, 쓰기는 서버에서만 수행

14. 변경 사항

본 방침이 변경될 경우 앱 또는 본 페이지를 통해 사전 공지합니다.

15. 문의

개인정보 처리 관련 문의 및 권리 행사 요청은 supports@tez.kr 으로 연락 주세요.