---
task_id: task-1958
type: context
scope: task
created: 2026-04-19
updated: 2026-04-19
status: in-progress
---

# 맥락 노트: task-1958

**task**: task-1958

---

## 결정 근거

### 기존 인프라 활용 전략
- PlanGuard/FeatureGate/LockedFeatureOverlay 이미 구현됨 → 재활용
- planFeatureMap.ts에 새 feature key 추가하여 확장
- require_plan() 데코레이터 패턴 동일하게 활용

### 인포키워드 비동기 패턴
- FastAPI BackgroundTasks로 분석 작업 비동기 처리
- POST → job_id 반환 → GET 폴링 패턴
- 대안: WebSocket 실시간 → 복잡성 대비 이점 부족, 폴링이 적합

### 인슈위키는 소개 + FOMO만
- 실제 위키 콘텐츠는 별도 프로젝트
- 이번 Phase에서는 "이런 기능이 있다" 소개 + FOMO 카운터만
- 가족 문의 CTA로 리쿠르팅 유도

## 3 Step Why

### 1st Why: "왜 이 설계가 필요한가?"
→ Phase 3는 플랫폼의 핵심 차별화 기능(인포키워드/인슈위키/AI코파일럿)을 구현하여, 무료 사용자에게 프리미엄 가치를 보여주고 리쿠르팅을 유도하기 위함.

### 2nd Why: "왜 기존 인프라 재활용이 최선인가?"
→ Phase 2에서 이미 PlanGuard/FeatureGate/require_plan 체계가 검증됨. 새 패턴 도입 시 학습 비용 + 테스트 비용 증가. 기존 패턴 위에 feature key만 추가하면 일관성 유지 + 빠른 구현 가능.

### 3rd Why: "왜 이 접근이 다른 대안보다 나은가?"
→ 대안1: 새 접근제어 시스템 구축 → 불필요한 복잡성. 대안2: 프론트만 잠금 → 서버 검증 없이 우회 가능. 현재 접근(FE 잠금 + BE require_plan)이 보안 + 구현 비용 + 일관성 모두 최적.

## 참조 자료

- 인슈로 시스템 계획서: `memory/plans/insuro-system/plan.md`
- 전수조사: `memory/research/insuro-page-audit.md`
- planFeatureMap: `src/config/planFeatureMap.ts`
- PlanGuard: `src/components/PlanGuard.tsx`
- FeatureGate: `src/components/FeatureGate.tsx`
- require_plan: `server/main.py`

## 주의사항

- API 직접 호출 금지 — CLI만 사용
- premiumOnly 미완성 디자인 절대 건드리지 말 것
- 인슈위키는 소개 + FOMO만 구현
- dnd-kit 라이브러리 설치 필요 (bun add @dnd-kit/core @dnd-kit/sortable @dnd-kit/utilities)
