개인정보처리방침

HookDoc은 서비스 제공에 필요한 최소한의 개인정보만 수집 · 처리합니다. 본 방침은 발신자 (가입자) 와 검토자 (익명 방문자) 모두를 대상으로 하며, 데이터 수집 항목 · 사용 목적 · 저장 위치 · 보관 기간 · 본인 권리 행사 방법을 설명합니다.

1. 수집하는 정보

발신자 (Sender) 가입 시: Google OAuth를 통해 이메일 · 이름 · 프로필 사진 URL · Google 계정 subject ID를 수집합니다. 비밀번호는 저장하지 않습니다.

검토자 (Reviewer) 방문 시: 이름과 이메일은 수집하지 않습니다. 대신 `viewer_session_{reviewId}` 쿠키 (32바이트 랜덤 Base64URL) 와 FingerprintJS 오픈소스 버전으로 생성한 visitor ID의 SHA256 해시만 저장합니다. IP 주소는 /24 (IPv4) 또는 /64 (IPv6) subnet 단위로 축약해 SHA256 해시 상태로만 보관하며, User-Agent 원문도 저장하지 않습니다 (파싱된 browser · os + SHA256 해시만 보관).

2. 이용 목적

수집한 데이터는 (a) 서비스 계정 식별 및 인증, (b) 검토자 세션 구분 (동일 디바이스 재방문 감지), (c) 봇 / 스크래퍼 필터링, (d) 검토자 댓글 · 검토 결과 등 발신자에게 돌려드리는 검토 현황 분석, (e) 보안 사고 대응에 사용됩니다.

GDPR Recital 26 에 따라, 익명화된 검토자 데이터 (쿠키 ID + fingerprint 해시 + subnet 해시) 는 재식별 불가능한 통계 데이터로 간주합니다. 발신자 동의 없이 제3자 마케팅 용도로 판매되지 않습니다.

3. 자체 분석

HookDoc은 외부 제3자 분석 SDK를 사용하지 않습니다. 검토 활동(검토자 댓글 · 검토 결과 등)은 자체 이벤트 원장 (`document_events` 테이블) 에 직접 저장하며, 발신자에게만 제공합니다.

이 방식의 결과로 검토자 데이터는 제3자 서비스 도메인으로 전송되지 않으며, 모든 데이터는 본 방침 §4 에 명시된 저장 위치에만 머무릅니다.

4. 데이터 저장 위치

업로드된 PDF · 페이지 이미지 · 썸네일 · 주석 포함 PDF 파생물은 Cloudflare R2에 저장됩니다. 저장 위치와 처리 위치는 Cloudflare R2 bucket configuration 및 Cloudflare의 data location 정책에 따릅니다. 데이터베이스 레코드 (사용자 · 문서 메타데이터 · 댓글 · 이벤트 원장) 는 Supabase Postgres에 저장되며, 실제 region은 운영 시점 Supabase 프로젝트 설정에 따릅니다.

어떤 원본 PDF도 제3자 AI 학습에 사용되지 않으며, HookDoc 운영자 이외 누구도 직접 접근 권한이 없습니다.

5. 보관 기간 · 삭제

문서 Danger Zone에서 삭제한 문서의 R2 파일은 즉시 하드 삭제됩니다 (복구 불가). 데이터베이스 레코드는 즉시 소프트 삭제 처리되어 서비스에서 더 이상 접근할 수 없게 되며, 감사 목적으로 일정 기간 보관됩니다. 보관 중인 레코드의 완전 삭제를 즉시 원하시면 privacy@hookdoc.app 으로 요청해 주시면 영업일 기준 7일 내 처리해 드립니다.

계정 삭제 시 위 정책이 본인의 모든 문서 · 워크스페이스에 적용됩니다. 이벤트 원장 (`document_events`) 은 검토 결과의 근거 자료이므로 문서가 하드 삭제될 때 함께 삭제됩니다.

6. 본인 권리 (GDPR / 국내 개인정보보호법)

본인 데이터에 대한 열람 · 정정 · 삭제 · 처리 정지 · 처리 이의 권리를 보장합니다. 가장 빠른 방법은 `/app/settings` 의 "계정 영구 삭제" 기능입니다.

데이터 사본 요청 (Right to Access), 특정 항목만 정정 요청, 검토자 세션 삭제 요청 등 셀프 UI로 처리되지 않는 사안은 아래 이메일로 보내 주시면 영업일 기준 7일 내 처리 결과를 회신드립니다.

7. 쿠키 · 로컬 스토리지

필수 쿠키: `viewer_session_{reviewId}` (검토자 세션), `sb-*` (Supabase 로그인 세션), `NEXT_LOCALE` (언어 선호). 이들은 서비스 동작에 필수이며 동의 여부와 무관하게 사용됩니다.

현재 선택 쿠키 · 외부 분석 쿠키는 사용하지 않습니다. 자세한 쿠키 목록은 쿠키 정책 페이지에서 확인하실 수 있습니다.

8. 결제 처리 (유료 플랜 전환 시)

베타 기간 동안 HookDoc은 유료 결제를 활성화하지 않습니다. 향후 유료 플랜이 도입될 경우, 결제는 Polar.sh 등 PCI DSS 준수 Merchant of Record (MoR) 를 통해 처리할 예정이며, 신용카드 번호 · 결제 정보는 HookDoc 서버에 저장하지 않습니다.

결제 처리자가 확정되면 본 방침을 사전 업데이트합니다.

9. 어린이 개인정보

본 서비스는 만 14세 미만 이용자의 가입을 제한합니다. 만 14세 미만으로 의심되는 계정이 확인되면 사전 고지 후 삭제합니다.

10. 방침 개정

본 방침이 개정될 경우 최소 7일 전에 이메일 또는 서비스 내 공지로 알려 드립니다. 중대한 변경 (수집 항목 추가 · 제3자 전송 정책 변경) 은 30일 사전 공지 후 재동의를 받습니다.

검토자 (Recipient) 측 데이터 처리

공유 링크를 통해 본 서비스의 문서를 열람하는 익명 검토자에 대한 처리 명세입니다. 발신자 (Sender · 회원) 측 처리는 §1~§10 을 따르며, 본 섹션은 검토자 측 자동 수집 · 처리에만 적용됩니다.

수집 항목

검토자 페이지 진입 시 HookDoc은 발신자에게 검토 신호 (review signal) 를 제공하기 위해 가명/해시 기반 세션 식별자와 검토 활동 데이터를 수집합니다.

수집 항목: `viewer_session_{reviewId}` 쿠키 (32바이트 익명 토큰), 비가역 fingerprint 해시, IP 주소를 /24 (IPv4) 또는 /64 (IPv6) subnet 단위로 축약한 SHA256 해시, 정규화된 브라우저 family · OS family · device type, 검토 활동 신호(페이지 열람 · 재방문, 페이지 반응, 검토 결과, 다운로드, 링크 진입, 새 기기 추정), 댓글 본문 (검토자가 직접 작성한 경우).

원시 IP 주소 · User-Agent 원문 · 전체 브라우저 버전은 저장하지 않습니다.

위 식별자는 재식별 불가능한 익명 데이터로 단정하지 않으며, 가명/해시 처리된 세션 식별자로 분류합니다. 발신자에게는 원문 식별자가 제공되지 않으며 익명 라벨 (예: "첫 번째 검토자") 만 노출됩니다.

이용 목적

(가) 발신자에게 검토 신호 (review signal) 분석 자료 제공, (나) 봇 · 스크래퍼 필터링, (다) 보안 사고 대응 및 서비스 품질 개선. 마케팅 · 광고 · 제3자 판매 목적의 처리는 일절 하지 않습니다.

법적 근거

한국: 개인정보보호법 §15 ① 7호 (개인정보처리자의 정당한 이익을 달성하기 위해 필요한 경우로서, 정보주체의 권리보다 명백하게 우선하는 경우에 한함) — 본 서비스의 핵심 기능 (검토 신호 제공) 충족을 위한 최소한의 처리이며, 익명 해시 기반으로 정보주체의 식별 가능성 · 권리 침해를 최소화합니다.

미국: legitimate business purpose (CCPA §1798.140(e) business purpose 정의 + §1798.100(b) reasonably necessary and proportionate 비례성 원칙). California 거주자는 §1798.105 deletion right · §1798.110 right to know 등 CCPA 권리를 행사할 수 있습니다.

보관 기간

`document_events` 원장: 180일 후 자동 파기. 발신자가 문서를 삭제하면 원본 파일은 R2 저장소에서 즉시 삭제되고, 서비스 데이터베이스에서는 삭제 상태로 처리됩니다. 다만 네트워크 또는 CDN 캐시는 서비스 제공자의 캐시 정책에 따라 일정 시간 동안 남을 수 있습니다.

고지 방식 (팝업 미사용)

검토자가 공유 링크에 접속한 시점에 화면 하단에 항시 표시되는 고지선 (slim disclosure rail) 으로 본 처리 사실을 알립니다. 별도의 동의 팝업 · 배너는 사용하지 않으며, 본 처리는 §15 ① 7호 정당한 이익 근거로 진행됩니다. 발신자도 메일 본문 등에서 사전 안내할 책임을 지며 (이용약관 §9.1 참조), 양 고지는 누적적으로 작동합니다.

검토자의 권리 — 열람 · 삭제 · 처리 정지 · 이의

검토자는 본인의 검토 세션에 대한 열람 · 삭제 · 처리 정지 · 이의 권리를 가집니다. `contact@hookdoc.app` 로 (가) 받은 링크 URL과 (나) 추정 방문 시각을 함께 보내주시면 영업일 기준 7일 이내 처리합니다 (한국 개인정보보호법 §35~37 "지체없이" 기준).

외부 제3자 분석 SDK 미사용

본 서비스는 외부 제3자 분석 SDK를 일절 도입하지 않습니다. 모든 분석은 자체 인프라 (Cloudflare R2 + Supabase Postgres) 만으로 처리되며, 검토자 데이터는 제3자 분석 도메인으로 전송되지 않습니다.

지역별 운영 범위

현재 검토자 페이지는 대한민국 · 미국 · 캐나다 · 호주 · 뉴질랜드에서만 운영됩니다. EU · EEA · 영국 · 스위스 검토자는 GDPR / UK GDPR / nFADP 정합성을 갖춘 별도 모드 출시 전까지 안내 페이지로 자동 안내됩니다.

AI 보조 기능 (추천 질문 · 답장 초안)

HookDoc은 검토자의 질문 작성을 돕는 추천 질문과 발신자의 답변 작성을 돕는 답장 초안 기능을 Anthropic의 Claude API로 제공합니다.

AI provider(Anthropic)로 전송되는 데이터 — 추천 질문: 검토자가 선택한 제안서 텍스트, 해당 페이지의 제한된 문맥, 페이지 번호. 답장 초안: 검토자 댓글/질문 본문, 선택된 인용(region quote), 관련 페이지 문맥, 페이지 번호, 같은 검토자의 이전 댓글.

전송하지 않는 데이터: 쿠키 ID, IP 주소, User-Agent 원문, fingerprint, 세션 식별자, signed URL, 전체 PDF 원문 등 생성에 불필요한 정보.

AI 생성 결과는 보조 문구이며 법률/계약 자문이 아닙니다. 사용자는 초안을 검토 · 수정한 뒤 사용할 책임이 있습니다.

Gmail 연동 발송 (제안서 메일 보내기)

HookDoc은 사용자가 직접 작성·확인한 제안서 이메일(검토 링크 포함)을, 사용자가 [보내기]를 누른 경우에 한해 사용자 본인이 연결한 Gmail 계정으로 발송합니다. 이를 위해 Google OAuth의 gmail.send 권한 하나만 요청하며, 메일을 읽거나 검색·수정·라벨·삭제하지 않습니다(readonly·compose·modify·metadata·연락처 권한을 요청하지 않습니다).

발송에 필요한 Google refresh token은 복호화 가능한 형태로 암호화(AEAD)되어 저장되며, 어떤 로그에도 원문으로 남기지 않습니다. 설정에서 Gmail 연결을 해제하면 저장된 토큰을 폐기하고 Google에 권한 회수(revoke)를 요청합니다.

발송 기록은 수신자 이메일·제목 등 최소한의 메타데이터만 저장하며, 메일 본문은 저장하지 않습니다.

이메일 초안을 자동으로 만들 때는 제안서 요약과 발송 의도(intent)만 Anthropic(Claude) API로 전송해 문장 초안을 생성합니다. 수신자 이메일·이름, 실제 검토 링크, Gmail 토큰은 AI에 전송하지 않습니다.

HookDoc의 Google 사용자 데이터 처리는 Google API Services User Data Policy(제한적 사용 요건 포함)를 준수합니다.

주소록(연락처) 데이터

HookDoc은 제안서 발송 시 받는 사람 이름·이메일을 빠르게 입력할 수 있도록, 사용자가 업로드한 개인 주소록을 저장합니다.

수집 항목: 이름, 이메일, (선택) 회사명. CSV 원본 파일과 전화번호·주소·직책·메모 등 그 외 항목은 저장하지 않습니다 — 브라우저에서 이름·이메일·회사명만 추출해 서버로 보냅니다.

저장 시점: CSV를 업로드하는 것만으로는 저장되지 않습니다. 미리보기를 확인한 뒤 '내 주소록에 저장'을 클릭한 경우에만 저장됩니다.

이용 목적: 제안서 발송 화면에서 받는 사람 이름·이메일 자동완성 입력 보조. CRM·마케팅·대량 발송 목적으로 사용하지 않습니다.

보관 기간: 사용자가 삭제하거나 계정을 삭제할 때까지 보관합니다. '주소록 지우기(전체 삭제)'를 선택하면 즉시 완전 삭제(물리 삭제)합니다. 개별 삭제한 연락처는 자동완성에서 제외됩니다.

제3자 제공·국외 이전·마케팅 이용을 하지 않습니다. 저장된 주소록 데이터는 Claude, MCP 커넥터, AI 응답 생성 경로로 전달하지 않습니다.

정보주체 권리: 개별 삭제 및 전체 삭제를 발송 화면에서 제공합니다.

Subprocessor (제3자 처리자)

HookDoc은 서비스 제공을 위해 다음 subprocessor를 활용합니다. 실제 활성화된 처리자만 명시되며, 신규 도입 시 본 방침을 사전 업데이트합니다.

• Cloudflare (R2 / Pages / Workers / KV) — 객체 저장, 정적 호스팅, edge compute. 처리 데이터: 업로드 PDF · 페이지 이미지 · cron warming. • Supabase (Auth / Postgres) — 발신자 인증, 데이터베이스. 처리 데이터: 발신자 계정 · 문서 메타 · 댓글 · 이벤트 원장. • Google (OAuth) — 발신자 로그인. 처리 데이터: 이메일 · 이름 · 프로필 사진 URL · Google subject ID. • Anthropic (Claude API) — AI 추천 질문 · 답장 초안 생성. 처리 데이터: 위 "AI 보조 기능" 섹션에 명시한 항목만 전송. • Sentry — 오류 모니터링 (error monitoring). 처리 데이터: 오류 발생 시 스택 트레이스 등 진단 정보. 댓글 본문 · 이메일 · IP 원문 · 토큰 · presigned URL 은 전송 전 자동 마스킹됩니다.

HookDoc은 외부 제3자 분석 SDK (Microsoft Clarity · Google Analytics · PostHog · Mixpanel · 외부 heatmap/replay SDK) 를 사용하지 않습니다.

문의 접수 (Contact form) 데이터 처리

HookDoc은 /contact 문의 폼으로 접수된 문의를 다음과 같이 처리합니다.

수집 항목: 이름, 업무용 이메일, (선택) 회사명·직무, 문의 유형, 문의 내용, 접속 IP의 비가역 해시값(ip_hash). 원본 IP 주소는 저장하지 않습니다.

수집 목적: 문의에 대한 답변, 서비스 운영·개선, 스팸·중복 제출 방지.

법적 근거: 정보주체의 동의(폼 제출 시 명시 동의). 보관 기간: 문의 처리 완료 후 1년 또는 동의 철회 시까지(이후 지체 없이 파기).

제3자 제공·국외 이전은 하지 않으며, 문의 데이터는 마케팅·광고 목적으로 사용하지 않습니다. 문의 데이터의 열람·삭제 요청은 본 방침의 연락처로 보내주시면 처리합니다.

데이터 사본 요청 · 삭제 문의 · 프라이버시 관련 질문: privacy@hookdoc.app (영업일 기준 7일 내 답변)

문의 폼으로 보내기 →