DBBD STUDIO · MIRI:MEORI
개인정보 처리방침
미리머리 개인정보 처리방침
디비비디 스튜디오(DBBD Studio, 이하 “회사”)는 미리머리(MIRI:MEORI, 이하 “서비스”)를 운영하면서 이용자의 개인정보를 중요하게 보호하며 「개인정보 보호법」 등 관계 법령을 준수합니다. 이 처리방침은 실제 서비스가 처리하는 개인정보의 항목, 목적, 보유기간, 외부 처리 및 이용자의 권리를 설명합니다.
1. 개인정보처리자 및 적용 범위
• 개인정보처리자: 디비비디 스튜디오(DBBD Studio)
• 대표자: 전상오
• 사업자등록번호: 469-29-01908
• 사업장 주소: 서울특별시 강남구 봉은사로21길 57-11, 302호(논현동)
• 과세유형: 일반과세자
• 업태: 정보통신업
• 종목: 응용 소프트웨어 개발 및 공급업
이 처리방침은 미리머리 앱과 회사가 운영하는 관련 API, 관리자 및 고객지원 기능에 적용됩니다.
2. 개인정보의 처리 목적 및 검토되는 법적 근거
회사는 다음 목적에 필요한 범위에서 개인정보를 처리합니다.
① SNS 회원가입·로그인, 계정 식별과 세션 관리: 서비스 이용계약의 체결·이행
② 원본 사진과 헤어스타일 레퍼런스를 이용한 AI 이미지 생성, 생성 상태와 과거 결과 제공: 서비스 이용계약의 체결·이행
③ AI 생성 결과와 원본 사진의 동일인 검증: 별도의 생체인식정보 처리 동의
④ 계정·기기별 무료 생성 한도, 24시간 재가입 제한, 중복 요청 및 부정 이용 방지: 서비스의 안정성·보안 확보와 부정이용 방지를 위한 정당한 이익
⑤ 빗 구매·사용·복구, 결제 검증과 거래내역 제공: 서비스 이용계약의 이행 및 전자상거래 관련 법적 의무
⑥ 생성 완료 및 1:1 문의 답변 알림: 이용자가 요청한 서비스 기능 제공
⑦ 이용자가 선택한 레퍼런스 공개 공유, 고유 사용 통계와 공유 보상: 이용자의 명시적 공개 선택 및 서비스 기능 제공
⑧ 1:1 문의의 접수·답변·분쟁 대응: 서비스 이용계약의 이행과 이용자 요청 처리
⑨ 접속기록·오류기록을 이용한 장애 대응, 보안, 부정 이용 방지: 서비스의 안전한 운영과 법적 의무
⑩ 보상형 비맞춤형 광고 제공, 광고 보상 확인, 빈도 제한·집계와 부정행위 방지: UMP를 통한 이용자 선택 및 서비스 운영상 필요한 처리
회사는 이용자의 사진, 프롬프트 또는 AI 생성 결과를 회사 자체 AI 모델 학습 데이터로 사용하지 않습니다. Vertex AI 공식 정책에 따라 Google은 고객의 사전 허락이나 지시 없이 고객 데이터를 AI/ML 모델 학습 또는 미세조정에 사용하지 않습니다. Google 서비스 자체의 제한적 캐시와 악용 모니터링은 제10조에서 별도로 안내합니다.
3. 처리하는 개인정보의 항목 및 수집 방법
가. SNS 로그인
• Google: Google 계정 고유 식별자(provider subject), 검증된 이메일, 이름, 프로필 이미지
• Kakao: Kakao 계정 고유 식별자, 검증된 이메일, 닉네임, 프로필 이미지
• Naver: Naver 계정 고유 식별자
• Apple: Apple 계정 고유 식별자와 Apple ID token에 포함된 경우 이메일
앱이 받은 Google ID token, Kakao·Naver access token, Apple identity token과 nonce는 로그인 검증을 위해 서버와 해당 SNS 제공자 사이에서 일시적으로 처리합니다. 회사 데이터베이스에는 SNS access token, ID token, refresh token 또는 authorization code를 저장하지 않습니다.
나. 계정·프로필
내부 account ID, 이용자에게 표시되는 Public ID(MR 형식), 닉네임, 프로필 이미지, 이용자가 설정한 성별, 계정 상태, 생성·수정·마지막 로그인 시각, 만 14세 이상 확인 시각과 당시 이용약관 버전을 처리합니다. 생년월일과 주민등록번호는 수집하지 않습니다.
다. 기기·앱 설치·무료 생성 제한
앱이 생성한 installation UUID는 X-Device-Id 헤더로 서버에 전송됩니다. 서버는 원문을 데이터베이스에 저장하지 않고 HMAC-SHA256 설치 해시, 내부 installation ID, 플랫폼(android·ios·unknown), 생성·최근 접속 시각과 Android 복구키가 있는 경우 그 해시를 저장합니다. 이 정보는 기기 관리, 계정과 기기 양쪽의 일일 무료 생성 제한 및 부정 이용 방지에 사용하며 사진·빗·마이페이지 데이터의 소유자로 사용하지 않습니다.
회원탈퇴 시 SNS 제공자와 provider subject를 비밀키로 HMAC-SHA256 처리한 지문, 탈퇴 시각 및 차단 종료 시각을 24시간 동안 저장하여 동일 SNS 계정의 즉시 재가입을 제한합니다. raw provider subject는 이 제한 테이블에 저장하지 않습니다. 만료된 지문은 인증 요청 시 즉시 삭제하고 DB 정리 작업도 매분 만료 여부를 확인하여 자동 삭제합니다. 단순 로그아웃에는 이 제한을 적용하지 않습니다.
라. 사진·AI 생성 기록
사용자 원본 사진, 사용자가 직접 업로드한 개인 레퍼런스, 선택한 공용·공유 레퍼런스의 생성건 전용 사본, Hair Parser 처리 이미지, composite 이미지의 일시 처리, AI 생성 결과, 생성 상태·유형·처리시간·오류정보, comparison ID, 이미지 object path, 선택한 레퍼런스 식별자, 무료 생성 사용일·사용량을 처리합니다.
마. 얼굴 품질·생체인식정보
사진 등록 전에 ML Kit가 단말기에서 얼굴 수, bounding box, 얼굴 크기·각도, 눈 뜸 확률·랜드마크와 사진 밝기·대비·선명도를 계산합니다. 이 품질검사 결과는 서버에 별도 저장하지 않습니다.
AI 생성 후 서버의 TinyFaceMatch가 원본 사진과 Gemini 원본 결과에서 얼굴 특징 벡터를 일시적으로 생성하여 유사도를 비교합니다. 데이터베이스에는 특징 벡터가 아니라 검증 상태와 0~1 범위의 최종 유사도 점수만 생성 기록과 함께 저장합니다.
바. 푸시 알림
Firebase Cloud Messaging(FCM) registration token, 플랫폼, account ID와 installation ID의 연결을 저장합니다. 생성 완료 알림에는 알림 유형과 comparison ID를, 문의 답변 알림에는 알림 유형과 문의 Public ID를 data payload로 전송합니다. 사진, 이미지 URL, 문의 답변 본문, 이메일, account ID 또는 raw installation UUID는 알림 payload에 넣지 않습니다.
사. 빗·결제·거래
빗 종류별 잔액, 거래 증감액·유형·사유·멱등성 키·관련 생성 또는 보상 식별자, 상품군·상품 ID·빗 수량, 스토어, Google Play purchase token 또는 Apple transaction ID와 영수증 검증정보, order ID, 결제 상태·환경·검증 시각을 처리합니다. 카드번호, 카드 비밀번호 등 결제수단 원문은 회사 서버가 직접 받거나 저장하지 않습니다.
아. 공개 레퍼런스 공유·보상
이용자가 일반 약관과 별도의 공개 레퍼런스 동의문을 확인하고 체크한 경우 공유 이미지, 썸네일, Hair Parser 결과, 성별 분류, 태그, 사용 횟수, 공유자의 Public ID·닉네임·프로필 이미지, 동의 버전·동의 시각, 공유 레퍼런스를 사용한 계정별 고유 사용 기록과 10·20·30명 보상 원장을 처리합니다. 내부 account ID, 이메일, SNS 식별자와 결제정보는 다른 이용자에게 표시하지 않습니다.
자. 1:1 문의
문의번호(Q 형식), 문의 유형, 제목, 내용, 작성·수정 시각, 답변 상태, 선택한 경우 본인 소유 comparison 식별자, 운영자 답변과 답변 시각을 처리합니다. 다른 계정의 문의와 생성건은 서버에서 account ID 소유권을 재검증하여 접근을 차단합니다.
차. 자동 수집·서비스 이용 기록
Cloud Run과 Cloud Logging에는 접속 IP, User-Agent, 요청 시각·경로·상태코드 등 접속 및 서비스 이용 기록이 자동으로 기록될 수 있습니다. 애플리케이션 로그에는 장애 추적용 comparison ID 등 비민감 식별자를 남길 수 있으나 인증 토큰, 이메일, 원본·signed 이미지 URL과 요청 본문 전체를 기록하지 않는 정책을 적용합니다.
Google Mobile Ads SDK는 광고·분석·부정행위 방지를 위해 IP 주소, 앱 실행·탭·동영상 시청 등 이용자 상호작용, SDK 진단정보, Android 광고 ID·App Set ID 등 기기·계정 식별자를 자동으로 수집·공유할 수 있습니다. 회사 서버는 광고 ID를 데이터베이스에 저장하지 않습니다.
4. 이미지·AI 처리와 저장 구조
① 로그인과 필수 동의를 마친 이용자가 원본 사진과 레퍼런스를 업로드하면 서버는 비공개 Google Cloud Storage(GCS)에 저장하고 comparison을 생성합니다.
② Cloud Tasks에는 작업 수행에 필요한 comparison ID만 전달하며 이미지 바이트를 payload에 넣지 않습니다.
③ Worker는 GCS에서 원본과 레퍼런스를 읽습니다. 공용 레퍼런스는 Parser cache를 사용하고, 개인 레퍼런스는 서비스 계정 인증이 필요한 Hair Parser Cloud Run에 이미지 바이트를 전송하여 얼굴 영역을 마스킹합니다.
④ 서버는 사용자 원본을 큰 메인 사진으로, Parser 레퍼런스를 작은 inset으로 합친 composite 이미지 한 장을 메모리에서 생성합니다.
⑤ Vertex AI/Gemini에는 헤어스타일 변환 프롬프트와 composite 이미지 한 장만 전달합니다. account ID, Public ID, 이메일, installation UUID, FCM token 또는 결제정보는 전달하지 않습니다.
⑥ Gemini 원본 결과는 GCS에 먼저 저장하지 않고 TinyFaceMatch 동일인 검증에 사용합니다. 최종 채택 이미지에는 서버가 원본 이미지 아래 별도 여백에 “AI 이미지 생성” 표시를 붙인 뒤 generated 경로에 저장합니다.
⑦ 최종 실패한 유료 생성은 빗을, 무료 생성은 해당 요청이 사용한 계정·기기 무료횟수를 멱등하게 복구합니다.
현재 GCS 버킷은 서울 `asia-northeast3` 단일 리전에 있고 Public Access Prevention과 Uniform Bucket-Level Access가 적용되어 있습니다. 객체는 대략 다음 경로에 저장됩니다.
• originals/{accountPublicId}/{comparisonPublicId}/: 사용자 원본
• references/private/{accountPublicId}/{comparisonPublicId}/: 개인 또는 생성건 전용 레퍼런스
• generated/{accountPublicId}/{comparisonPublicId}/: 최종 생성 이미지
• avatars/{accountPublicId}/: 이용자 프로필 이미지
• references/shared/{referencePublicId}/: 이용자가 공개한 레퍼런스의 썸네일·Parser 파생본
• references/ 및 references/thumbnail/: 운영자가 제공하는 공용 레퍼런스
• references/parser/: 공용 레퍼런스 Parser cache
• temp/generation-debug/{comparisonPublicId}/: 진단 기능을 명시적으로 활성화한 경우에만 생성되는 A/B/C 단계 이미지
운영자 공용 레퍼런스는 특정 계정의 개인정보가 아니므로 계정 탈퇴나 개인 생성 기록 삭제로 삭제하지 않습니다. 진단 이미지 저장 기능은 운영 환경에서 사용하지 않는 정책이며, 활성화하려면 별도 접근통제·승인·파기 절차를 먼저 정해야 합니다.
5. 생체인식정보의 처리
처리 목적: AI 생성 결과가 원본 사진의 주된 인물과 동일한 사람인지 확인하고 잘못된 결과를 탐지하기 위함입니다.
처리 항목: 원본 사진과 AI 원본 결과에서 TinyFaceMatch가 일시적으로 생성하는 얼굴 특징 벡터 및 유사도 값입니다.
처리 방법: Cloud Run 내부의 TinyFaceMatch Python·ONNX 처리기가 얼굴 특징을 추출하여 비교합니다. 여러 얼굴이 있으면 원본과 결과 모두 bounding box 면적이 가장 큰 얼굴을 대표 얼굴로 선택합니다.
보유기간: 얼굴 특징 벡터는 검증 프로세스의 메모리·임시 실행 영역에서만 사용하고 검증 종료 후 별도로 저장하지 않습니다. DB, GCS, 로그, API 응답 또는 Vertex AI/Gemini 입력에 특징 벡터를 기록하지 않습니다. DB에는 검증 상태와 최종 유사도 점수만 해당 comparison과 함께 보관합니다.
동의 거부: 이용자는 생체인식정보 처리에 동의하지 않을 수 있습니다. 다만 동일인 검증은 AI 생성에 필요한 절차이므로 동의하지 않으면 AI 이미지 생성 기능을 이용할 수 없습니다.
6. 개인정보의 처리 및 보유기간
• SNS identity·프로필·동의기록·문의: 회원탈퇴 또는 해당 데이터 삭제 시까지
• account DELETED 최소 기록: 회원탈퇴 즉시 SNS identity·프로필·동의·이미지·문의 등 일반 개인정보를 삭제합니다. 재가입 제한 24시간이 지나면 사용자용 Public ID도 무작위 비식별 값으로 교체하고, 내부 account UUID·DELETED 상태·삭제 시각만 법정 보존 거래와의 참조 무결성을 위해 분리 보관합니다. 해당 최소 기록은 로그인·프로필·마이페이지 용도로 이용하지 않습니다.
• 재가입 제한 지문: 회원탈퇴 시점부터 24시간. 만료 시 인증 요청 및 매분 실행되는 DB 정리 작업에서 자동 삭제
• 원본·개인 레퍼런스·생성 결과와 comparison: 이용자가 해당 생성 기록을 직접 삭제하거나 회원탈퇴할 때까지
• 공개 공유 이미지·썸네일·Parser 결과·태그: 이용자가 공유를 해제하거나 생성 기록 삭제 또는 회원탈퇴할 때까지
• 얼굴 특징 벡터: 동일인 검증 중 일시 처리 후 별도 저장하지 않음
• 얼굴 검증 상태와 유사도 점수: 해당 comparison 삭제 또는 회원탈퇴 시까지
• installation 해시와 기기·계정 무료 생성 사용량: 활성 기기·계정의 현재 사용량은 서비스 제공에 필요한 동안 유지합니다. 회원탈퇴 시 installation과 계정의 연결을 즉시 해제하고, 마지막 활동일로부터 30일이 지난 비활성 installation HMAC·복구키 HMAC·FCM token 및 기기·계정 일일 무료 사용량은 자동 삭제합니다. 30일 보관은 탈퇴·재가입 반복에 의한 무료 생성 우회 및 부정이용 대응 목적입니다. 이 테이블에는 raw SNS subject를 저장하지 않습니다.
• FCM token: 회원탈퇴 시 삭제. 앱 로그아웃 후에는 다음 로그인 계정으로 등록이 갱신될 수 있으며, 무효 token은 FCM 전송 실패 시 정리합니다.
• Cloud Run 요청·애플리케이션 로그: 운영 `_Default` 로그 버킷에서 30일
• 삭제 작업 manifest와 오류기록: 삭제 멱등성·재시도를 위해 보관합니다. 완료된 deletion_requests와 그 deletion_objects는 완료 후 30일에 자동 삭제합니다. 실패 건은 재시도 중에만 유지하되 failed_at 기준 최대 90일 후 자동 삭제합니다. manifest에는 이미지 바이트가 아니라 삭제 대상 object path, 종류, 상태, 시도 횟수와 정규화된 오류 코드만 저장합니다.
• GCS 객체: 위 이미지별 보유기간까지. 이용자가 삭제하면 서비스에서 즉시 접근할 수 없게 되며, 현재 GCS Soft Delete 설정에 따라 관리자 복구 가능 상태가 7일간 유지된 후 영구 삭제
• FCM 미전달 메시지: TTL을 별도로 지정하지 않은 현재 구현에서는 FCM 정책상 최대 4주간 전달 재시도 가능
• Vertex AI 입력·출력: 제10조에 기재한 Google의 제한적 처리기간 적용
전자상거래 관련 법령이 적용되는 경우 다음 기록을 일반 회원정보 및 이미지와 분리하여 보관합니다.
• 표시·광고에 관한 기록: 6개월
• 계약 또는 청약철회 등에 관한 기록: 5년
• 대금결제 및 재화 등의 공급에 관한 기록: 5년
• 소비자의 불만 또는 분쟁처리에 관한 기록: 3년
Google Play·Apple App Store 구매검증 원장(token_purchases)은 계약·대금결제 증빙으로 일반 회원정보와 분리하여 회원탈퇴 후 최대 5년 보관합니다. 빗 잔액·사용·환불·보상 기록(token_balances·token_transactions)은 결제 증빙과 구분되는 내부 서비스 원장이며, 법정 보존 사유가 없는 경우에도 분쟁·정산 대응을 위해 회원탈퇴 후 최대 5년을 넘기지 않고 자동 삭제합니다. 소비자 불만·분쟁 기록은 관련 법령에 따라 3년, 표시·광고 기록은 6개월 보관하며 더 긴 법정 보존 사유가 있으면 해당 범위에서만 분리 보관합니다.
7. 개인정보의 파기절차 및 방법
처리 목적이 끝나고 법정 보존 사유가 없으면 지체 없이 파기합니다. 전자적 파일은 복구·재생이 어렵도록 삭제하고 DB 행은 삭제하거나 재식별할 수 없는 형태로 정리합니다. 법정 보존 대상은 다른 개인정보와 논리적으로 분리하고 목적 외로 이용하지 않습니다.
생성 기록 삭제 시 해당 comparison의 사용자 원본, 개인 레퍼런스, 생성 결과, 공유 썸네일·Parser cache 및 DB 생성 기록을 삭제합니다. null 경로나 이미 없는 객체는 삭제 완료로 처리하고, 권한·서비스 오류가 발생한 객체는 삭제 작업에 기록하여 재시도합니다. 앱 기본 공용 레퍼런스와 다른 이용자 소유 객체는 삭제하지 않습니다.
회원탈퇴 시 계정을 DELETION_PENDING으로 전환하여 서비스 이용을 차단하고, 삭제 대상 GCS 객체의 manifest를 확정한 뒤 객체 삭제를 수행합니다. 객체 삭제가 확인된 후 comparison, 공유 레퍼런스, 문의, SNS identity, 프로필, 동의, FCM token을 삭제·비식별화하고 계정을 DELETED로 전환합니다. GCS 삭제 실패를 숨긴 채 완료 처리하지 않으며 같은 탈퇴 요청은 멱등하게 재시도할 수 있습니다.
8. 개인정보의 제3자 제공 및 공개 공유
회사는 원칙적으로 이용자의 개인정보를 외부 사업자의 독립적인 목적을 위해 제공하지 않습니다. 법률에 근거하거나 수사기관 등 적법한 절차에 따른 요구가 있는 경우 해당 법령 범위에서 제공할 수 있습니다.
이용자가 일반 약관과 분리된 “공개 레퍼런스 공유 동의”의 현재 버전을 확인하고 체크한 경우에만 공유 이미지, 성별 분류, 태그, 사용 횟수와 공유자의 Public ID·닉네임·프로필 이미지가 다른 서비스 이용자에게 공개됩니다. 동의 버전과 시각은 account·comparison에 연결해 기록합니다. 내부 account ID, 이메일, SNS 식별자와 결제정보는 공개하지 않습니다. 이용자는 공유를 해제하거나 기록을 삭제할 수 있고, 회원탈퇴 시 본인이 제공한 공유 레퍼런스와 파생본을 삭제합니다. 다른 이용자가 이미 생성하여 소유하는 완성 결과 이미지는 함께 삭제하지 않습니다. 별도 동의 기록이 없는 기존 공유 이미지는 동의한 것으로 간주하지 않고 공개 목록과 신규 생성에서 제외하며, 소유자가 현재 동의문에 다시 동의해야 공유할 수 있습니다.
9. 개인정보 처리업무 위탁
회사는 서비스 제공을 위해 다음 외부 서비스를 이용합니다. 각 서비스의 계약·개인정보 문서와 실제 프로젝트 설정 범위에서 처리 목적을 표시합니다.
• Google Cloud: Cloud Run 서버·Hair Parser·TinyFaceMatch 실행, Cloud Storage 이미지 저장·삭제, Cloud Tasks 작업 전달, Cloud Logging 운영 로그, Vertex AI/Gemini AI 이미지 생성
• Supabase: PostgreSQL 데이터베이스 호스팅. Supabase Auth, Supabase Storage 및 Supabase Edge Functions는 사용하지 않음
• Firebase Cloud Messaging: 생성 완료 및 문의 답변 알림 전송
• Google Mobile Ads: 보상형 광고 제공, 광고 성과 측정, SDK 진단 및 부정행위 방지
• Google Play 및 Apple App Store: 인앱 결제와 구매 검증
• Google·Kakao·Naver·Apple: 이용자가 선택한 SNS 계정 인증과 고유 식별자 확인
10. 개인정보의 국외이전
현재 서비스에는 대한민국 외 지역에서 처리될 수 있는 글로벌 외부 서비스가 포함됩니다. 이용자가 SNS 로그인·AI 생성·푸시·광고·스토어 결제를 요청하는 때 서비스 제공 계약 이행 및 이용자 선택에 따라 암호화된 네트워크로 전송합니다. global endpoint처럼 회사가 요청별 처리 국가를 지정하거나 확인할 수 없는 서비스는 특정 국가를 임의 기재하지 않고 그 사실과 제공자의 공개 인프라 범위를 안내합니다. 이용자는 해당 기능을 사용하지 않거나 공개 공유·알림·광고 선택을 철회할 수 있으나, 해당 처리가 기능 수행에 필수인 경우 그 기능은 이용할 수 없습니다.
가. Vertex AI/Gemini
• 이전 항목: 헤어스타일 변환 프롬프트, 얼굴이 포함된 composite 이미지 한 장, AI 생성 결과
• 목적: AI 헤어스타일 이미지 생성
• 시점·방법: 이용자가 생성을 요청할 때 암호화된 네트워크로 전송
• 처리 위치: 현재 `global` endpoint. Google 공식 문서상 global endpoint는 ML 처리 요청이 어느 리전으로 전달되는지 고객이 통제하거나 알 수 없으므로 특정 국가를 확정할 수 없음
• 보유기간: 현재 코드는 명시적 context cache·session resumption을 사용하지 않습니다. 다만 Google 공개 Gemini 모델은 입력·출력·파생 데이터를 프로젝트별로 격리된 메모리에 최대 24시간 cache할 수 있습니다. 현재 프로젝트에서 abuse monitoring 예외 승인 사실은 확인되지 않아 Google Cloud 약관상 악용 탐지를 위한 prompt logging이 적용될 수 있습니다.
• 학습: Google은 고객의 사전 허락이나 지시 없이 고객 데이터를 AI/ML 모델 학습 또는 미세조정에 사용하지 않음
나. Firebase Cloud Messaging
• 이전 항목: FCM token, 알림 제목·본문, comparison ID 또는 문의 Public ID와 알림 유형
• 목적: 생성 완료·문의 답변 알림
• 시점·방법: 알림 발생 시 암호화된 네트워크로 전송
• 처리 국가: Firebase 문서와 현재 프로젝트 설정만으로 요청별 처리 국가를 특정할 수 없음
• 보유기간: 현재 TTL 미지정으로 미전달 메시지를 최대 4주간 전달 재시도할 수 있음. registration token은 서비스 제공 목적 달성 또는 무효화·회원탈퇴 시까지
다. Google Mobile Ads
• 이전 항목: IP 주소, 앱 실행·탭·동영상 시청 등 상호작용, SDK 진단정보, Android 광고 ID·App Set ID 등 기기·계정 식별자
• 목적: 보상형 광고, 광고·분석 및 부정행위 방지
• 시점·방법: 광고 요청·표시·상호작용 시 SDK가 암호화된 네트워크로 전송
• 광고 방식·보유기간: 초기 출시는 비맞춤형 광고만 요청합니다. 과거 행동 기반 타게팅은 사용하지 않지만 빈도 제한과 집계 보고를 위해 쿠키 또는 모바일 식별자가 처리될 수 있습니다. UMP의 consent update와 canRequestAds 결과가 광고 요청을 허용할 때만 요청하며, Google의 글로벌 광고 인프라에서 요청별 국가와 상세 보유기간은 회사가 지정할 수 없습니다.
라. Google·Apple 로그인 및 Google Play·Apple App Store 결제
• 이전 항목: SNS 인증 token의 검증 요청, provider subject와 제공자별 프로필 정보, 상품 ID, purchase token·transaction ID·영수증 검증정보
• 목적: 계정 인증, 결제 및 구매 검증
• 시점·방법: 이용자가 해당 로그인 또는 결제를 요청할 때 암호화된 네트워크로 전송
• 처리 국가·보유기간: 각 제공자의 글로벌 인프라와 이용자 계정 설정에 따라 달라 현재 코드만으로 특정할 수 없음
마. Supabase 지원·재수탁 처리
• 이전 항목: 계정·생성·동의·문의·결제·빗 등 PostgreSQL 데이터
• 목적: 데이터베이스 호스팅, 유지보수와 장애 지원
• 시점·방법: 서버가 DB를 이용하거나 지원·유지보수가 필요한 때 암호화된 네트워크 및 권한 통제된 운영 절차로 처리
• 주 저장 위치: AWS `ap-northeast-2` 서울. 현재 서버는 이 primary DB에 직접 연결
• 국외 처리 가능성: Supabase DPA에 따라 지정 리전에 데이터를 저장·주로 처리하고, 보안·지원·유지보수를 위해 Supabase, Inc. 및 공개된 재수탁자의 인력이 시설 소재 국가에서 제한적으로 처리할 수 있음
Kakao와 Naver 로그인 검증 요청은 각각 Kakao·Naver API로 전송되며 현재 코드와 운영 설정에서 회사가 별도로 지정한 국외 처리 경로는 확인되지 않았습니다. 각 SNS 제공자가 이용자에게 독립적으로 제공하는 서비스의 처리는 해당 제공자의 개인정보 처리방침이 적용됩니다.
국외 처리를 원하지 않는 이용자는 해당 외부 기능을 사용하지 않거나 회원탈퇴를 요청할 수 있습니다. 다만 Vertex AI 생성, SNS 로그인, FCM 알림, 광고 또는 스토어 결제에 필수인 전송을 거부하면 해당 기능이 제한됩니다.
11. 광고 및 자동 수집정보에 대한 선택권
서버 접속 과정에서 IP, User-Agent, 접속 시각·경로·상태코드가 자동으로 기록될 수 있습니다. 이용자는 앱과 계정 기능을 사용하지 않거나 회원탈퇴하여 해당 처리의 중단을 요청할 수 있으나, 보안·법정 보존정보는 예외가 될 수 있습니다.
Flutter 앱은 `google_mobile_ads` SDK의 보상형 광고를 사용하며 무료 생성 시 공식 reward callback을 받은 광고 2회를 조건으로 사용할 수 있습니다. 앱 시작 때 Google User Messaging Platform(UMP)의 consent info를 갱신하고 필요한 동의 양식을 표시합니다. `canRequestAds()`가 true일 때만 Mobile Ads를 초기화하고 광고를 요청하며 모든 AdRequest는 `nonPersonalizedAds: true`로 고정합니다. 따라서 과거 앱·웹 행동을 이용한 맞춤형 광고를 요청하지 않습니다. 다만 Google 정책상 비맞춤형 광고도 빈도 제한과 집계 보고를 위해 쿠키·모바일 광고 식별자를 처리할 수 있고, 동의 상태가 이를 허용하지 않으면 제한 광고 등 Google 정책상 가능한 방식만 제공되거나 광고를 요청하지 않습니다. 설정의 “광고 개인정보 설정”에서 UMP가 요구하는 경우 이용자 선택을 다시 열 수 있습니다.
최종 Android manifest에는 Google Mobile Ads SDK가 병합한 `com.google.android.gms.permission.AD_ID`와 `android.permission.ACCESS_ADSERVICES_AD_ID` 권한이 포함됩니다. Android 광고 ID는 단말기 설정에서 재설정·삭제할 수 있습니다. 회사가 광고 ID를 직접 조회·저장하지는 않지만 SDK의 수집을 막으려면 Android manifest 설정 또는 제한 광고 정책을 적용해야 합니다.
12. 정보주체의 권리와 행사방법
이용자는 관계 법령이 정하는 범위에서 개인정보 열람, 정정, 삭제, 처리정지, 동의 철회, 개인정보 전송 요구 및 회원탈퇴를 요청할 수 있습니다.
• 프로필 정정: 마이페이지에서 지원되는 프로필 항목 수정
• 사진·생성 기록 삭제: 마이페이지에서 해당 기록 삭제
• 레퍼런스 공개 철회: 공유 중인 결과에서 공유 해제 또는 기록 삭제
• 문의 확인·수정·삭제: 설정 > 문의하기에서 본인 문의 관리. 답변 완료 문의 본문은 수정할 수 없음
• 회원탈퇴: 설정의 회원탈퇴 기능
• 그 밖의 열람·정정·처리정지·이의제기: 설정 > 문의하기
요청자는 본인 또는 적법한 대리인임을 확인할 수 있어야 하며 법령상 제한 사유가 있는 경우 그 사유를 안내합니다. 회사는 요청을 접수한 연락수단으로 처리 결과를 안내합니다.
13. 만 14세 미만 이용자
서비스는 만 14세 미만의 회원가입과 개인정보 처리 기능 이용을 허용하지 않습니다. 생년월일은 수집하지 않으며, 가입·필수동의 단계에서 “만 14세 이상입니다”를 이용자가 직접 확인해야 합니다. 서버는 account ID, 확인 당시 이용약관 버전과 확인 시각을 기록하고 확인하지 않으면 가입을 완료하지 않습니다. 법정대리인 동의·확인 기능은 제공하지 않으므로 만 14세 미만은 가입할 수 없습니다.
14. 개인정보의 안전성 확보조치
회사는 확인된 범위에서 다음 기술적 조치를 적용합니다.
• 앱과 서버, 서버와 외부 서비스 사이 HTTPS/TLS 통신
• JWT 기반 계정 인증과 X-Device-Id의 기기 식별 목적 분리
• raw installation UUID를 DB에 저장하지 않고 비밀키 기반 HMAC 해시 저장
• GCS Public Access Prevention, Uniform Bucket-Level Access와 짧은 유효기간의 Signed URL
• Cloud Tasks Worker와 Hair Parser에 서비스 계정 OIDC 인증 적용
• Supabase DB TLS와 서버 전용 DB 연결, 주요 민감 테이블 RLS 활성화 및 공개 역할 권한 회수
• 인증 token·이메일·signed URL·이미지 URL·요청 본문 전체를 애플리케이션 로그에 남기지 않는 로그 정책
• TinyFaceMatch 얼굴 특징 벡터 비저장
• 사용자 API와 1:1 문의·comparison의 account ID 소유권 서버 재검증
내부관리계획, 개인정보취급자 접근권한의 정기 검토, 교육, 침해사고 대응·통지 절차 등 관리적 조치는 출시 전 실제 운영 절차와 책임자를 문서화합니다.
15. 개인정보 보호책임자 및 고충처리
• 개인정보 보호책임자: 전상오(대표자)
• 담당부서: 별도 부서를 두지 않고 대표자가 직접 담당
이용자는 개인정보 보호와 관련한 문의, 불만, 피해구제, 열람·정정·삭제·처리정지 요청을 설정 > 문의하기에서 접수할 수 있습니다.
16. 사업자 정보
• 상호: 디비비디 스튜디오(DBBD Studio)
• 대표자: 전상오
• 사업자등록번호: 469-29-01908
• 과세유형: 일반과세자
• 업태: 정보통신업
• 종목: 응용 소프트웨어 개발 및 공급업
• 사업장 주소: 서울특별시 강남구 봉은사로21길 57-11, 302호(논현동)
17. 개인정보 침해 구제
개인정보 침해에 관한 상담이나 분쟁 해결이 필요한 경우 다음 기관에 문의할 수 있습니다.
• 개인정보침해신고센터: 국번 없이 118, privacy.kisa.or.kr
• 개인정보분쟁조정위원회: 1833-6972, www.kopico.go.kr
• 개인정보보호위원회 법령해석지원센터: 02-2100-3043
18. 처리방침의 변경·공고·시행
처리방침을 변경할 때에는 문서 버전, 변경 내용, 공고일과 시행일을 앱에서 확인할 수 있도록 안내합니다. 이용자 권리에 중대한 영향을 주는 변경은 시행 전에 별도로 알리고 필요한 경우 새 동의를 받습니다.
• 문서 버전: privacy-v1
[내부 출시 확인사항 - DRAFT에서만 표시]