개인정보처리방침
시행일: 2026년 5월 19일 · 버전 1.1
한국어 번역본입니다. 법적 효력은 영문 원본을 따릅니다. 양 본문에 차이가 있을 경우 영문본이 우선합니다.
1. 수집하는 정보
사용자가 직접 제공하는 정보
- 계정 정보: Google OAuth로 받은 이메일, 이름, 프로필 사진.
- 연락처 정보: 이름, 전화번호, 이메일, 소속, 미팅 메모, 태그. 이 필드들은 Supabase로 업로드되기 전에 사용자 기기에서 암호화됩니다. Recallink 운영자는 이 내용을 볼 수 없습니다.
- 상호작용 로그: 사용자가 입력한 대화 내용, 일시, 장소, 대상. 텍스트 콘텐츠(제목, 상세, 위치, 분위기, 키워드, 태그)는 기기에서 암호화 후 업로드됩니다. Recallink 운영자는 이 내용을 볼 수 없습니다. 이벤트 시각 자체는 동기화 엔진의 행 정렬을 위해 평문 메타데이터로 남습니다(3.5 참조).
자동으로 수집되는 정보
- 사용 데이터: 방문 페이지, 사용한 기능, 타임스탬프. 분석 쿠키에 동의한 경우에만 수집됩니다.
- 기기 정보: 브라우저 종류, OS, 화면 크기 — 반응형 레이아웃과 디버깅 용도.
- IP 주소: 보안 목적(레이트 리미트, 어뷰즈 방지). 추적 목적으로는 사용하지 않습니다.
2. 데이터 이용 목적
- 본인 확인 및 세션 유지.
- 여러 기기에서의 연락처/로그 저장 및 동기화(클라우드 동기화 활성화 시).
- Stripe / 계좌이체 / Play Billing / StoreKit 등을 통한 결제 처리.
- 어뷰즈, 사기, 무단 접근 방지.
- 집계된 익명 사용 패턴을 기반으로 한 서비스 개선.
다음은 하지 않습니다: 사용자 데이터의 판매, 광고 용도 사용, 제3자 마케팅 목적 공유.
3. 데이터가 저장되는 곳
로컬-퍼스트 아키텍처
연락처 데이터는 기본적으로 사용자 기기(브라우저 IndexedDB 또는 네이티브 앱 데이터베이스)에 저장됩니다. 핵심 기능에는 서버 요청이 필요하지 않습니다.
클라우드 동기화 (선택, 유료)
활성화하면 데이터는 Supabase(Supabase Inc. 호스팅 PostgreSQL)로 동기화됩니다. Row-Level Security로 본인 행만 접근 가능하고, 전송 중 TLS 1.3, 저장 시 AES-256으로 암호화됩니다. 자세한 zero-knowledge 약속은 3.5절을 참조하세요.
3.5 Zero-Knowledge 암호화 (클라우드 동기화)
작동 방식
클라우드 동기화의 모든 민감 필드는 사용자 기기에서 AES-256-GCM으로 암호화된 뒤 Supabase로 업로드됩니다. 키는 사용자가 설정한 패스프레이즈로부터 PBKDF2-HMAC-SHA256(250,000회 반복, salt =recallink.sync.v1|userId)을 거쳐 파생됩니다.
패스프레이즈는 어떤 형태로도 Recallink 서버에 전송되지 않으며 저장되지도 않습니다. 잊어버리시면 복구가 불가능합니다.
Recallink 운영자가 볼 수 없는 것
- 연락처 이름, 별명, 전화번호, 이메일, 주소, 메모.
- 상호작용 제목, 상세, 분위기, 위치 텍스트.
- 태그, 사용자 정의 카테고리 이름, 템플릿 내용.
- 첨부 파일 내용 (업로드 전에 암호화됨).
- 패스프레이즈.
.recallink-backup백업 파일 안의 어떤 데이터든 (역시 패스프레이즈로 암호화).
Recallink 운영자가 볼 수 있는 것 (의도적으로 평문)
동기화 엔진의 정렬 / 충돌 해소 / 결제 처리에 필요한 최소 메타데이터는 평문으로 저장됩니다:
- 사용자 ID (UUID — 개인 식별이 안 되는 임의 문자열).
- 행 ID (UUID).
- 타임스탬프:
created_at,updated_at,deleted_at,event_time,last_contact_date,last_met_date. - 외래 키 관계 (예: Link가 어떤 Contact를 가리키는지).
- 카테고리 코드 (예: "99" 같은 숫자 — 사람이 정한 이름은 암호화된
Settings.categories안에 있음). - 업로드한 기기의 UUID (
_device_id). - 결제 식별자 (Stripe 고객 ID, Play 구매 토큰, 계좌이체 intent ID, 구독 상태/플랜/만료일).
서버 측 FTS 제거
2026-05-15 마이그레이션 004에서 서버 측 full-text 검색 컬럼 (contact.fts,link.fts)을 완전히 삭제했습니다. 암호화 전 인덱싱된 평문은 더 이상 서버에 남아 있지 않습니다. 검색은 사용자 기기에서 복호화된 로컬 데이터로 수행됩니다.
이것이 의미하는 바
- 패스프레이즈를 잊으면 동기화된 클라우드 사본을 복구할 수 없습니다. 기기에 저장된 로컬 데이터는 여전히 사용 가능합니다 (로컬 DB는 빠른 조회를 위해 평문이고, 암호화는 클라우드 사본에만 적용됨).
- 새 기기로 옮길 때는 같은 패스프레이즈를 새 기기에서 입력해야 합니다.
- Recallink는 패스프레이즈 "재설정 링크"를 이메일로 보낼 수 없습니다. 그런 경로 자체가 존재하지 않습니다.
4. 제3자 처리자
전체 목록 및 처리 목적은 영문 원본 4절을 참조하세요(Google, Supabase, Stripe, Vercel). 각 처리자는 자체 개인정보처리방침과 데이터 처리 계약을 따릅니다.
5. 쿠키
인증·세션용 필수 쿠키만 사용하며 광고/트래킹 쿠키는 사용하지 않습니다. 분석 쿠키는 쿠키 배너에서 명시적으로 동의한 경우에만 로드됩니다. 언제든지 동의를 철회할 수 있습니다.
6. 사용자의 권리
사용자는 본인 데이터에 대해 다음 권리를 가집니다: 열람, 수정, 삭제, 내보내기 (CSV / vCard / JSON / Google Contacts), 동의 철회, 계정 삭제. 자세한 내용은 영문 원본 6절을 참조하세요. EU/EEA 거주자는 GDPR이, 캘리포니아 거주자는 CCPA가 추가로 적용됩니다.
7. 데이터 보유 기간 및 계정 삭제
구독 취소 후에도 로컬 데이터는 영향을 받지 않습니다. 계정을 삭제하면 30일 유예 기간 후에 클라우드의 암호화된 사본이 영구 삭제됩니다. 기기에 저장된 로컬 데이터는 별도로 영향을 받지 않으며 사용자가 직접 정리해야 합니다.
8. 문의
본 처리방침에 대한 문의는 support@recallink.com로 보내주세요.