DPIA 기술 체크리스트 (초안)
상태: Draft — ADR 0011 S2 (7~10M) 기술 작업 착수 전 Chair 검토 날짜: 2026-04-22 작성: 자율 세션 선행 결정: ADR 0011 Phase 1 우선순위 § 18M 마일스톤
1. 왜 지금 쓰는가
개인정보보호위원회 제출용 DPIA (Data Protection Impact Assessment) 1차 신고를 S4 (13~16M) 에 목표. 신고서 기술 부록은 S2 (7~10M) 에 체계적 조사 필요.
DPIA 는 개인정보를 자동화된 수단 으로 대량 처리 하는 시스템에 필수 — 너홀로프로는 의뢰인 개인정보 (성명·전화·주소·주민번호 뒷자리·계좌·판결문) 를 OCR · LLM prompt · Firestore · Storage 로 순환 처리하므로 대상.
2. 현 처리 현황 인벤토리 (2026-04-22)
2.1 개인정보 수집 지점
| 경로 | 정보 유형 | 보유 기간 | PII 마스킹 |
|---|---|---|---|
| 사건 등록 (수동) | 의뢰인·상대방 성명/전화/주소/신분번호 | 사건 유지 + 5년 (보관 의무) | — |
| CSV 은행거래내역 | 계좌번호·거래 상대방 | 사건 유지 | CSV 파서 redaction 필요 (Phase 0) |
| 종이 스캔 업로드 | 판결문·서류 전체 | 사건 유지 | OCR 후 3단 redaction |
| 의뢰인 포털 메시지 | 자유 텍스트 | 사건 유지 | 마스킹 안 함 |
| AI prompt 전송 | caseData 요약 | 세션 내 (Gemini 보존 정책) | maskPII 필수 |
| Vertex AI Search 인덱스 | redactedText (비식별화 완료) | 영구 (삭제 요청 시 수동) | 이미 비식별화 |
2.2 AI 호출 PII 흐름
- Gemini (Firebase AI Logic): 클라이언트 호출, 응답은 서버 경유 없이 브라우저에 직접.
apps/web/lib/ai/client.ts - Vertex AI Search: 서버 Server Action 에서만 호출. redactedText 만 인덱싱.
- PII 마스킹 유틸:
apps/web/app/(workspace)/cases/_lib/ai-helpers.ts:maskPII— 주민번호·전화·계좌 패턴 일괄 처리.
2.3 국외 이전 여부
- Firebase AI Logic Gemini: Google 미국 리전 → 국외 이전 해당
- Vertex AI Search: 한국 리전 선택 가능 (현 설정 확인 필요)
- Firestore: multi-region (asia-northeast3 기본) → 국내
DPIA 신고서 핵심 항목: "국외 이전 시 국가·업체·목적·보관기간·대체수단" 명시.
3. S2 기술 작업 체크리스트
3.1 로그 · 감사 추적
- AI 호출 이력 (tenantId · caseId · uid · timestamp · feature · weight) 수집 경로 확정
- 현재
activityLog+docgenEvents+relatedMemoriesEvents는 있음. Gemini 직접 호출 횟수는 미추적. - 후속 작업:
executeAiAction내부에 텔레메트리 1건씩 추가.
- 현재
- 개인정보 다운로드 이력 (Signed URL 발급 시점 · 대상 파일 · 요청자 uid)
- 현재 Signed URL 발급 로그 없음.
generateDocxAction은activityLog에 기록하지만 범용 다운로드 경로는 미흡.
- 현재 Signed URL 발급 로그 없음.
3.2 PII 마스킹 검증
-
maskPII의 재식별 불가능 증명 (adversarial sample eval) -
scripts/eval-citation-precision.ts에 PII leak detection evaluator 추가 - Vertex AI Search 인덱스 재구성 스크립트 (
scripts/rebuild-vertex-index.ts) — 과거 미-마스킹 데이터 정화
3.3 삭제 요청 대응
- 의뢰인 삭제 요청 시 처리 경로 문서화
- Firestore cascade 삭제 (tenant-level 리소스)
- Vertex AI Search 인덱스 삭제 API 호출
- Cloud Storage OCR 원본 삭제
- Gemini 는 자동 삭제 (모델 재학습 제외 옵션 확인)
3.4 접근 제어
- Firestore Security Rules 감사 (Layer 1: 서버 사이드 guard + Layer 2: rules)
- Admin SDK 사용 Server Action 의 ownership 검증 재감사
-
guardedCollectionGroup7 호출부 현상 유지 + Phase 3 Sentry runtime 연결
3.5 데이터 최소화
- AI prompt 에 전송되는 caseData 필드 전수 목록화 (
buildAiPromptInput인벤토리) - 불필요 필드 제거 (예: clientAddress 전체가 필요한가 vs 시 단위면 충분한가)
4. 의뢰인 통지 · 동의
4.1 현 상태
- 포털 접속 시 동의 문구 없음 (단순 4자리 코드 입력)
- 가입 시 이용약관·개인정보 처리방침 체크 (
apps/web/app/(auth)/에 있음)
4.2 S2 추가 필요
- 포털 첫 접속 시 "AI 가 본 사건 정보를 분석하여 서류를 생성하며, Google Gemini 미국 서버로 전송됨" 명시 동의
- 의뢰인 데이터 AI 처리 거부권 (변호사 토글로 이미 지원 — Phase 2
referencedLegacyDocIds제외권과 다름)
5. 국외 이전 대체수단
소버린 AI 전환 (ADR 0004 Phase 2 후반) 까지의 과도기 조치:
| 조치 | 상태 | S2 목표 |
|---|---|---|
| Google DPA 서명 (Data Processing Addendum) | 미확인 | 확인 + 사본 보관 |
| SCC (Standard Contractual Clauses) 첨부 | 미확인 | 확인 |
| 보관 기간 명시 | 확인 필요 | Gemini: 기본 0일 (on-demand only) 옵션 |
| 재학습 거부 | 확인 필요 | API 레벨에서 publisherId 확인 |
6. 후속 (S4 본 신고 전)
- DPIA 신고서 초안 작성 (법무 자문 병행)
- 외부 컨설팅 (개인정보보호위원회 지정 PIPO 조사관) 1~2회
- 내부 정보보호책임자 (Pro 플랜 실제 유치 전까지는 Chair 본인)