1. 적용 범위
본 문서는 2026년 8월 31일 기준 Fair Fairies 웹사이트와 Android 앱에서 실제 제공하는 계정, 개인 마킹, 위시·구매 관리, 작가 참가 알림, 선택형 Android 휴대폰 알림, 페어리 광장, 기본 페이지 방문 횟수 집계, 선택형 Firebase Analytics, 광고와 안전 운영 기능 및 현재 비활성화된 쪽지의 기존 보관 데이터 처리에 적용됩니다. 계정 생성에 적용되는 현재 동의 버전은 2026-08-20-v3이며, 쿠키 및 유사 저장소 선택과 휴대폰 알림 선택은 계정 가입 동의와 별도로 관리합니다.
2. 처리하는 정보와 목적
| 구분 | 처리 항목 | 목적 |
|---|---|---|
| 계정 | Firebase UID, 이메일(제공되는 경우), 이메일 확인 여부, 표시 이름, 프로필 사진 URL, 로그인 제공자, 닉네임, 중복 방지용 8자리 태그, 닉네임 변경 시각, 약관·만 14세 이상 확인 버전과 시각 | 인증, 계정 보호, 중복 닉네임 구분, 월 1회 닉네임 변경 제한, 마킹 동기화, 동의 증적 관리 |
| 프로필 사진 | 이용자가 선택해 기기에서 정사각형으로 자르고 WebP로 변환한 사진 1장(최대 1024×1024px·600KB), 저장 경로·공개 표시 URL·가로세로 크기·파일 리비전·변경 시각 | 계정 메뉴와 이용자 활동의 프로필 표시, 이미지 형식·크기·안전성 확인 |
| 페어 이용 | 찜·방문·계획 부스, 이용자가 지정한 표시 색상·방문 의도·중요도, 이용자가 입력한 개인 부스 메모, 갱신 시각 | 개인 부스 동선·우선순위와 비공개 메모 보관 |
| 작가 알림 | 즐겨찾기 작가 식별자, 참가 행사·부스 참조, 알림 생성·확인 시각 | 즐겨찾기 작가의 새 페어 참가 알림과 읽음 상태 동기화 |
| Android 휴대폰 알림 | 이용자가 알림을 켠 경우 Firebase Cloud Messaging 등록 토큰, 토큰의 서버 식별용 해시, 앱이 생성한 임의 설치 식별자, 앱 버전, 언어 설정, 등록·갱신·만료 시각 | 로그인한 계정이 선택한 작가 참가 알림을 해당 Android 기기의 알림창에 표시, 토큰 갱신·오류 정리와 중복 기기 제한 |
| 위시·구매 목록 | 행사·부스·작가 식별자, 저장 당시 행사명·부스 번호·작가명, 품목명, 원화 가격, 수량, 위시·구매 상태, 이용자가 적은 메모, 서버 최초 생성·수정·만료 시각 | 현재·과거 행사별 구매 계획과 구매 내역 관리, 1년 보관기간 적용 |
| 비로그인 기기 저장 | 기기에서 지정한 부스 마킹과 작가 즐겨찾기 | 로그인 전 현재 브라우저에서 개인 표시 유지 |
| 기본 페이지 방문 횟수 | 방문 경로를 홈·일정·행사·광장 등으로 줄인 페이지 분류, 웹·Android 구분, 서버 처리 시각, 내부 운영 방문 여부, 재시도 중복 방지용 무작위 이벤트의 서버 HMAC 값. 쿠키·브라우저 저장소·세션 ID·Firebase UID·광고 ID·원 IP·IP 해시·전체 URL·검색어·리퍼러는 이 집계에 저장하지 않음 | Asia/Seoul 기준 일·월·연간 페이지 방문 횟수 집계, 웹·Android 및 페이지 분류별 운영 현황 확인, 명백한 봇·내부 운영 트래픽 구분. 개인·순 방문자·재방문자·세션을 식별하거나 계산하지 않음 |
| 선택형 Firebase Analytics | 웹 이용자가 분석 쿠키를 허용한 경우 Firebase Analytics가 처리하는 페이지 경로·제목, 브라우저·기기·대략적 지역과 이용·진단 정보 | 웹 페이지 조회·세션·유입 흐름과 서비스 개선 분석, 성능·비용 이상 확인 |
| 웹 광고 | 웹 광고 영역이 자동 처리할 수 있는 IP 주소 기반 대략적 위치, 웹 식별자, 페이지·광고 상호작용과 진단 정보 | 문맥 기반·제한 광고 제공, 광고 빈도·성과 측정과 집계 보고, 부정 트래픽 방지·보안·규정 준수 |
| Android 앱 실행 환경 | 앱 버전, 기기·운영체제·WebView 호환 정보, 앱 시작·중단·오류와 네트워크 연결 상태 | 사이트 연결, 오류 안내, 호환성·보안 점검. 개인을 구별하지 않는 기본 페이지 방문 횟수에는 Android도 포함하고 선택형 웹 Firebase Analytics는 사용하지 않음 |
| Android 앱 광고 | Google UMP의 동의·개인정보 옵션 필요 상태와 Google Mobile Ads가 자동 처리할 수 있는 IP 주소 기반 대략적 위치, 앱·기기 정보, 광고 노출·상호작용·진단 및 부정 트래픽 신호. 광고 ID와 Android AdServices 식별 권한은 요청하지 않음 | 지역별 개인정보 선택 확인, 개인화를 끈 13세 이상용 적응형 배너 제공, 광고 성과 집계, 보안·부정 트래픽 방지와 규정 준수 |
| 쿠키·유사 저장소 설정 | 정책 버전, 선택형 분석 쿠키 허용 여부, 선택 시각 | 현재 브라우저에서 이용자의 쿠키 선택을 기억하고 Google Consent Mode 신호 적용 |
| 페어리 광장 | 공개 닉네임과 태그, 게시글·댓글 내용, 투표 선택지와 선택한 항목·선택 시각, 선택 첨부 사진 최대 4장과 사진 크기·저장 경로, 자동 확인 상태·안전한 사유 코드, 신고 내용 | 커뮤니티·투표 제공, 중복·변경 투표 방지, 익명 선택률 집계, 사진 압축·표시, 개인정보·욕설·허용되지 않은 링크·이미지 안전성 확인, 악용 방지와 분쟁 대응 |
| 비활성화된 쪽지의 기존 기록 | 비활성화 전에 저장된 대화 참여자 식별자, 메시지 본문·전송 순번·시각·읽음 상태, 미리보기, 차단·숨김 상태, 전송 재시도 원장, 신고 사유와 제한된 증거 발췌 | 신규 이용자 기능 제공이 아니라 기존 분쟁·신고·안전 대응과 보관기간 준수 |
| 안전 운영 | 중복 방지된 위험 신호, 규칙 식별자, 점수·등급·근거 요약, 신고 참조, 관리자 검토·제재·해제·이의 제기·Auth 정합화 기록 | 악용 후보 검토, 서버 기능 제한, 계정 보호, 이의 처리와 감사 |
| 작가 신청 | 브랜드명, 공개 공식 링크, 참가 행사, 신청자가 적은 확인 설명 | 브랜드 소유·참가 사실 확인 |
| 기술 기록 | 인증·권한·동기화 요청 시각, 오류·보안 로그 | 장애 대응, 부정 사용 방지, 접근기록 점검 |
비로그인 상태의 부스 마킹과 작가 즐겨찾기는 서버로 전송하지 않고 브라우저의 사이트 저장소에만 보관합니다. 기본 페이지 방문 횟수는 분석 쿠키 선택과 관계없이 자체 서버에서 집계합니다. 클라이언트가 현재 화면의 재시도에만 메모리로 보유하는 무작위 이벤트 ID는 서버에서 HMAC 처리하고 최대 24시간 뒤 삭제하며, 원본 경로나 이용자를 구별하는 값 대신 페이지 분류·웹 또는 Android·처리 시각·내부 운영 여부만 합계에 반영합니다. 따라서 이 수치는 순 방문자가 아니라 페이지 방문 횟수입니다. 선택형 Firebase Analytics는 웹 이용자가 분석 쿠키를 허용한 뒤에만 지연 초기화하며 계정 UID·이메일·닉네임·부스 마킹·위시·구매 품목을 이벤트 매개변수로 보내지 않습니다. 분석 쿠키를 거부하거나 철회하면 Firebase Analytics 수집을 중단하고 기기에 남아 있을 수 있는 과거 자체 분석 키도 삭제합니다.
주민등록번호, 신분증 원본, 정확한 현재 위치, 연락처 주소록은 수집하지 않습니다. 이메일은 페어리 광장의 공개 이름으로 사용하지 않습니다.
3. 보유와 삭제
- 위시·구매 품목은 서버에 최초 생성된 시각부터 최대 365일 보관합니다. 품목을 수정하거나 위시와 구매 사이에서 이동해도 보관기간은 연장되지 않으며, 만료되면 서비스 표시에서 즉시 제외하고 서버 자동 삭제 대상으로 처리합니다. 이용자가 직접 삭제하거나 회원 탈퇴하면 이보다 먼저 삭제합니다.
- 계정·부스 마킹·개인 부스 메모·작가 즐겨찾기·개인 알림·작가 신청: 개인 부스 메모는 부스 상세에서 직접 삭제할 수 있으며, 회원 탈퇴 시 지체 없이 사용자 전용 문서와 인증 계정을 함께 삭제합니다. 즐겨찾기를 해제하면 해당 작가의 이후 참가 알림도 생성하지 않습니다.
- Android 휴대폰 알림 토큰은 마지막 정상 등록·갱신부터 최대 90일 보관하고 앱을 열어 알림 등록을 갱신하면 기간이 다시 계산됩니다. 내 계정에서 휴대폰 알림을 끄거나 로그아웃·회원 탈퇴하면 서버 등록과 기기 토큰을 해제하며, 만료되거나 Firebase가 무효라고 응답한 토큰도 자동 정리합니다.
- 기본 페이지 방문 횟수: 재시도 중복 방지용 무작위 이벤트의 서버 HMAC 문서는 최대 24시간 보관한 뒤 TTL 삭제합니다. 페이지 분류·웹 또는 Android·기간별 합계에는 개인 식별값이 없으므로 특정 이용자별 조회·삭제·순 방문자 산출에 사용하지 않습니다. 통계 화면에는 합계만 제공하며 새 방식의 집계 시작 전 기간은 ‘수집 데이터 없음’으로 구분합니다.
- 이전 통계 자료: 2026년 8월 31일 이전에 이용자가 선택형 방문 통계를 허용해 생성된 해시 처리 브라우저·계정 고유 키와 원본 이벤트는 더 이상 새 집계에 사용하거나 갱신하지 않습니다. 기존 원본 이벤트는 수집일부터 최대 90일, 기간별 고유 키는 최대 2년의 당시 고지 보유기간이 끝나면 삭제합니다.
- 비활성화된 쪽지의 기존 기록: 신규 대화·전송·조회 기능은 제공하지 않습니다. 비활성화 전에 저장된 실제 메시지는 설정된 Firebase 메시지 DB에서 최대 3년 보관될 수 있고, 전송 대기 원장은 최대 7일, 신고 증거는 안전·분쟁 처리에 필요한 기간만 보관합니다. 일반 이용자는 기존 대화에 접근할 수 없습니다.
- 안전 운영 기록: 위험 신호와 임시 Auth 정합화 원장은 각각 설정된 TTL로 삭제하고, 적용·해제·이의·감사 기록은 보안 및 분쟁 대응에 필요한 범위에서 보관합니다. 자동 신호만으로 영구 차단하지 않습니다.
- 프로필·행사·작가·게시글 이미지: 원본을 보존하면서 목록·카드·상세용 파생본과 콘텐츠 해시·리비전을 저장할 수 있습니다. 새 파생본 검증 후에만 참조를 바꾸며 교체·삭제·탈퇴 시 연결된 원본과 파생본을 정리합니다.
- 페어리 광장 게시글·댓글·첨부 사진: 계정 삭제 시 해당 계정이 작성한 게시글은 하위 댓글과 첨부 사진을 포함해 삭제하고, 다른 게시글에 작성한 댓글도 삭제합니다.
- 커뮤니티 투표: 사용자별 비공개 투표 기록은 같은 투표에서 중복·변경 선택을 막기 위해 계정 식별값, 선택지와 선택 시각을 보관합니다. 회원 탈퇴 시 이 사용자별 기록은 삭제하고, 개인을 식별할 수 없는 선택지별 누적 수치만 투표 결과의 무결성을 위해 남을 수 있습니다.
- 게시글로 연결되지 않은 업로드 사진: 등록 실패 등에 대비해 24시간의 재시도 시간을 둔 뒤 매일 자동 정리 대상에 포함합니다.
- 신고 기록: 계정 삭제 시 신고자 식별값을 제거하며, 신고 내용은 커뮤니티 안전과 분쟁 대응을 위해 필요한 범위에서 남을 수 있습니다.
- 법령상 보존 의무나 진행 중인 분쟁에 필요한 최소 기록은 다른 정보와 분리해 목적 달성 시까지 보관할 수 있습니다.
4. 처리 위탁·국외 이전·외부 서비스
인증, 기본 데이터베이스, 선택형 웹 Firebase Analytics, Android 휴대폰 알림 전송, 비활성화 전 쪽지 기록이 보존된 복수의 메시지 DB와 첨부 사진 저장에는 Google Firebase와 Firebase Cloud Messaging을, 사이트 제공에는 OpenAI Sites 및 그 기반 인프라를 사용합니다. Google·X·Facebook·Apple 중 로그인 화면에서 이용자가 선택한 활성 소셜 로그인 제공자를 통한 로그인 과정에서는 해당 제공자와 Firebase에 요청 정보, IP 주소와 접속·기기 정보가 전달될 수 있습니다. 제공자가 허용한 범위에서 제공자 식별자, 표시 이름, 이메일과 이메일 확인 여부, 프로필 사진 URL을 받아 인증·중복 계정 방지·프로필 표시에 사용합니다.
이용자가 직접 올린 프로필 사진과 페어리 광장 첨부 사진은 Google Cloud Vision SafeSearch로 자동 확인합니다. 게시글 텍스트는 개인정보로 보이는 번호·이메일, 운영정책에 맞지 않는 표현, 올바르지 않거나 허용되지 않은 외부 링크를 등록 요청과 함께 서버 규칙으로 확인하며 정상 텍스트는 즉시 공개합니다. 첨부 사진의 저장 경로는 공개 글과 분리된 비공개 업로드 세션에만 두고, 안전하다고 확인된 사진만 글의 공개 참조에 원자적으로 연결합니다. 결과가 불확실하거나 처리 장애가 있으면 제한된 기간 비공개 상태로 재시도하고, 안전 기준에 맞지 않거나 끝내 확인할 수 없는 사진은 삭제하되 이미 공개된 정상 텍스트는 유지합니다. 정책에 맞지 않는 텍스트는 공개하지 않으며 내 게시글 목록에도 남기지 않습니다. 작성자가 자신의 공개 게시글을 삭제하면 공개를 즉시 차단한 뒤 첨부 원본과 댓글을 포함한 게시글 트리를 제거합니다.
관리자가 공식 행사 배치도를 등록하거나 자동 탐색에서 발견한 공식 자료를 검수할 때에는 PDF의 내장 텍스트·벡터 도형을 서버에서 먼저 분석하고, 스캔 페이지 또는 불충분한 구조가 있으면 PDF·이미지 원본을 Google Cloud Vision OCR로 처리해 부스 번호와 좌표의 비공개 후보를 만들 수 있습니다. 이 운영용 분석 결과는 관리자가 원문과 부스별 좌표를 대조하기 전에는 사용자에게 공개되지 않으며, OCR 처리를 위해 만들어진 임시 출력 파일은 작업 완료·실패 후 정리합니다.
홈의 행사장 위치 지도는 서버 설정에 따라 NAVER Maps 또는 OpenStreetMap 타일을 불러옵니다. 지도를 표시하는 과정에서 IP 주소와 접속 정보가 선택된 지도 제공자에게 전달될 수 있습니다.
웹사이트에서 광고가 활성화된 공개 페이지에는 Google AdSense 광고 영역과 광고 요청을 Fair Fairies 분석 쿠키 선택과 관계없이 표시할 수 있습니다. Google Consent Mode의 광고·분석·개인화 관련 저장 신호를 기본 거부하고 Google 인증 동의 관리와 제한 광고 신호를 적용하며, Fair Fairies는 항상 비개인화 광고만 요청합니다. 자체 쿠키 배너는 Google 광고 저장소를 임의 승인하지 않고 Google 인증 CMP가 지역별 광고 동의와 철회를 관리합니다. 광고 저장소가 허용돼도 Fair Fairies는 광고 사용자 데이터와 개인화 신호를 계속 거부합니다. 부스 마킹, 위시·구매 품목, 작가 즐겨찾기 같은 개인 목록을 광고 타기팅 정보로 전달하거나 사용하지 않습니다. 광고 제공자는 이용자가 Google 개인정보 메시지에서 허용한 경우 비개인화 광고의 빈도 제한과 집계 보고를 위해 쿠키 또는 웹 저장소를 사용할 수 있습니다. 유럽경제지역·영국·스위스 대상 광고 설정은 Google 인증 CMP와 지역별 동의 메시지가 준비된 경우에만 활성화합니다.
Android 앱은 Google Mobile Ads Next-Gen SDK 1.4.0과 Google UMP SDK 4.0.0을 사용합니다. UMP 동의 정보를 앱 시작과 포그라운드 복귀마다 갱신하고 필요한 개인정보 메시지를 표시한 뒤 canRequestAds()가 허용한 경우에만 광고 SDK를 초기화합니다. 모든 앱 광고 요청은 연령 제한 처리를 TEEN으로, 최대 광고 콘텐츠 등급을 T로, 게시자 광고 개인화를 비활성 상태로 고정합니다. 광고 가능한 공개 페이지의 상단·중단·하단에는 서로 독립된 인라인 적응형 배너를 고정된 문서 위치에 사용하며, 한 배너를 화면 중앙에 가까운 위치로 옮기는 방식은 사용하지 않습니다. 각 위치는 안정적인 예약 공간을 유지하고 화면 기준 앞뒤 0.25개 뷰포트 범위에 들어왔을 때만 지연 요청합니다. 스크롤·화면 회전·이미지나 동영상 로딩 등 레이아웃 변동 때마다 위치와 크기를 다시 계산해 게시글 본문이나 댓글 영역과 겹치지 않게 하며, 키보드 입력, 스크롤, 부스맵 조작, 팝업·메뉴·알림·작성 화면과 로그인·관리자·계정·데이터 삭제·작가 관리·내 게시글·메시지·정책 화면에서는 배너를 숨깁니다. 게시글은 실제 표시된 본문과 사진의 양에 따라 광고를 제한하며, 콘텐츠가 부족하거나 편집 중이면 광고를 요청하지 않습니다. 게시글 정보·바로가기만 남은 하단에는 추가 광고를 넣지 않습니다. 전면, 앱 시작, 보상형, 보상형 전면 및 네이티브 광고는 사용하지 않습니다.
Android 앱의 디버그 빌드는 Google 공식 테스트 앱·배너 ID만 사용하고 릴리스 빌드는 승인된 Fair Fairies AdMob 앱·배너 ID를 빌드 리소스로 분리합니다. 앱 매니페스트에서 광고 ID와 Android Privacy Sandbox의 AdServices 권한을 명시적으로 제거하며, Fair Fairies Android 사용자 에이전트에서는 웹 AdSense 로더와 선택형 Firebase Analytics 전송을 차단합니다. 개인을 구별하지 않는 자체 페이지 방문 횟수 집계에는 Android도 포함합니다. AdMob 앱 확인, 계정 준비 상태, 정책 심사 또는 광고 재고에 따라 실제 배너가 즉시 표시되지 않을 수 있습니다.
5. 이용자의 권리
내 계정에서 부스 표시와 작가 즐겨찾기를 변경하고, 개인 부스 메모와 위시·구매 품목을 조회·수정·삭제하고, 앱 안 알림을 읽음 처리하거나 Android 휴대폰 알림을 켜고 끄며, 계정 삭제를 요청할 수 있습니다. Android 시스템 설정에서도 Fair Fairies 알림 표시 권한을 철회할 수 있습니다. 자세한 삭제 범위는 계정·데이터 삭제 안내에서 확인할 수 있습니다. 만 14세 미만 사용자의 가입은 법정대리인 동의 시스템을 갖추기 전까지 허용하지 않습니다.
6. 안전성 확보 조치
- 일반 사용자, 승인 작가, 운영자 역할을 서버 claim과 멤버십으로 분리합니다.
- 운영 화면은 짧은 수명의 HttpOnly 세션과 서버 검증을 통과해야 합니다.
- Firestore 규칙은 허용된 필드만 쓰게 하고 권한과 검수 상태는 서버에서만 변경합니다.
- 프로필 사진과 게시글 사진은 기기에서 WebP로 축소한 뒤 크기·형식·소유자 메타데이터가 일치할 때만 저장하고, 서버 안전 확인이 끝나기 전에는 공개 참조를 만들지 않습니다.
- 접근기록·변경 감사 로그, 전송구간 암호화, 최소 권한, 백업·복구와 사고 대응 절차를 운영합니다.
7. 쿠키 및 유사 저장소의 선택과 변경
로그인·보안·App Check, 관리자 세션, 동의 설정, 이용자가 직접 저장한 부스 마킹·즐겨찾기·차단·편집 복구 데이터와 Firebase 기능성 캐시는 서비스 제공에 필요한 저장소로 구분합니다. 개인을 구별하지 않는 기본 페이지 방문 횟수는 쿠키 선택과 관계없이 자체 집계하지만, 웹 Firebase Analytics는 기본 비활성화된 분석 쿠키 항목으로 Fair Fairies 설정에서 허용하거나 거부할 수 있습니다. 웹 광고 저장소는 자체 배너가 아닌 Google 인증 CMP의 지역별 개인정보 메시지에서, Android 앱 광고 선택은 시작할 때마다 상태를 갱신하는 Google UMP 메시지와 필요한 경우 앱에 표시되는 Google 개인정보 옵션에서 별도로 관리합니다. Fair Fairies 선택 기록은 정책 버전·분석 쿠키 허용 여부·시각만 현재 브라우저의 로컬 저장소에 보관하고 계정 프로필이나 정밀 위치와 결합하지 않습니다.
사이트 하단의 ‘개인정보 및 쿠키 설정’을 누르면 언제든 분석 쿠키를 바꾸고 ‘Google 광고 개인정보 설정’을 다시 열 수 있습니다. Android 앱은 선택형 웹 Firebase Analytics를 사용하지 않으며, Google UMP가 개인정보 옵션을 요구하는 경우 앱 메뉴 또는 내 계정의 ‘개인정보 설정’에서 광고 노출 여부와 관계없이 해당 옵션을 다시 열 수 있습니다. 분석 쿠키 철회 즉시 Firebase Analytics 수집을 중단하고 해당 기기에 남아 있을 수 있는 과거 자체 분석 키를 삭제합니다. 개인을 구별하지 않는 기본 페이지 방문 횟수 집계는 이 선택과 관계없이 계속됩니다. 브라우저 설정에서 fairfairies.com의 사이트 데이터나 전체 쿠키를 삭제하거나 제3자 쿠키를 차단할 수도 있으며, 사이트 데이터를 삭제하면 선택 안내가 다시 나타납니다. 선택 항목을 거부해도 핵심 서비스는 계속 이용할 수 있으며 광고는 UMP의 요청 허용 상태와 지역별 규칙에 따라 표시되지 않거나 제한된 방식으로 제공될 수 있습니다.
문의·정정 경로
계정·데이터 삭제와 서비스 이용 문의: neofoxtree@gmail.com