

개인정보처리방침
마지막 업데이트: 2026년 9월 1일
O'llo는 소중한 사람들을 기억하고 필요한 때 안부를 전할 수 있도록 돕는 서비스입니다. 이 문서는 O'llo가 어떤 정보를 수집하고, 어떻게 사용하며, 어떤 외부 제공자와 함께 서비스를 운영하고, 데이터와 관련해 어떻게 문의할 수 있는지 설명합니다.
수집하는 정보
Google, Apple 또는 지원되는 다른 제공자로 로그인하면 제공자가 전달하는 이름, 이메일 주소, 제공자 식별자, 프로필 이미지 등 기본 계정 정보를 받을 수 있습니다. Apple은 이름과 이메일을 최초 동의 시에만 제공할 수 있고 사용자는 이메일 가리기를 선택할 수 있습니다. Apple 연결 폐기를 위해 refresh token을 암호화하여 저장합니다.
O'llo를 사용하면서 인물 이름, 관계 맥락, 생일, 직장 또는 소속, 위치, 메모, 그룹, 리마인더, 상호작용 기록, 아바타, 약속 투표 응답, 장소 선호, 약속 상세 정보 등을 입력할 수 있습니다.
약속 투표 링크를 만들거나 공유하면 링크를 받은 외부 참여자가 O'llo 계정 없이 표시 이름, 가능한 시간, 장소 투표를 제출할 수 있습니다.
Google Calendar 계정을 최대 2개까지 연결할 수 있습니다. O'llo는 사용자가 선택한 캘린더의 일정 제목, 시작/종료 시간, 하루 종일 여부, 바쁨/가능 상태와 Google Meet 링크를 읽어 일정을 표시하고 약속 투표 중 바쁜 시간을 막으며, 지정한 계정으로 Calendar 일정과 Meet 링크를 만들 수 있습니다. 계정별 이메일, 캘린더 이름과 선택 상태, 권한, 암호화된 refresh token을 저장하지만 외부 Google 일정 설명이나 Meet 링크는 저장하지 않습니다.
iPhone 캘린더 연결은 선택 사항입니다. O'llo가 접근할 수 있는 모든 캘린더의 일정은 기본적으로 기기 안에서만 O'llo 일정과 병합됩니다. Live Activity를 표시하면 종료 처리를 위해 Activity push token, 시작/종료 시각과 익명 일정 식별자를 서버에 저장합니다. 사용자가 Live Activity 자동 표시를 켜면 앱을 닫아도 자동 시작하고 이동 안내를 표시할 수 있도록 일정 제목, 장소와 최대 30일 범위의 예약도 서버로 전송합니다. 메모와 참석자는 전송하지 않습니다. 사용자가 생일 알림을 켜면 APNs 기기 token, 앱 언어와 iPhone 시간대를 저장하고, 저장된 인물의 생일과 시간대를 사용해 알림 시각을 예약합니다.
Calendar 날씨를 켜면 현재 위치를 약 1km 단위로 반올림해 Google Weather에 10일 예보를 요청합니다. 위치 좌표와 예보는 O'llo 데이터베이스나 기기의 영구 저장소에 저장하지 않으며, 해당 기기에서 날씨를 켰는지 여부만 저장합니다.
Google Contacts에서 연락처를 가져오면 O'llo는 미리보기와 선택 가져오기를 위해 이름, 이메일, 전화번호, 생일 같은 연락처 정보를 읽을 수 있습니다. Google Contacts 가져오기는 선택 사항이며, 선택한 사람만 O'llo에 저장되고 상대방에게 알림이나 초대는 보내지 않습니다.
사용자가 O'llo 소식을 직접 켜면 OneSignal은 Supabase 사용자 ID, 앱 언어, 기기 push 구독 상태와 알림의 전달·열람 정보를 처리할 수 있습니다. O'llo는 OneSignal에 인물 이름, 연락처, 생일, 관계 기록, 캘린더 내용 또는 위치를 보내지 않습니다.
RevenueCat 웹 Funnel을 이용하면 선택한 응답, Funnel 진행·전환 이벤트, 결제에 필요한 이메일과 Stripe 거래 정보가 RevenueCat 및 Stripe에서 처리될 수 있습니다. 익명 구매는 60분 동안 유효한 일회성 redemption link를 통해 앱 계정에 연결됩니다.
네이티브 앱에서 RevenueCat SDK를 사용하면 Supabase 사용자 ID가 RevenueCat App User ID로 전송되고, App Store 상품 정보, 구매·복원 결과, 구독과 Pro 권한 상태, SDK 운영에 필요한 앱·기기 메타데이터가 RevenueCat에서 처리될 수 있습니다. 인물, 연락처, 관계 기록이나 캘린더 내용은 RevenueCat에 보내지 않습니다.
정보 사용 목적
O'llo는 인증, 관계 기록 저장, 리마인더 계산, 네트워크 표시, 약속 투표 조율, 장소 추천, 결제 관리, 피드백 응답, 제품 안정성 개선을 위해 정보를 사용합니다.
AI 기능이 활성화된 경우 메시지 초안, outreach 초안, 요약, 선물 아이디어를 만들기 위해 관련 맥락이 OpenAI에 전달될 수 있습니다. AI 기능은 선택 사항이며 핵심 관계 기록 기능 사용에 필수는 아닙니다.
Google Calendar를 연결하거나 장소 추천을 요청하면 해당 기능 제공을 위해 캘린더, 위치, 검색어, 장소, 미팅 관련 정보가 처리될 수 있습니다. Google Calendar 일정 정보는 일정 표시, 시간 충돌 확인, 온라인 약속의 Calendar 일정 및 Meet 링크 생성에 사용되며 광고 목적으로 사용되지 않습니다.
Calendar 날씨를 켠 경우 반올림한 현재 위치는 Google Weather의 10일 예보를 표시하는 데만 사용되며 광고 목적으로 사용되지 않습니다.
iPhone 일정 정보는 캘린더와 위젯 표시, Live Activity 종료 및 사용자가 켠 경우 앱을 닫아도 Live Activity를 자동으로 표시하는 데만 사용됩니다. 생일과 시간대, APNs 기기 token은 사용자가 켠 생일 알림을 전송하는 데만 사용되며 광고 목적으로 사용되지 않습니다.
Google Contacts를 가져오는 경우 연락처 정보는 저장 전 미리보기, 중복 후보 표시, 선택한 사람의 생성에만 사용됩니다.
OneSignal 알림 정보는 사용자가 별도로 동의한 O'llo 소식을 전송하고 전달·열람을 측정하는 데만 사용합니다. 생일·이동 안내·Live Activity 같은 운영 알림은 기존의 별도 경로로 처리합니다.
RevenueCat 결제 정보는 App Store 구매와 복원, 웹 구매 연결, 구독 상태 확인, 플랫폼 간 Pro 권한 동기화와 결제 지원에만 사용합니다.
Google 사용자 데이터 공유 및 제한적 사용
O'llo는 서비스 제공에 필요한 범위에서 Google 사용자 데이터를 다음 서비스 제공자와 처리할 수 있습니다. Supabase는 Google 계정 이메일, 암호화된 Calendar 연결 토큰과 단기 Contacts 미리보기 세션을 저장하고, Neo4j는 사용자가 선택해 가져온 연락처를 O'llo 인물 기록으로 저장하며, Vercel은 O'llo 애플리케이션과 서버 요청을 호스팅합니다.
사용자가 Google Contacts에서 가져와 저장한 사람을 대상으로 선택적 AI 기능을 직접 실행하면 이름이나 생일 같은 최소한의 관련 인물 맥락이 메시지 초안, 수신자 추천 또는 선물 아이디어 생성을 위해 OpenAI API에 전달될 수 있습니다. Google OAuth 토큰, 원본 Contacts 목록, 전화번호, 이메일 주소 및 Google Calendar 일정 데이터는 OpenAI 프롬프트로 전달하지 않습니다.
O'llo는 OpenAI API 요청의 애플리케이션 저장을 비활성화하며 Google 사용자 데이터를 범용 AI 또는 ML 모델의 개발, 개선, 학습에 사용하거나 사용하도록 허용하지 않습니다. OpenAI는 API 데이터를 명시적으로 옵트인하지 않는 한 모델 학습에 사용하지 않지만, 서비스 보호를 위한 abuse-monitoring 로그를 최대 30일간 보관할 수 있습니다.
O'llo가 Google API에서 수신한 정보를 사용하고 이전하는 방식은 제한적 사용 요구사항을 포함한 Google API Services User Data Policy를 준수합니다. Google 사용자 데이터는 광고, 재타기팅, 신용평가, 대출, 데이터 중개, 판매 또는 관련 없는 목적으로 사용하거나 이전하지 않습니다.
외부 서비스 제공자
O'llo는 인증, 정형 데이터, 저장소를 위해 Supabase, 관계 그래프 데이터를 위해 Neo4j, 선택적 AI 기능을 위해 OpenAI, 웹 결제와 구독 관리를 위해 Stripe, App Store 구매·복원과 플랫폼 간 Pro 권한 및 웹 Funnel 관리를 위해 RevenueCat, 사용자가 켠 O'llo 소식 push 알림을 위해 OneSignal, 앱 내 결제를 위해 Apple App Store, OAuth/Calendar/Meet/Contacts/Maps/Places/Weather 기능을 위해 Google 서비스, 지원되는 로그인 또는 클라이언트 연동을 위해 Kakao, 호스팅과 analytics를 위해 Vercel 같은 외부 제공자를 사용할 수 있습니다.
이 제공자들은 O'llo 및 관련 서비스를 운영하는 데 필요한 범위에서 정보를 처리합니다.
데이터 보호
O'llo는 Google 사용자 데이터를 외부 네트워크로 전송할 때 HTTPS를 사용하고, Google Calendar refresh token을 AES-256-GCM으로 암호화하여 저장합니다. OAuth client secret과 암호화 키는 서버 측에서만 관리합니다.
Live Activity의 push token과 종료 상태 자동 시작에 사용되는 iPhone 일정 제목 및 생일 알림의 APNs 기기 token은 별도 서버 키로 AES-256-GCM 암호화하여 저장하고, Supabase Row Level Security와 서버 전용 접근 제한으로 보호합니다. Live Activity push token은 종료 또는 취소 후 삭제합니다. 생일 알림 예약에는 인물 이름을 저장하지 않고 발송 시점에만 확인합니다.
저장된 Google 연결 정보와 Contacts 미리보기 세션은 인증, 사용자 소유권 확인, 사용자별 데이터 접근 제한 및 Supabase Row Level Security로 보호합니다. Google Contacts access token은 가져오기 요청 중에만 사용하고 저장하지 않습니다.
AI 기능에는 Google 계정이나 Calendar를 조작하는 도구 권한이 없으며 생성 결과는 사용자가 검토하는 초안으로만 반환됩니다. O'llo는 운영에 필요한 인원과 서비스 제공자만 필요한 범위에서 데이터에 접근하도록 제한합니다.
쿠키와 분석
O'llo는 로그인 상태 유지, 보안, 세션 확인처럼 서비스 제공에 필요한 필수 쿠키, 브라우저 저장소 또는 앱 저장소를 사용할 수 있습니다.
O'llo는 방문자 수, 페이지 조회, 리퍼러, 브라우저, 운영체제, 국가 같은 사용 통계를 이해하기 위해 Vercel Analytics를 사용할 수 있습니다. Vercel Web Analytics는 쿠키를 사용하지 않고 집계 및 익명화된 방식으로 분석 데이터를 제공합니다.
Supabase와 Vercel은 인증, API 요청 처리, 오류 분석, 보안, 서비스 안정성 개선을 위해 요청 로그, user-agent, IP 기반 지역 정보, 응답 상태 같은 운영 데이터를 처리할 수 있습니다.
데이터 보존 및 삭제
Google Calendar 일정은 표시와 시간 충돌 확인을 위해 필요할 때 가져오며 외부 일정 설명은 저장하지 않습니다. 계정 이메일, 캘린더 메타데이터와 선택 상태, 부여된 권한, 암호화된 refresh token은 해당 계정이 연결된 동안 보관합니다. 설정에서 계정 하나를 연결 해제하면 그 계정의 연결 레코드, 토큰, 캘린더 선택 정보를 삭제하고 해당 계정의 동기화를 중단합니다.
Calendar 날씨의 위치 좌표와 예보는 요청과 화면 표시 중에만 메모리에서 처리하며 데이터베이스, 서버·CDN 캐시 또는 기기의 영구 저장소에 보관하지 않습니다.
iPhone 일정 예약은 앞으로 최대 30일 범위로 동기화합니다. 발송 후 일정 제목을 삭제하고 일정 종료 24시간 뒤 예약 식별자를 삭제합니다. 생일 알림 예약은 발송 시각 24시간 뒤 삭제합니다. 두 기능 모두 45일 동안 동기화되지 않은 기기 등록을 삭제하며, 기능을 끄거나 로그아웃하면 해당 기기의 등록과 미발송 예약을 삭제합니다.
Google Contacts access token은 저장하지 않습니다. 연락처 미리보기 세션은 30분 후 만료되고 만료 후 24시간 이내의 일일 정리 작업에서 삭제됩니다. 선택하지 않은 연락처는 O'llo 인물 기록으로 저장하지 않습니다.
O'llo 소식을 끄면 해당 기기의 OneSignal push 구독을 해제하고 이후 제품 소식 전송을 중단합니다. RevenueCat과 OneSignal의 거래·전달 기록은 결제, 보안, 분쟁 처리와 각 제공자의 보존 정책에 필요한 기간 동안 보관될 수 있습니다.
사용자가 선택해 가져온 연락처와 O'llo가 생성한 Calendar 또는 Meet 식별자 및 링크는 해당 인물이나 약속 기록을 제공하는 동안 보관합니다. 사용자는 O'llo 안에서 인물, 그룹, 리마인더, 약속 투표, 약속 상세 정보, 상호작용 기록을 수정하거나 삭제할 수 있습니다.
사용자는 웹 또는 네이티브 앱 설정에서 계정을 즉시 영구 삭제할 수 있습니다. 삭제하면 활성 시스템의 계정 데이터, Google 연결, Apple 로그인 권한, RevenueCat 고객과 OneSignal 사용자 레코드를 정리하고 Stripe 고객이 있으면 구독과 저장 결제수단을 삭제합니다. App Store 구독은 앱이 대신 취소할 수 없으므로 Apple 구독 설정에서 별도로 관리해야 하며 계정 삭제 후에도 결제가 계속될 수 있습니다. 제한된 백업, 결제·보안 로그는 법률과 서비스 제공자의 보존 주기에 따라 이후 삭제될 수 있습니다. 데이터 내보내기는 아래 이메일로 요청할 수 있습니다.
삭제 중인 다른 기기나 지연된 결제 처리가 같은 외부 식별자와 Stripe 구독을 다시 만들 수 있어, 지연된 Stripe 고객·구독 삭제와 RevenueCat 및 OneSignal 재삭제가 모두 성공할 때까지 Supabase 사용자 UUID만 서버 전용 삭제 대기열에 한시 보관합니다. 이 대기열에는 UUID 외 이메일, 연락처, 관계·캘린더 내용 같은 개인정보, 외부 서비스 원문 payload 또는 원문 오류를 저장하지 않습니다. 최초 재삭제는 삭제 완료 1시간 뒤부터 다음 일일 유지보수에서 시도되므로 예약 실행 간격으로 최대 약 24시간이 추가될 수 있고, 실패하면 성공할 때까지 재시도한 뒤 UUID 레코드를 제거합니다.
문의
개인정보 관련 질문이나 데이터 요청은 jaewon.moon@mail.mcgill.ca 으로 문의해 주세요.