---
task_id: task-2156
type: checklist
scope: task
created: 2026-04-24
updated: 2026-04-24
status: in-progress
---

# 체크리스트: task-2156

**task**: task-2156

---

## Phase 1 — 토르(백엔드): DB 스키마

- [x] A. compliance_consents 테이블 마이그레이션 SQL 작성
- [x] B. compliance_versions 테이블 마이그레이션 SQL 작성
- [x] C. RLS 정책 설정 (본인 동의만 조회/삽입)
- [x] D. 초기 면책 문구 v1.0 seed 데이터 삽입

## Phase 2 — 토르(백엔드): API 엔드포인트

- [x] A. GET /api/insuro/compliance/consent-status 엔드포인트
- [x] B. POST /api/insuro/compliance/consent 엔드포인트
- [x] C. Edge Function (generate-content) 동의 검증 추가
- [x] D. ConsentRequest Pydantic 모델 추가

## Phase 3 — 프레이야(프론트엔드): UX 구현

- [x] A. complianceConfig.ts 생성 (면책 상수 + SHA-256 해시)
- [x] B. useComplianceConsent 훅 생성
- [x] C. ComplianceConsentBanner.tsx 배너 컴포넌트 생성
- [x] D. Generate.tsx 연동 (배너 삽입 + 버튼 비활성화)
- [x] E. GenerateSettingsPanel.tsx 기존 면책 섹션 호환 유지

## 검증

- [x] TypeScript 빌드 통과 (tsc --noEmit exit 0)
- [x] Vite 빌드 통과 (8초)
- [x] API 인증 검증 (401 미인증 차단)
- [x] Pyright 타입 에러 수정 (type: ignore[assignment])
- [ ] Supabase 마이그레이션 실행 (프로덕션 배포 시)
- [x] QC 검증 완료
- [x] 최종 보고
