vignette/docs/phase3/privacy-consent-audit.md
Yun Chan 085460b5e0 대시보드 폴드아웃/드릴다운 정리 + 페르소나 역린·misconduct 반응 + 게이트웨이 격리·RAG 비차단 수정
SSOT 대시보드:
- 한신대 기술분석 PDF(19쪽) 정합성 분석 + 이번 세션 발견 섹션 추가
- 섹션 폴드아웃(접기)·상단 목차(드릴다운)·모두 펼치기/접기 — 내용 보존, 레이아웃만 정리

페르소나 반응 강화('저항·반응 조절' 핵심 차별):
- PersonaCard.triggers(역린) 필드 + CCD 핵심상처 파생 역린 블록
- L0에 무례·모욕·조롱 시 현실적 동맹 균열 반응 지침

버그·성능 수정(라이브/E2E로 포착):
- 게이트웨이 페르소나 격리: --append-system-prompt를 --system-prompt(교체)로 + --exclude-dynamic-system-prompt-sections (내담자 캐릭터 붕괴·개발맥락 누출 차단)
- RAG: 임베더 동기 로드(약 7-13초)를 _warm_rag_caches 백그라운드 warm으로(세션 생성 블로킹 회귀 수정)
- voice TTS RMS 데드힌트 제거, init_state OpennessParams 파라미터객체화
- 한국어 PII(날짜·금액·주소) 마스킹 보강
- 레이아웃 시각 게이트: 폼 컨트롤 값 스크롤 오탐 제외(7/7)

검증: 백엔드 84/84, E2E 42(데스크톱 27·모바일 11·아바타 4), 시각 게이트 7/7
2026-06-27 02:30:46 +09:00

4.7 KiB

Phase 3 Privacy, Consent, and Withdrawal Audit

Purpose

Provide an operator checklist for consent, withdrawal, privacy review, and evidence collection before and during the 20-person education pilot. This is an operational artifact, not legal advice.

Primary evidence files:

  • 04-privacy/privacy_audit.md
  • 04-privacy/withdrawal_log.csv

Pre-Pilot Privacy Gate

Copy this checklist into 04-privacy/privacy_audit.md and complete it with reviewer names, dates, and evidence links.

# Phase 3 Privacy Audit

Pilot ID:
Evidence root:
Review date:
Operator:
Data steward:
Legal/privacy reviewer:

## Scope
- [ ] Intended use is education/training, not diagnosis, treatment, or emergency care.
- [ ] Participant population and inclusion/exclusion criteria are approved.
- [ ] Self-harm primary scenarios remain excluded unless separately approved.
- [ ] Minor/source-case data use, if any, has documented lawful consent or approval.

## Consent
- [ ] Consent form version is recorded.
- [ ] Consent covers session storage, review, KPI reporting, and any dataset export use.
- [ ] Consent explains third-party model or inference transfer, if applicable.
- [ ] Consent explains withdrawal process and practical limits after anonymized export.
- [ ] Consent receipt is captured before first session.

## Privacy Controls
- [ ] Evidence files use pseudonymous participant IDs only.
- [ ] Identity map location is restricted and not in the repository or export.
- [ ] PII masking is active before external model calls.
- [ ] Raw audio, raw source cases, and direct identifiers are excluded from Phase 3
      artifacts unless separately approved.
- [ ] Retention and deletion schedule is documented.
- [ ] RBAC and audit logging are enabled for instructor/admin views.
- [ ] Export PII scan process is documented.

## Vendor and Transfer Review
- [ ] Model providers and regions are listed.
- [ ] Data sent to each provider is described at field level.
- [ ] Secrets are not stored in evidence files.
- [ ] Any overseas transfer, subprocessors, or institutional requirements have been
      reviewed by counsel or the designated privacy reviewer.

## Decision
- [ ] Approved to start pilot.
- [ ] Approved to generate KPI report.
- [ ] Approved to generate anonymized export.
- [ ] Blocked pending legal/privacy review.

Open issues:

Withdrawal Log

Evidence file: 04-privacy/withdrawal_log.csv

Required header:

participant_id,requested_at,effective_at,scope,status,attestation_path

Allowed scope values:

  • future_sessions_only
  • exclude_from_analysis
  • exclude_from_export
  • delete_where_policy_allows

Allowed status values:

  • received
  • in_progress
  • completed
  • rejected_by_policy
  • needs_legal_review

Withdrawal Runbook

  1. Record the request in withdrawal_log.csv using only participant_id.
  2. Stop new sessions for that participant.
  3. Mark the roster withdrawal_state.
  4. Identify sessions, turns, measures, review records, and export rows in scope.
  5. Exclude the participant from future exports unless legal review states otherwise.
  6. Remove or anonymize records where the approved retention/deletion policy allows.
  7. Create an attestation note at the path listed in attestation_path.
  8. Re-run the artifact checker and KPI report.
  9. If an export was already produced, add a manifest limitation and create a replacement export if required by policy.

Attestation template:

# Withdrawal Attestation

Participant ID:
Request received:
Effective date:
Scope:
Operator:
Reviewer:

Actions completed:
- [ ] Account/session access stopped.
- [ ] Roster updated.
- [ ] KPI denominator/exclusion notes updated.
- [ ] Export manifest updated or export blocked.
- [ ] Deletion/anonymization completed where policy allows.

Records not changed and reason:

Reviewer decision:

Daily Operator Checklist During Pilot

  • New sessions have consent receipts before start time.
  • No direct identifiers were added to evidence CSVs.
  • Instructor/admin access review entries are present for any manual review.
  • Withdrawal requests are processed before KPI/export generation.
  • Safety events are reviewed without copying sensitive free text into the roster.
  • Evidence root checker is run after each pilot day:
python scripts\check-phase3-artifacts.py --check --evidence-root $root

Exit Gate

The privacy gate is complete only when:

  • privacy_audit.md is signed and has no unresolved high severity issue.
  • withdrawal_log.csv exists and all rows are terminal or explicitly marked needs_legal_review.
  • KPI and export artifacts use the same withdrawal/exclusion decisions.
  • Legal/privacy reviewer has approved real participant evidence handling.