---
template: ia-doc@1
doc_id: 00-ia
title: site 서비스 화면 인벤토리 — App.tsx 라우트 트리 surface 축
config: ../_meta/template-config.yaml
last_verified: 767d1e44
surfaces:
  - id: site-root
    path: /
    status: active-prod
    evidence: [S-route, S-guard]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - element `Navigate` 가 이 저장소의 컴포넌트 파일로 해석되지 않는다 — 근거 쌍 중 S-component 를 세울 수 없다
    exits:
      - site-main :: 라우트 element 가 `<Navigate to="/main" replace />` 라 즉시 넘어간다
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:362
      - insuniverse-site/front/src/shared/hooks/App/useAuthGuard.tsx
  - id: site-admin-view-b2c-param
    path: /admin-view/b2c/:bodId
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
    exits:
      - 막다름 :: `AdminViewLayout` 이 네비게이션을 렌더하지 않고 컴포넌트에 라우트 이동 호출이 0건이다
    anchors:
      - insuniverse-site/front/src/App.tsx:337
      - insuniverse-site/front/src/pages/admin-view/AdminViewB2cAnalysisPage.tsx
  - id: site-admin-view-b2c-sub-param
    path: /admin-view/b2c/sub/:subParam
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
      - 이탈 판정 근거 없음 — 이 컴포넌트의 이동은 `navigate(-1)` 히스토리 되돌리기라 대상 라우트를 지정하지 않는다. 실제로 막다른 화면인지는 이 문서가 판정하지 않았다
    exits:
      - 없음 :: 3소스에서 유도되는 이탈이 0건이다. 이 컴포넌트의 이동은 `navigate(-1)` 히스토리 되돌리기라 대상 라우트를 지정하지 않는다
    anchors:
      - insuniverse-site/front/src/App.tsx:341
      - insuniverse-site/front/src/pages/admin-view/AdminViewB2cSubDetailPage.tsx
  - id: site-admin-view-client-param
    path: /admin-view/client/:codId
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
    exits:
      - 막다름 :: `AdminViewLayout` 이 네비게이션을 렌더하지 않고 컴포넌트에 라우트 이동 호출이 0건이다
    anchors:
      - insuniverse-site/front/src/App.tsx:338
      - insuniverse-site/front/src/pages/admin-view/AdminViewClientAnalysisPage.tsx
  - id: site-admin-view-client-sub-param
    path: /admin-view/client/sub/:subParam
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
      - 이탈 판정 근거 없음 — 이 컴포넌트의 이동은 `navigate(-1)` 히스토리 되돌리기라 대상 라우트를 지정하지 않는다. 실제로 막다른 화면인지는 이 문서가 판정하지 않았다
    exits:
      - 없음 :: 3소스에서 유도되는 이탈이 0건이다. 이 컴포넌트의 이동은 `navigate(-1)` 히스토리 되돌리기라 대상 라우트를 지정하지 않는다
    anchors:
      - insuniverse-site/front/src/App.tsx:342
      - insuniverse-site/front/src/pages/admin-view/AdminViewClientSubDetailPage.tsx
  - id: site-admin-view-member-param
    path: /admin-view/member/:oddId
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
    exits:
      - 막다름 :: `AdminViewLayout` 이 네비게이션을 렌더하지 않고 컴포넌트에 라우트 이동 호출이 0건이다
    anchors:
      - insuniverse-site/front/src/App.tsx:336
      - insuniverse-site/front/src/pages/admin-view/AdminViewMemberAnalysisPage.tsx
  - id: site-admin-view-member-sub-param
    path: /admin-view/member/sub/:subParam
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
      - 이탈 판정 근거 없음 — 이 컴포넌트의 이동은 `navigate(-1)` 히스토리 되돌리기라 대상 라우트를 지정하지 않는다. 실제로 막다른 화면인지는 이 문서가 판정하지 않았다
    exits:
      - 없음 :: 3소스에서 유도되는 이탈이 0건이다. 이 컴포넌트의 이동은 `navigate(-1)` 히스토리 되돌리기라 대상 라우트를 지정하지 않는다
    anchors:
      - insuniverse-site/front/src/App.tsx:340
      - insuniverse-site/front/src/pages/admin-view/AdminViewSubDetailPage.tsx
  - id: site-alarm-detail-param
    path: /alarm/detail/:pshId
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:365
      - insuniverse-site/front/src/pages/alarm/AlarmDetailPage.tsx
  - id: site-alimtalk-expired-access-link-param
    path: /alimtalk/expired-access-link/:code
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
    exits:
      - 막다름 :: `AlimTalkLayout` 이 네비게이션을 렌더하지 않고 컴포넌트에 라우트 이동 호출이 0건이다
    anchors:
      - insuniverse-site/front/src/App.tsx:291
      - insuniverse-site/front/src/pages/alimTalk/ExpiredAccessLinkPage.tsx
  - id: site-alimtalk-queue-param
    path: /alimtalk/queue/:code
    status: active-prod
    evidence: [S-route, S-component, S-test]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
    exits:
      - site-alimtalk-step-two-param :: 이 화면의 컴포넌트가 `navigate("/alimtalk/step-two")` 로 간다
      - site-alimtalk-step-fail-param :: 이 화면의 컴포넌트가 `navigate("/alimtalk/step-fail")` 로 간다
      - site-alimtalk-step-three-param :: 이 화면의 컴포넌트가 `navigate("/alimtalk/step-three")` 로 간다
      - site-alimtalk-expired-access-link-param :: 이 화면의 컴포넌트가 `navigate("/alimtalk/expired-access-link")` 로 간다
    anchors:
      - insuniverse-site/front/src/App.tsx:288
      - insuniverse-site/front/src/pages/alimTalk/QueuePage.tsx
      - insuniverse-site/front/src/pages/alimTalk/QueuePage.test.tsx
  - id: site-alimtalk-redirect-param
    path: /alimtalk/redirect/:code
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
      - 이탈 판정 근거 없음 — 이 컴포넌트의 이동 대상이 큰따옴표 리터럴이 아니라 템플릿 리터럴이거나 변수다. 실제로 막다른 화면인지는 이 문서가 판정하지 않았다
    exits:
      - 없음 :: 3소스에서 유도되는 이탈이 0건이다. 이 컴포넌트의 이동 대상이 큰따옴표 리터럴이 아니라 템플릿 리터럴이거나 변수다
    anchors:
      - insuniverse-site/front/src/App.tsx:283
      - insuniverse-site/front/src/pages/alimTalk/RedirectPage.tsx
  - id: site-alimtalk-step-fail-param
    path: /alimtalk/step-fail/:code
    status: active-prod
    evidence: [S-route, S-component, S-test]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
    exits:
      - 막다름 :: `AlimTalkLayout` 이 네비게이션을 렌더하지 않고 컴포넌트에 라우트 이동 호출이 0건이다
    anchors:
      - insuniverse-site/front/src/App.tsx:289
      - insuniverse-site/front/src/pages/alimTalk/StepFailPage.tsx
      - insuniverse-site/front/src/pages/alimTalk/StepFailPage.test.tsx
  - id: site-alimtalk-step-four-param
    path: /alimtalk/step-four/:code
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
    exits:
      - 막다름 :: `AlimTalkLayout` 이 네비게이션을 렌더하지 않고 컴포넌트에 라우트 이동 호출이 0건이다
    anchors:
      - insuniverse-site/front/src/App.tsx:287
      - insuniverse-site/front/src/pages/alimTalk/Step4Page.tsx
  - id: site-alimtalk-step-one-param
    path: /alimtalk/step-one/:code
    status: active-prod
    evidence: [S-route, S-component, S-test]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
    exits:
      - 막다름 :: `AlimTalkLayout` 이 네비게이션을 렌더하지 않고 컴포넌트에 라우트 이동 호출이 0건이다
    anchors:
      - insuniverse-site/front/src/App.tsx:284
      - insuniverse-site/front/src/pages/alimTalk/Step1Page.tsx
      - insuniverse-site/front/src/pages/alimTalk/Step1Page.test.tsx
  - id: site-alimtalk-step-three-param
    path: /alimtalk/step-three/:code
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
    exits:
      - site-alimtalk-step-fail-param :: 이 화면의 컴포넌트가 `navigate("/alimtalk/step-fail")` 로 간다
      - site-alimtalk-expired-access-link-param :: 이 화면의 컴포넌트가 `navigate("/alimtalk/expired-access-link")` 로 간다
      - site-alimtalk-step-two-param :: 이 화면의 컴포넌트가 `navigate("/alimtalk/step-two")` 로 간다
    anchors:
      - insuniverse-site/front/src/App.tsx:286
      - insuniverse-site/front/src/pages/alimTalk/Step3Page.tsx
  - id: site-alimtalk-step-two-param
    path: /alimtalk/step-two/:code
    status: active-prod
    evidence: [S-route, S-component, S-test]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
    exits:
      - site-alimtalk-expired-access-link-param :: 이 화면의 컴포넌트가 `navigate("/alimtalk/expired-access-link")` 로 간다
      - site-alimtalk-queue-param :: 이 화면의 컴포넌트가 `navigate("/alimtalk/queue")` 로 간다
      - site-alimtalk-step-three-param :: 이 화면의 컴포넌트가 `navigate("/alimtalk/step-three")` 로 간다
    anchors:
      - insuniverse-site/front/src/App.tsx:285
      - insuniverse-site/front/src/pages/alimTalk/Step2Page.tsx
      - insuniverse-site/front/src/pages/alimTalk/Step2Page.test.tsx
  - id: site-alimtalk-used-analysis-permission-param
    path: /alimtalk/used-analysis-permission/:code
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
    exits:
      - 막다름 :: `AlimTalkLayout` 이 네비게이션을 렌더하지 않고 컴포넌트에 라우트 이동 호출이 0건이다
    anchors:
      - insuniverse-site/front/src/App.tsx:290
      - insuniverse-site/front/src/pages/alimTalk/UsedAnalysisPermissionPage.tsx
  - id: site-analysis
    path: /analysis
    status: conditional-enabled
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 라우트 등록이 `{isSubscribed && (…)}` 블록 안이라 구독 상태에서만 등록된다. 게이트 조건은 `useCheckSubscription` 이며 미구독 상태에서 무엇이 렌더되는지는 이 문서가 판정하지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:393
      - insuniverse-site/front/src/pages/analysis/AnalysisPage.tsx
  - id: site-analysis-analyze
    path: /analysis/analyze
    status: conditional-enabled
    evidence: [S-route, S-component, S-test]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 라우트 등록이 `{isSubscribed && (…)}` 블록 안이라 구독 상태에서만 등록된다. 게이트 조건은 `useCheckSubscription` 이며 미구독 상태에서 무엇이 렌더되는지는 이 문서가 판정하지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:395
      - insuniverse-site/front/src/pages/analysis/analyze/AnalyzePage.tsx
      - insuniverse-site/front/src/pages/analysis/analyze/AnalyzePage.test.tsx
  - id: site-analysis-analyze-success
    path: /analysis/analyze/success
    status: conditional-enabled
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 라우트 등록이 `{isSubscribed && (…)}` 블록 안이라 구독 상태에서만 등록된다. 게이트 조건은 `useCheckSubscription` 이며 미구독 상태에서 무엇이 렌더되는지는 이 문서가 판정하지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:396
      - insuniverse-site/front/src/pages/analysis/analyze/AnalyzeSuccessPage.tsx
  - id: site-analysis-customer
    path: /analysis/customer
    status: conditional-enabled
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 라우트 등록이 `{isSubscribed && (…)}` 블록 안이라 구독 상태에서만 등록된다. 게이트 조건은 `useCheckSubscription` 이며 미구독 상태에서 무엇이 렌더되는지는 이 문서가 판정하지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:394
      - insuniverse-site/front/src/pages/analysis/customer/CustomerPage.tsx
  - id: site-analysis-list
    path: /analysis/list
    status: conditional-enabled
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 라우트 등록이 `{isSubscribed && (…)}` 블록 안이라 구독 상태에서만 등록된다. 게이트 조건은 `useCheckSubscription` 이며 미구독 상태에서 무엇이 렌더되는지는 이 문서가 판정하지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:400
      - insuniverse-site/front/src/pages/analysis/list/AnalysisListPage.tsx
  - id: site-analysis-loss
    path: /analysis/loss
    status: conditional-enabled
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 라우트 등록이 `{isSubscribed && (…)}` 블록 안이라 구독 상태에서만 등록된다. 게이트 조건은 `useCheckSubscription` 이며 미구독 상태에서 무엇이 렌더되는지는 이 문서가 판정하지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:397
      - insuniverse-site/front/src/pages/analysis/loss/LossAnalysisInvitePage.tsx
  - id: site-analysis-loss-list
    path: /analysis/loss/list
    status: conditional-enabled
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 라우트 등록이 `{isSubscribed && (…)}` 블록 안이라 구독 상태에서만 등록된다. 게이트 조건은 `useCheckSubscription` 이며 미구독 상태에서 무엇이 렌더되는지는 이 문서가 판정하지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:398
      - insuniverse-site/front/src/pages/analysis/loss/LossAnalysisListPage.tsx
  - id: site-auth-find
    path: /auth/find
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 이 화면의 컴포넌트가 어느 라우트에도 대응하지 않는 경로로 간다 — `/join`. 등록된 라우트가 없어 catch-all 로 떨어진다. 이 이동은 `FindPage` 가 렌더하는 `features/findForm/` 컴포넌트에 있어 exits 유도 범위 밖이며 dangling 전수 스캔에서만 잡혔다
    exits:
      - site-main :: 세션이 있으면 AuthGuard 가 `/main` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:279
      - insuniverse-site/front/src/pages/auth/find/FindPage.tsx
  - id: site-auth-join
    path: /auth/join
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-main :: 세션이 있으면 AuthGuard 가 `/main` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:276
      - insuniverse-site/front/src/pages/auth/join/JoinPage.tsx
  - id: site-auth-join-agreement
    path: /auth/join/agreement
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-main :: 세션이 있으면 AuthGuard 가 `/main` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:278
      - insuniverse-site/front/src/pages/auth/join/agreement/JoinAgreementPage.tsx
  - id: site-auth-join-invite
    path: /auth/join/invite
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-main :: 세션이 있으면 AuthGuard 가 `/main` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:277
      - insuniverse-site/front/src/pages/auth/join/invite/JoinInvitePage.tsx
  - id: site-auth-login
    path: /auth/login
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-main :: 세션이 있으면 AuthGuard 가 `/main` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:275
      - insuniverse-site/front/src/pages/auth/login/LoginPage.tsx
  - id: site-board-param
    path: /board/:type
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:424
      - insuniverse-site/front/src/pages/board/BoardPage.tsx
  - id: site-board-param-param
    path: /board/:type/:id
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:425
      - insuniverse-site/front/src/pages/board/detail/BoardDetailPage.tsx
  - id: site-board-param-add
    path: /board/:type/add
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:422
      - insuniverse-site/front/src/pages/board/upsert/UpsertBoardPage.tsx
  - id: site-board-param-edit-param
    path: /board/:type/edit/:id
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:423
      - insuniverse-site/front/src/pages/board/upsert/UpsertBoardPage.tsx
  - id: site-criteria
    path: /criteria
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:420
      - insuniverse-site/front/src/pages/criteria/CriteriaPage.tsx
  - id: site-edu-detail-param
    path: /edu/detail/:id
    status: conditional-enabled
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 라우트 등록이 `{isSubscribed && (…)}` 블록 안이라 구독 상태에서만 등록된다. 게이트 조건은 `useCheckSubscription` 이며 미구독 상태에서 무엇이 렌더되는지는 이 문서가 판정하지 않았다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:435
      - insuniverse-site/front/src/pages/edu/detail/EduDetailPage.tsx
  - id: site-edu-list
    path: /edu/list
    status: conditional-enabled
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 라우트 등록이 `{isSubscribed && (…)}` 블록 안이라 구독 상태에서만 등록된다. 게이트 조건은 `useCheckSubscription` 이며 미구독 상태에서 무엇이 렌더되는지는 이 문서가 판정하지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:434
      - insuniverse-site/front/src/pages/edu/list/EduListPage.tsx
  - id: site-edu-play-param
    path: /edu/play/:id
    status: conditional-enabled
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 라우트 등록이 `{isSubscribed && (…)}` 블록 안이라 구독 상태에서만 등록된다. 게이트 조건은 `useCheckSubscription` 이며 미구독 상태에서 무엇이 렌더되는지는 이 문서가 판정하지 않았다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:436
      - insuniverse-site/front/src/pages/edu/play/EduPlayPage.tsx
  - id: site-invoices
    path: /invoices
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:405
      - insuniverse-site/front/src/pages/invoices/InvoicesPage.tsx
  - id: site-invoices-fax-send
    path: /invoices/fax-send
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
      - site-payment :: 이 화면의 컴포넌트가 `navigate("/payment")` 로 간다
      - site-invoices-fax-result :: 이 화면의 컴포넌트가 `navigate("/invoices/fax/result")` 로 간다
    anchors:
      - insuniverse-site/front/src/App.tsx:411
      - insuniverse-site/front/src/pages/invoices/FaxSendPage.tsx
  - id: site-invoices-fax-result
    path: /invoices/fax/result
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:412
      - insuniverse-site/front/src/pages/invoices/FaxResultPage.tsx
  - id: site-invoices-list
    path: /invoices/list
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
      - site-invoices-fax-send :: 이 화면의 컴포넌트가 `navigate("/invoices/fax-send")` 로 간다
    anchors:
      - insuniverse-site/front/src/App.tsx:413
      - insuniverse-site/front/src/pages/invoices/list/InvoiceListPage.tsx
  - id: site-invoices-output-step-five
    path: /invoices/output/step-five
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
      - site-invoices :: 이 화면의 컴포넌트가 `navigate("/invoices")` 로 간다
    anchors:
      - insuniverse-site/front/src/App.tsx:410
      - insuniverse-site/front/src/pages/invoices/output/Step5Page.tsx
  - id: site-invoices-output-step-four
    path: /invoices/output/step-four
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
      - site-invoices-output-step-five :: 이 화면의 컴포넌트가 `navigate("/invoices/output/step-five")` 로 간다
      - site-invoices :: 이 화면의 컴포넌트가 `navigate("/invoices")` 로 간다
    anchors:
      - insuniverse-site/front/src/App.tsx:409
      - insuniverse-site/front/src/pages/invoices/output/Step4Page.tsx
  - id: site-invoices-output-step-one
    path: /invoices/output/step-one
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
      - site-invoices-output-step-two :: 이 화면의 컴포넌트가 `navigate("/invoices/output/step-two")` 로 간다
    anchors:
      - insuniverse-site/front/src/App.tsx:406
      - insuniverse-site/front/src/pages/invoices/output/Step1Page.tsx
  - id: site-invoices-output-step-three
    path: /invoices/output/step-three
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
      - site-invoices-output-step-four :: 이 화면의 컴포넌트가 `navigate("/invoices/output/step-four")` 로 간다
      - site-invoices :: 이 화면의 컴포넌트가 `navigate("/invoices")` 로 간다
    anchors:
      - insuniverse-site/front/src/App.tsx:408
      - insuniverse-site/front/src/pages/invoices/output/Step3Page.tsx
  - id: site-invoices-output-step-two
    path: /invoices/output/step-two
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
      - site-invoices :: 이 화면의 컴포넌트가 `navigate("/invoices")` 로 간다
    anchors:
      - insuniverse-site/front/src/App.tsx:407
      - insuniverse-site/front/src/pages/invoices/output/Step2Page.tsx
  - id: site-loss
    path: /loss
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
      - site-loss-add :: 이 화면의 컴포넌트가 `navigate("/loss/add")` 로 간다
    anchors:
      - insuniverse-site/front/src/App.tsx:427
      - insuniverse-site/front/src/pages/loss/LossPage.tsx
  - id: site-loss-analysis-param
    path: /loss-analysis/:code
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
    exits:
      - 막다름 :: `AlimTalkLayout` 이 네비게이션을 렌더하지 않고 컴포넌트에 라우트 이동 호출이 0건이다
    anchors:
      - insuniverse-site/front/src/App.tsx:295
      - insuniverse-site/front/src/pages/analysis/loss/LossAnalysisAgreementPage.tsx
  - id: site-loss-analysis-auth-param
    path: /loss-analysis/auth/:code
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
    exits:
      - 막다름 :: `AlimTalkLayout` 이 네비게이션을 렌더하지 않고 컴포넌트에 라우트 이동 호출이 0건이다
    anchors:
      - insuniverse-site/front/src/App.tsx:296
      - insuniverse-site/front/src/pages/analysis/loss/LossAnalysisFlowPage.tsx
  - id: site-loss-add
    path: /loss/add
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:428
      - insuniverse-site/front/src/pages/loss/UpsertLossPage.tsx
  - id: site-main
    path: /main
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:363
      - insuniverse-site/front/src/pages/main/MainPage.tsx
  - id: site-mok-auth-result
    path: /mok-auth/result
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - 막다름 :: 이 라우트를 감싸는 레이아웃이 네비게이션을 렌더하지 않고 컴포넌트에 라우트 이동 호출이 0건이다. 다만 이 컴포넌트는 `window.close()` 로 창 자체를 닫는다 — 라우트 이동이 아니라 창 종료다
    anchors:
      - insuniverse-site/front/src/App.tsx:260
      - insuniverse-site/front/src/pages/dream/MokAuthResultPage.tsx
  - id: site-mok-auth-window
    path: /mok-auth/window
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - 막다름 :: 이 라우트를 감싸는 레이아웃이 네비게이션을 렌더하지 않고 컴포넌트에 라우트 이동 호출이 0건이다
    anchors:
      - insuniverse-site/front/src/App.tsx:259
      - insuniverse-site/front/src/pages/dream/AuthWindowPage.tsx
  - id: site-mypage
    path: /mypage
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:367
      - insuniverse-site/front/src/pages/mypage/Mypage.tsx
  - id: site-mypage-edit
    path: /mypage/edit
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:368
      - insuniverse-site/front/src/pages/mypage/edit/EditMyPage.tsx
  - id: site-mypage-edit-payment-card
    path: /mypage/edit-payment-card
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:379
      - insuniverse-site/front/src/pages/mypage/editPaymentCard/EditPaymentCardPage.tsx
  - id: site-mypage-invite
    path: /mypage/invite
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:386
      - insuniverse-site/front/src/pages/mypage/invite/InviteFriendPage.tsx
  - id: site-mypage-money
    path: /mypage/money
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
      - site-mypage-money-payment-cancel :: 이 화면의 컴포넌트가 `navigate("/mypage/money/payment-cancel")` 로 간다
      - site-mypage-money-refund :: 이 화면의 컴포넌트가 `navigate("/mypage/money/refund")` 로 간다
      - site-payment :: 이 화면의 컴포넌트가 `navigate("/payment")` 로 간다
    anchors:
      - insuniverse-site/front/src/App.tsx:380
      - insuniverse-site/front/src/pages/mypage/money/MoneyPage.tsx
  - id: site-mypage-money-payment-cancel
    path: /mypage/money/payment-cancel
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
      - site-mypage-money :: 이 화면의 컴포넌트가 `navigate("/mypage/money")` 로 간다
    anchors:
      - insuniverse-site/front/src/App.tsx:382
      - insuniverse-site/front/src/pages/mypage/money/MoneyPaymentCancelPage.tsx
  - id: site-mypage-money-refund
    path: /mypage/money/refund
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
      - site-mypage-money :: 이 화면의 컴포넌트가 `navigate("/mypage/money")` 로 간다
    anchors:
      - insuniverse-site/front/src/App.tsx:381
      - insuniverse-site/front/src/pages/mypage/money/MoneyRefundPage.tsx
  - id: site-mypage-payment-history
    path: /mypage/payment-history
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:378
      - insuniverse-site/front/src/pages/mypage/paymentHistory/PaymentHistoryPage.tsx
  - id: site-mypage-push-settings
    path: /mypage/push-settings
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:387
      - insuniverse-site/front/src/pages/mypage/push/PushSettingsPage.tsx
  - id: site-mypage-subscription
    path: /mypage/subscription
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:370
      - insuniverse-site/front/src/pages/mypage/subscription/MypageSubscriptionPage.tsx
  - id: site-mypage-subscription-cancel
    path: /mypage/subscription/cancel
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:374
      - insuniverse-site/front/src/pages/mypage/subscription/cancel/SubscriptionCancelPage.tsx
  - id: site-mypage-subscription-change
    path: /mypage/subscription/change
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:371
      - insuniverse-site/front/src/pages/mypage/subscription/change/SubscriptionChangePage.tsx
  - id: site-mypage-subscription-change-cancel
    path: /mypage/subscription/change-cancel
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:377
      - insuniverse-site/front/src/pages/mypage/subscription/changeCancel/SubscriptionChangeCancelPage.tsx
  - id: site-mypage-subscription-change-select-payment-card
    path: /mypage/subscription/change/select-payment-card
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
      - site-main :: 이 화면의 컴포넌트가 `navigate("/main")` 로 간다
    anchors:
      - insuniverse-site/front/src/App.tsx:373
      - insuniverse-site/front/src/pages/mypage/subscription/change/selectPaymentCard/SelectPaymentCardPage.tsx
  - id: site-mypage-subscription-refund
    path: /mypage/subscription/refund
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:375
      - insuniverse-site/front/src/pages/mypage/subscription/refund/SubscriptionRefundPage.tsx
  - id: site-mypage-subscription-restore-cancel
    path: /mypage/subscription/restore-cancel
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
      - site-main :: 이 화면의 컴포넌트가 `navigate("/main")` 로 간다
    anchors:
      - insuniverse-site/front/src/App.tsx:376
      - insuniverse-site/front/src/pages/mypage/subscription/restoreCancel/SubscriptionRestoreCancelPage.tsx
  - id: site-mypage-with-drawall
    path: /mypage/with-drawall
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
      - site-mypage-subscription :: 이 화면의 컴포넌트가 `navigate("/mypage/subscription")` 로 간다
      - site-mypage-edit :: 이 화면의 컴포넌트가 `navigate("/mypage/edit")` 로 간다
    anchors:
      - insuniverse-site/front/src/App.tsx:385
      - insuniverse-site/front/src/pages/mypage/withDrawall/WithDrawallPage.tsx
  - id: site-payment
    path: /payment
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 이 화면의 컴포넌트가 어느 라우트에도 대응하지 않는 경로로 간다 — `/mypage/money/auto-charge` · `/account/signin`. 등록된 라우트가 없어 catch-all 로 떨어진다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
      - site-mypage-money :: 이 화면의 컴포넌트가 `navigate("/mypage/money")` 로 간다
    anchors:
      - insuniverse-site/front/src/App.tsx:383
      - insuniverse-site/front/src/pages/payment/PaymentPage.tsx
  - id: site-payment-result
    path: /payment/result
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:384
      - insuniverse-site/front/src/pages/payment/PaymentResultPage.tsx
  - id: site-privacy
    path: /privacy
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 이탈 판정 근거 없음 — `BasicLayout` 이 Header·Footer 를 렌더하지만 그 안의 이동 대상은 이 문서가 판정하지 않았다. 실제로 막다른 화면인지는 이 문서가 판정하지 않았다
    exits:
      - 없음 :: 3소스에서 유도되는 이탈이 0건이다. `BasicLayout` 이 Header·Footer 를 렌더하지만 그 안의 이동 대상은 이 문서가 판정하지 않았다
    anchors:
      - insuniverse-site/front/src/App.tsx:264
      - insuniverse-site/front/src/pages/privacy/PrivacyPage.tsx
  - id: site-products
    path: /products
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
      - site-board-param-param :: 이 화면의 컴포넌트가 `navigate("/board/qna/add")` 로 간다
    anchors:
      - insuniverse-site/front/src/App.tsx:416
      - insuniverse-site/front/src/pages/products/ProductsPage.tsx
  - id: site-products-payment
    path: /products/payment
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:417
      - insuniverse-site/front/src/pages/products/payment/ProductPaymentPage.tsx
  - id: site-products-payment-select-payment-card
    path: /products/payment/select-payment-card
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
      - site-main :: 이 화면의 컴포넌트가 `navigate("/main")` 로 간다
    anchors:
      - insuniverse-site/front/src/App.tsx:418
      - insuniverse-site/front/src/pages/products/payment/selectPaymentCard/ProductSelectPaymentCardPage.tsx
  - id: site-queue-b2c-param
    path: /queue/b2c/:agcCode
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
    exits:
      - site-step-two-b2c-param :: 이 화면의 컴포넌트가 `navigate("/step-two/b2c")` 로 간다
      - site-alimtalk-expired-access-link-param :: 이 화면의 컴포넌트가 `navigate("/alimtalk/expired-access-link")` 로 간다
      - site-step-three-b2c-param :: 이 화면의 컴포넌트가 `navigate("/step-three/b2c")` 로 간다
    anchors:
      - insuniverse-site/front/src/App.tsx:313
      - insuniverse-site/front/src/pages/alimTalk/B2cQueuePage.tsx
  - id: site-search
    path: /search
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - site-auth-login :: 세션이 없으면 AuthGuard 가 `/auth/login` 으로 보낸다
    anchors:
      - insuniverse-site/front/src/App.tsx:389
      - insuniverse-site/front/src/pages/search/SearchPage.tsx
  - id: site-step-four-b2c-param
    path: /step-four/b2c/:agcCode
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
      - 이탈 판정 근거 없음 — 이 컴포넌트의 이동 대상이 큰따옴표 리터럴이 아니라 템플릿 리터럴이거나 변수다. 실제로 막다른 화면인지는 이 문서가 판정하지 않았다
    exits:
      - 없음 :: 3소스에서 유도되는 이탈이 0건이다. 이 컴포넌트의 이동 대상이 큰따옴표 리터럴이 아니라 템플릿 리터럴이거나 변수다
    anchors:
      - insuniverse-site/front/src/App.tsx:310
      - insuniverse-site/front/src/pages/alimTalk/B2cStep4Page.tsx
  - id: site-step-one-b2c-param
    path: /step-one/b2c/:agcCode
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
    exits:
      - 막다름 :: `B2cLayout` 이 네비게이션을 렌더하지 않고 컴포넌트에 라우트 이동 호출이 0건이다
    anchors:
      - insuniverse-site/front/src/App.tsx:301
      - insuniverse-site/front/src/pages/alimTalk/B2cStep1Page.tsx
  - id: site-step-three-b2c-param
    path: /step-three/b2c/:agcCode
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 이 화면의 컴포넌트가 어느 라우트에도 대응하지 않는 경로로 간다 — `/step-fail/b2c`. 등록된 라우트가 없어 catch-all 로 떨어진다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
    exits:
      - site-alimtalk-expired-access-link-param :: 이 화면의 컴포넌트가 `navigate("/alimtalk/expired-access-link")` 로 간다
      - site-step-one-b2c-param :: 이 화면의 컴포넌트가 `navigate("/step-one/b2c")` 로 간다
    anchors:
      - insuniverse-site/front/src/App.tsx:307
      - insuniverse-site/front/src/pages/alimTalk/B2cStep3Page.tsx
  - id: site-step-two-b2c-param
    path: /step-two/b2c/:agcCode
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 파라미터를 담지만 부모가 화면이 아니라 레이아웃이라 접을 자리가 없다. 접힘이 아니라 그 자체로 화면이다
    exits:
      - site-alimtalk-expired-access-link-param :: 이 화면의 컴포넌트가 `navigate("/alimtalk/expired-access-link")` 로 간다
      - site-queue-b2c-param :: 이 화면의 컴포넌트가 `navigate("/queue/b2c")` 로 간다
      - site-step-three-b2c-param :: 이 화면의 컴포넌트가 `navigate("/step-three/b2c")` 로 간다
    anchors:
      - insuniverse-site/front/src/App.tsx:304
      - insuniverse-site/front/src/pages/alimTalk/B2cStep2Page.tsx
  - id: site-terms
    path: /terms
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
      - 이탈 판정 근거 없음 — `BasicLayout` 이 Header·Footer 를 렌더하지만 그 안의 이동 대상은 이 문서가 판정하지 않았다. 실제로 막다른 화면인지는 이 문서가 판정하지 않았다
    exits:
      - 없음 :: 3소스에서 유도되는 이탈이 0건이다. `BasicLayout` 이 Header·Footer 를 렌더하지만 그 안의 이동 대상은 이 문서가 판정하지 않았다
    anchors:
      - insuniverse-site/front/src/App.tsx:263
      - insuniverse-site/front/src/pages/terms/TermsPage.tsx
  - id: site-terms-b2c-personal-info
    path: /terms/b2c-personal-info
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - 막다름 :: `B2cLayout` 이 네비게이션을 렌더하지 않고 컴포넌트에 라우트 이동 호출이 0건이다
    anchors:
      - insuniverse-site/front/src/App.tsx:330
      - insuniverse-site/front/src/pages/terms/B2cPersonalInfoPage.tsx
  - id: site-terms-b2c-sensitive-info
    path: /terms/b2c-sensitive-info
    status: active-prod
    evidence: [S-route, S-component]
    limitations:
      - 이탈 전수는 미검증. exits 는 라우트 가드와 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 navigate 대상과 라우트 중첩 3소스에서만 유도했고 그 밖의 이탈은 세지 않았다
    exits:
      - 막다름 :: `B2cLayout` 이 네비게이션을 렌더하지 않고 컴포넌트에 라우트 이동 호출이 0건이다
    anchors:
      - insuniverse-site/front/src/App.tsx:331
      - insuniverse-site/front/src/pages/terms/B2cSensitiveInfoPage.tsx
---

# site 서비스 화면 인벤토리 — App.tsx 라우트 트리 surface 축

> **site 에는 동결 화면 인벤토리가 없다.** `../_meta/extraction-manifest.yaml` 의 `screen_codes` 는 admin 라우트만 담고 site 를 담는 대응 키가 manifest 에도 `../_meta/index/codes/` 아래에도 없다. 그래서 이 문서의 화면 집합은 동결 blob (`insuniverse-site` `767d1e44` 의 `front/src/App.tsx`)에서 직접 유도했고, **그 유도의 재검증은 저장소 상시 게이트가 아니라 이 마일스톤의 일회용 하네스뿐이다** — 집합의 sha256 은 `../_meta/verify/golden.txt` 에 실리지 않는다. 더해 배포 접두(`front/src/main.tsx` 의 `basename` 이 `process.env.REACT_APP_PUBLIC_PATH` 에서 온다)와 식 경로 2건은 동결 트리만으로 해석되지 않는다. 이 결손은 발신 회부 `R-50-2` 로 인덱스 축에 올렸다.
> **exits 는 각 화면의 페이지 컴포넌트 파일 한 겹에서만 유도했다.** 그 페이지가 렌더하는 feature 컴포넌트 안의 `navigate` 는 세지 않았다 — 실재하는 이탈이 exits 에서 빠져 있을 수 있고 그 사실은 화면마다 `limitations` 에 적은 *이탈 전수는 미검증* 이 덮는다. 반대로 어느 라우트로도 해석되지 않는 이동 대상(dangling)은 `front/src` 전수 스캔으로 그 층까지 봤고 전건을 해당 화면의 `limitations` 에 적었다. 두 범위의 차이와 그 계수는 이 마일스톤의 게이트 하네스가 매 실행 유도한다.

이 문서는 `insuniverse-site` 저장소가 만드는 단일 라우터(`front/src/App.tsx` 의 `<Routes>` 블록 하나)의 화면 집합을 담는다. 화면 집합은 지어내지 않고 그 블록의 `<Route>` 트리에서 유도했다 — 동결 트리에서 `<Routes` 를 담는 다른 파일은 테스트 렌더 래퍼 하나뿐이며 라우트 등록부가 아니다.

**분할 규칙은 셋이다.** 파라미터를 담지 않는 잎 라우트는 `surfaces[]` 원소가 된다. `:param` 을 담는 잎은 세그먼트를 뒤에서 잘라 만든 접두 중 파라미터 없는 화면 집합에 실재하는 최장 접두를 부모로 삼아 그 부모의 `화면별 구성` 블록 본문으로 접힌다. 그 접두가 하나도 없는 잎은 접을 곳이 없으므로 접히지 않고 그 자체로 `surfaces[]` 원소가 된다 — site 는 부모가 화면이 아니라 레이아웃인 흐름(알림톡 · B2C · 손해사정 · 관리자 View)이 많아 이 부류의 비중이 admin 판과 정반대다. 세 부류 어디에도 못 가는 잎은 사유를 붙여 제외한다.

**계수는 이 문서에 적지 않는다.** 부류별 크기와 총수는 이 마일스톤의 게이트 하네스가 매 실행 유도하며 잎 전수와 양방향으로 대조한다. 문서에 리터럴로 박으면 라우트가 늘어도 옛 수가 그대로 남는다.

**릴리스 도달 여부는 이 문서가 판정하지 않았다.** `active-prod` 는 라우트가 조건 없이 등록되어 있고 컴포넌트 파일이 동결 HEAD 에 존재한다는 것까지만 확인한 판정이다. `conditional-enabled` 는 등록 자체가 `{isSubscribed && (…)}` 블록 안이라 구독 상태에서만 서는 화면이며 그 게이트는 `useCheckSubscription` 으로 코드에서 읽힌다.

**이탈은 3소스로만 유도했다.** 라우터 가드(`front/src/shared/hooks/App/useAuthGuard.tsx`) · 그 화면의 페이지 컴포넌트 파일 안 큰따옴표 리터럴 `navigate` 대상 · 라우트 중첩이다. 그 밖의 이탈은 세지 않았고 그 사실을 화면마다 `limitations` 에 적었다. `막다름` 을 모름의 대체로 쓰지 않았다 — 이 문서에서 `막다름` 이 붙은 자리는 그 화면을 감싸는 레이아웃이 네비게이션을 전혀 렌더하지 않는다는 관측과 컴포넌트에 라우트 이동 호출이 0건이라는 관측 둘을 함께 근거로 한다. 둘 중 하나라도 성립하지 않으면 `없음` 을 쓰고 그 사유를 조건에 적었다.

**테스트 근거는 있는 곳에만 적었다.** 동결 HEAD 의 테스트 파일 중 라우트 화면 수준인 것만 `S-test` 를 더했다 — 나머지 화면에는 그 등급이 없다. admin 판의 *테스트 근거 전무* 고지는 이 서비스에서 사실이 아니므로 옮기지 않았다.

## 진입점

| 진입 경로 | 도달 화면 | 조건 |
|---|---|---|
| 루트 `/` 직접 입력 | site-root | 라우트 element 가 `<Navigate to="/main" replace />` 라 `site-main` 으로 즉시 넘어간다. 그 앞에 AuthGuard 가 서므로 미인증이면 `site-auth-login` 이 먼저다 |
| `/auth/login` 직접 입력 | site-auth-login | 미인증. AuthGuard 의 `nonUserPath` 에 있어 세션 없이 열린다. 세션이 있으면 `/main` 으로 되돌아간다 |
| 알림톡 링크 | site-alimtalk-redirect-param | 코드 파라미터로 연다. `/alimtalk/**` 는 AuthGuard 의 비회원 허용 목록이라 세션 없이 열린다 |
| B2C 알림톡 링크 | site-step-one-b2c-param | 기관 코드 파라미터로 연다. `/step-one/b2c` 접두가 AuthGuard 비회원 허용 목록에 있다 |
| 손해사정 초대 링크 | site-loss-analysis-param | 코드 파라미터로 연다. AuthGuard 밖이라 세션 판정이 없다 |
| 관리자 콘솔의 iframe | site-admin-view-member-param · site-admin-view-b2c-param · site-admin-view-client-param | `AdminViewLayout` 이 헤더·푸터 없이 콘텐츠만 렌더한다. 소스 주석이 *토큰 검증 없이 바로 콘텐츠 표시* 로 적고 있다 |
| 본인인증 팝업 창 | site-mok-auth-window | 레이아웃 없는 라우트다. 부모 창이 여는 인증 창이며 이 문서는 그 부모를 판정하지 않았다 |
| 앱 브릿지 자동로그인 | site-main | `window.postMessage` 의 `auto_login` 액션으로 토큰을 받아 로그인한 뒤 인증 경로가 열린다 |
| 등록되지 않은 경로 | 없음 | 와일드카드 라우트가 `<></>` 를 렌더해 아무것도 보이지 않는다. 이 라우트는 화면 집합에서 제외했다 |

AuthGuard 는 라우트 두 묶음을 감싼다 — `/auth` 아래 5화면과 인증이 필요한 본체 묶음이다. 두 묶음에서 판정 방향이 반대다: 앞쪽은 세션이 **있으면** `/main` 으로 밀어내고, 뒤쪽은 세션이 **없으면** `/auth/login` 으로 밀어낸다. 알림톡·B2C 경로는 뒤쪽 묶음 안에 있어도 가드의 비회원 허용 목록에 걸려 세션 없이 열린다.

## 화면 목록

| 화면 id | 경로 | 컴포넌트 | 레이아웃 | status |
|---|---|---|---|---|
| site-root | `/` | `Navigate` | `BasicLayout` | active-prod |
| site-admin-view-b2c-param | `/admin-view/b2c/:bodId` | `AdminViewB2cAnalysisPage` | `AdminViewLayout` | active-prod |
| site-admin-view-b2c-sub-param | `/admin-view/b2c/sub/:subParam` | `AdminViewB2cSubDetailPage` | `AdminViewLayout` | active-prod |
| site-admin-view-client-param | `/admin-view/client/:codId` | `AdminViewClientAnalysisPage` | `AdminViewLayout` | active-prod |
| site-admin-view-client-sub-param | `/admin-view/client/sub/:subParam` | `AdminViewClientSubDetailPage` | `AdminViewLayout` | active-prod |
| site-admin-view-member-param | `/admin-view/member/:oddId` | `AdminViewMemberAnalysisPage` | `AdminViewLayout` | active-prod |
| site-admin-view-member-sub-param | `/admin-view/member/sub/:subParam` | `AdminViewSubDetailPage` | `AdminViewLayout` | active-prod |
| site-alarm-detail-param | `/alarm/detail/:pshId` | `AlarmDetailPage` | `BasicLayout` | active-prod |
| site-alimtalk-expired-access-link-param | `/alimtalk/expired-access-link/:code` | `ExpiredAccessLinkPage` | `AlimTalkLayout` | active-prod |
| site-alimtalk-queue-param | `/alimtalk/queue/:code` | `AlimTalkQueuePage` | `AlimTalkLayout` | active-prod |
| site-alimtalk-redirect-param | `/alimtalk/redirect/:code` | `RedirectPage` | `AlimTalkLayout` | active-prod |
| site-alimtalk-step-fail-param | `/alimtalk/step-fail/:code` | `AlimTalkStepFailPage` | `AlimTalkLayout` | active-prod |
| site-alimtalk-step-four-param | `/alimtalk/step-four/:code` | `AlimTalkStep4Page` | `AlimTalkLayout` | active-prod |
| site-alimtalk-step-one-param | `/alimtalk/step-one/:code` | `AlimTalkStep1Page` | `AlimTalkLayout` | active-prod |
| site-alimtalk-step-three-param | `/alimtalk/step-three/:code` | `AlimTalkStep3Page` | `AlimTalkLayout` | active-prod |
| site-alimtalk-step-two-param | `/alimtalk/step-two/:code` | `AlimTalkStep2Page` | `AlimTalkLayout` | active-prod |
| site-alimtalk-used-analysis-permission-param | `/alimtalk/used-analysis-permission/:code` | `UsedAnalysisPermissionPage` | `AlimTalkLayout` | active-prod |
| site-analysis | `/analysis` | `AnalysisPage` | `BasicLayout` | conditional-enabled |
| site-analysis-analyze | `/analysis/analyze` | `AnalyzePage` | `BasicLayout` | conditional-enabled |
| site-analysis-analyze-success | `/analysis/analyze/success` | `AnalyzeSuccessPage` | `BasicLayout` | conditional-enabled |
| site-analysis-customer | `/analysis/customer` | `CustomerPage` | `BasicLayout` | conditional-enabled |
| site-analysis-list | `/analysis/list` | `AnalysisListPage` | `BasicLayout` | conditional-enabled |
| site-analysis-loss | `/analysis/loss` | `LossAnalysisInvitePage` | `BasicLayout` | conditional-enabled |
| site-analysis-loss-list | `/analysis/loss/list` | `LossAnalysisListPage` | `BasicLayout` | conditional-enabled |
| site-auth-find | `/auth/find` | `FindPage` | `AuthLayout` | active-prod |
| site-auth-join | `/auth/join` | `JoinPage` | `AuthLayout` | active-prod |
| site-auth-join-agreement | `/auth/join/agreement` | `JoinAgreementPage` | `AuthLayout` | active-prod |
| site-auth-join-invite | `/auth/join/invite` | `JoinInvitePage` | `AuthLayout` | active-prod |
| site-auth-login | `/auth/login` | `LoginPage` | `AuthLayout` | active-prod |
| site-board-param | `/board/:type` | `BoardPage` | `BasicLayout` | active-prod |
| site-board-param-param | `/board/:type/:id` | `BoardDetailPage` | `BasicLayout` | active-prod |
| site-board-param-add | `/board/:type/add` | `UpsertBoardPage` | `BasicLayout` | active-prod |
| site-board-param-edit-param | `/board/:type/edit/:id` | `UpsertBoardPage` | `BasicLayout` | active-prod |
| site-criteria | `/criteria` | `CriteriaPage` | `BasicLayout` | active-prod |
| site-edu-detail-param | `/edu/detail/:id` | `EduDetailPage` | `BasicLayout` | conditional-enabled |
| site-edu-list | `/edu/list` | `EduListPage` | `BasicLayout` | conditional-enabled |
| site-edu-play-param | `/edu/play/:id` | `EduPlayPage` | `BasicLayout` | conditional-enabled |
| site-invoices | `/invoices` | `InvoicesPage` | `BasicLayout` | active-prod |
| site-invoices-fax-send | `/invoices/fax-send` | `FaxSendPage` | `BasicLayout` | active-prod |
| site-invoices-fax-result | `/invoices/fax/result` | `FaxResultPage` | `BasicLayout` | active-prod |
| site-invoices-list | `/invoices/list` | `InvoiceListPage` | `BasicLayout` | active-prod |
| site-invoices-output-step-five | `/invoices/output/step-five` | `OutputStep5Page` | `BasicLayout` | active-prod |
| site-invoices-output-step-four | `/invoices/output/step-four` | `OutputStep4Page` | `BasicLayout` | active-prod |
| site-invoices-output-step-one | `/invoices/output/step-one` | `OutputStep1Page` | `BasicLayout` | active-prod |
| site-invoices-output-step-three | `/invoices/output/step-three` | `OutputStep3Page` | `BasicLayout` | active-prod |
| site-invoices-output-step-two | `/invoices/output/step-two` | `OutputStep2Page` | `BasicLayout` | active-prod |
| site-loss | `/loss` | `LossPage` | `BasicLayout` | active-prod |
| site-loss-analysis-param | `/loss-analysis/:code` | `LossAnalysisAgreementPage` | `AlimTalkLayout` | active-prod |
| site-loss-analysis-auth-param | `/loss-analysis/auth/:code` | `LossAnalysisFlowPage` | `AlimTalkLayout` | active-prod |
| site-loss-add | `/loss/add` | `UpsertLossPage` | `BasicLayout` | active-prod |
| site-main | `/main` | `MainPage` | `BasicLayout` | active-prod |
| site-mok-auth-result | `/mok-auth/result` | `MokAuthResultPage` | 없음 | active-prod |
| site-mok-auth-window | `/mok-auth/window` | `AuthWindowPage` | 없음 | active-prod |
| site-mypage | `/mypage` | `Mypage` | `BasicLayout` | active-prod |
| site-mypage-edit | `/mypage/edit` | `EditPage` | `BasicLayout` | active-prod |
| site-mypage-edit-payment-card | `/mypage/edit-payment-card` | `EditPaymentCardPage` | `BasicLayout` | active-prod |
| site-mypage-invite | `/mypage/invite` | `InviteFriendPage` | `BasicLayout` | active-prod |
| site-mypage-money | `/mypage/money` | `MoneyPage` | `BasicLayout` | active-prod |
| site-mypage-money-payment-cancel | `/mypage/money/payment-cancel` | `MoneyPaymentCancelPage` | `BasicLayout` | active-prod |
| site-mypage-money-refund | `/mypage/money/refund` | `MoneyRefundPage` | `BasicLayout` | active-prod |
| site-mypage-payment-history | `/mypage/payment-history` | `PaymentHistoryPage` | `BasicLayout` | active-prod |
| site-mypage-push-settings | `/mypage/push-settings` | `PushSettingsPage` | `BasicLayout` | active-prod |
| site-mypage-subscription | `/mypage/subscription` | `MypageSubscriptionPage` | `BasicLayout` | active-prod |
| site-mypage-subscription-cancel | `/mypage/subscription/cancel` | `SubscriptionCancelPage` | `BasicLayout` | active-prod |
| site-mypage-subscription-change | `/mypage/subscription/change` | `SubscriptionChangePage` | `BasicLayout` | active-prod |
| site-mypage-subscription-change-cancel | `/mypage/subscription/change-cancel` | `SubscriptionChangeCancelPage` | `BasicLayout` | active-prod |
| site-mypage-subscription-change-select-payment-card | `/mypage/subscription/change/select-payment-card` | `SelectPaymentCardPage` | `BasicLayout` | active-prod |
| site-mypage-subscription-refund | `/mypage/subscription/refund` | `SubscriptionRefundPage` | `BasicLayout` | active-prod |
| site-mypage-subscription-restore-cancel | `/mypage/subscription/restore-cancel` | `SubscriptionRestoreCancelPage` | `BasicLayout` | active-prod |
| site-mypage-with-drawall | `/mypage/with-drawall` | `WithDrawallPage` | `BasicLayout` | active-prod |
| site-payment | `/payment` | `PaymentPage` | `BasicLayout` | active-prod |
| site-payment-result | `/payment/result` | `PaymentResultPage` | `BasicLayout` | active-prod |
| site-privacy | `/privacy` | `PrivacyPage` | `BasicLayout` | active-prod |
| site-products | `/products` | `ProductsPage` | `BasicLayout` | active-prod |
| site-products-payment | `/products/payment` | `ProductPaymentPage` | `BasicLayout` | active-prod |
| site-products-payment-select-payment-card | `/products/payment/select-payment-card` | `ProductSelectPaymentCardPage` | `BasicLayout` | active-prod |
| site-queue-b2c-param | `/queue/b2c/:agcCode` | `B2cQueuePage` | `B2cLayout` | active-prod |
| site-search | `/search` | `SearchPage` | `BasicLayout` | active-prod |
| site-step-four-b2c-param | `/step-four/b2c/:agcCode` | `B2cStep4Page` | `B2cLayout` | active-prod |
| site-step-one-b2c-param | `/step-one/b2c/:agcCode` | `B2cStep1Page` | `B2cLayout` | active-prod |
| site-step-three-b2c-param | `/step-three/b2c/:agcCode` | `B2cStep3Page` | `B2cLayout` | active-prod |
| site-step-two-b2c-param | `/step-two/b2c/:agcCode` | `B2cStep2Page` | `B2cLayout` | active-prod |
| site-terms | `/terms` | `TermsPage` | `BasicLayout` | active-prod |
| site-terms-b2c-personal-info | `/terms/b2c-personal-info` | `B2cPersonalInfoPage` | `B2cLayout` | active-prod |
| site-terms-b2c-sensitive-info | `/terms/b2c-sensitive-info` | `B2cSensitiveInfoPage` | `B2cLayout` | active-prod |

## 네비게이션 트리

아래 트리는 **라우트 경로의 어휘적 포함 관계**다. 관측된 화면 이동이 아니다 — 어느 노드도 부모의 메뉴 항목이라는 뜻이 아니며, 실제 이동은 `surfaces[].exits` 가 3소스 안에서만 담는다.

- site-root
- site-admin-view-b2c-param
- site-admin-view-b2c-sub-param
- site-admin-view-client-param
- site-admin-view-client-sub-param
- site-admin-view-member-param
- site-admin-view-member-sub-param
- site-alarm-detail-param
- site-alimtalk-expired-access-link-param
- site-alimtalk-queue-param
- site-alimtalk-redirect-param
- site-alimtalk-step-fail-param
- site-alimtalk-step-four-param
- site-alimtalk-step-one-param
- site-alimtalk-step-three-param
- site-alimtalk-step-two-param
- site-alimtalk-used-analysis-permission-param
- site-analysis
  - site-analysis-analyze
    - site-analysis-analyze-success
  - site-analysis-customer
  - site-analysis-list
  - site-analysis-loss
    - site-analysis-loss-list
- site-auth-find
- site-auth-join
  - site-auth-join-agreement
  - site-auth-join-invite
- site-auth-login
- site-board-param
  - site-board-param-param
  - site-board-param-add
  - site-board-param-edit-param
- site-criteria
- site-edu-detail-param
- site-edu-list
- site-edu-play-param
- site-invoices
  - site-invoices-fax-send
  - site-invoices-fax-result
  - site-invoices-list
  - site-invoices-output-step-five
  - site-invoices-output-step-four
  - site-invoices-output-step-one
  - site-invoices-output-step-three
  - site-invoices-output-step-two
- site-loss
  - site-loss-add
- site-loss-analysis-param
- site-loss-analysis-auth-param
- site-main
- site-mok-auth-result
- site-mok-auth-window
- site-mypage
  - site-mypage-edit
  - site-mypage-edit-payment-card
  - site-mypage-invite
  - site-mypage-money
    - site-mypage-money-payment-cancel
    - site-mypage-money-refund
  - site-mypage-payment-history
  - site-mypage-push-settings
  - site-mypage-subscription
    - site-mypage-subscription-cancel
    - site-mypage-subscription-change
      - site-mypage-subscription-change-select-payment-card
    - site-mypage-subscription-change-cancel
    - site-mypage-subscription-refund
    - site-mypage-subscription-restore-cancel
  - site-mypage-with-drawall
- site-payment
  - site-payment-result
- site-privacy
- site-products
  - site-products-payment
    - site-products-payment-select-payment-card
- site-queue-b2c-param
- site-search
- site-step-four-b2c-param
- site-step-one-b2c-param
- site-step-three-b2c-param
- site-step-two-b2c-param
- site-terms
  - site-terms-b2c-personal-info
  - site-terms-b2c-sensitive-info

## 화면별 구성

### site-root

- 라우트: `/` — `insuniverse-site/front/src/App.tsx:362` 의 `path` 리터럴 `/`
- 컴포넌트: `Navigate` — 이 저장소의 컴포넌트 파일이 아니다 (`react-router-dom` 의 리다이렉트 원소)
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-admin-view-b2c-param

- 라우트: `/admin-view/b2c/:bodId` — `insuniverse-site/front/src/App.tsx:337` 의 `path` 리터럴 `b2c/:bodId`
- 컴포넌트: `AdminViewB2cAnalysisPage` — `insuniverse-site/front/src/pages/admin-view/AdminViewB2cAnalysisPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-admin-view-b2c-sub-param

- 라우트: `/admin-view/b2c/sub/:subParam` — `insuniverse-site/front/src/App.tsx:341` 의 `path` 리터럴 `b2c/sub/:subParam`
- 컴포넌트: `AdminViewB2cSubDetailPage` — `insuniverse-site/front/src/pages/admin-view/AdminViewB2cSubDetailPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-admin-view-client-param

- 라우트: `/admin-view/client/:codId` — `insuniverse-site/front/src/App.tsx:338` 의 `path` 리터럴 `client/:codId`
- 컴포넌트: `AdminViewClientAnalysisPage` — `insuniverse-site/front/src/pages/admin-view/AdminViewClientAnalysisPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-admin-view-client-sub-param

- 라우트: `/admin-view/client/sub/:subParam` — `insuniverse-site/front/src/App.tsx:342` 의 `path` 리터럴 `client/sub/:subParam`
- 컴포넌트: `AdminViewClientSubDetailPage` — `insuniverse-site/front/src/pages/admin-view/AdminViewClientSubDetailPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-admin-view-member-param

- 라우트: `/admin-view/member/:oddId` — `insuniverse-site/front/src/App.tsx:336` 의 `path` 리터럴 `member/:oddId`
- 컴포넌트: `AdminViewMemberAnalysisPage` — `insuniverse-site/front/src/pages/admin-view/AdminViewMemberAnalysisPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-admin-view-member-sub-param

- 라우트: `/admin-view/member/sub/:subParam` — `insuniverse-site/front/src/App.tsx:340` 의 `path` 리터럴 `member/sub/:subParam`
- 컴포넌트: `AdminViewSubDetailPage` — `insuniverse-site/front/src/pages/admin-view/AdminViewSubDetailPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-alarm-detail-param

- 라우트: `/alarm/detail/:pshId` — `insuniverse-site/front/src/App.tsx:365` 의 `path` 리터럴 `/alarm/detail/:pshId`
- 컴포넌트: `AlarmDetailPage` — `insuniverse-site/front/src/pages/alarm/AlarmDetailPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-alimtalk-expired-access-link-param

- 라우트: `/alimtalk/expired-access-link/:code` — `insuniverse-site/front/src/App.tsx:291` 의 `path` 리터럴 `expired-access-link/:code`
- 컴포넌트: `ExpiredAccessLinkPage` — `insuniverse-site/front/src/pages/alimTalk/ExpiredAccessLinkPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-alimtalk-queue-param

- 라우트: `/alimtalk/queue/:code` — `insuniverse-site/front/src/App.tsx:288` 의 `path` 리터럴 `queue/:code`
- 컴포넌트: `AlimTalkQueuePage` — `insuniverse-site/front/src/pages/alimTalk/QueuePage.tsx`
- 접힌 상세 라우트: 없음
- 화면 수준 테스트: `insuniverse-site/front/src/pages/alimTalk/QueuePage.test.tsx`
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-alimtalk-redirect-param

- 라우트: `/alimtalk/redirect/:code` — `insuniverse-site/front/src/App.tsx:283` 의 `path` 리터럴 `redirect/:code`
- 컴포넌트: `RedirectPage` — `insuniverse-site/front/src/pages/alimTalk/RedirectPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-alimtalk-step-fail-param

- 라우트: `/alimtalk/step-fail/:code` — `insuniverse-site/front/src/App.tsx:289` 의 `path` 리터럴 `step-fail/:code`
- 컴포넌트: `AlimTalkStepFailPage` — `insuniverse-site/front/src/pages/alimTalk/StepFailPage.tsx`
- 접힌 상세 라우트: 없음
- 화면 수준 테스트: `insuniverse-site/front/src/pages/alimTalk/StepFailPage.test.tsx`
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-alimtalk-step-four-param

- 라우트: `/alimtalk/step-four/:code` — `insuniverse-site/front/src/App.tsx:287` 의 `path` 리터럴 `step-four/:code`
- 컴포넌트: `AlimTalkStep4Page` — `insuniverse-site/front/src/pages/alimTalk/Step4Page.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-alimtalk-step-one-param

- 라우트: `/alimtalk/step-one/:code` — `insuniverse-site/front/src/App.tsx:284` 의 `path` 리터럴 `step-one/:code`
- 컴포넌트: `AlimTalkStep1Page` — `insuniverse-site/front/src/pages/alimTalk/Step1Page.tsx`
- 접힌 상세 라우트: 없음
- 화면 수준 테스트: `insuniverse-site/front/src/pages/alimTalk/Step1Page.test.tsx`
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-alimtalk-step-three-param

- 라우트: `/alimtalk/step-three/:code` — `insuniverse-site/front/src/App.tsx:286` 의 `path` 리터럴 `step-three/:code`
- 컴포넌트: `AlimTalkStep3Page` — `insuniverse-site/front/src/pages/alimTalk/Step3Page.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-alimtalk-step-two-param

- 라우트: `/alimtalk/step-two/:code` — `insuniverse-site/front/src/App.tsx:285` 의 `path` 리터럴 `step-two/:code`
- 컴포넌트: `AlimTalkStep2Page` — `insuniverse-site/front/src/pages/alimTalk/Step2Page.tsx`
- 접힌 상세 라우트: 없음
- 화면 수준 테스트: `insuniverse-site/front/src/pages/alimTalk/Step2Page.test.tsx`
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-alimtalk-used-analysis-permission-param

- 라우트: `/alimtalk/used-analysis-permission/:code` — `insuniverse-site/front/src/App.tsx:290` 의 `path` 리터럴 `used-analysis-permission/:code`
- 컴포넌트: `UsedAnalysisPermissionPage` — `insuniverse-site/front/src/pages/alimTalk/UsedAnalysisPermissionPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-analysis

- 라우트: `/analysis` — `insuniverse-site/front/src/App.tsx:393` 의 `path` 리터럴 `/analysis`
- 컴포넌트: `AnalysisPage` — `insuniverse-site/front/src/pages/analysis/AnalysisPage.tsx`
- 접힌 상세 라우트: `/analysis/b2c/auth/:bodId` · `/analysis/b2c/:bodId` · `/analysis/b2c/sub/:subParam` · `/analysis/sub/:subParam` · `/analysis/sub/sub/:subParam` · `/analysis/:oddId`
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-analysis-analyze

- 라우트: `/analysis/analyze` — `insuniverse-site/front/src/App.tsx:395` 의 `path` 리터럴 `/analysis/analyze`
- 컴포넌트: `AnalyzePage` — `insuniverse-site/front/src/pages/analysis/analyze/AnalyzePage.tsx`
- 접힌 상세 라우트: 없음
- 화면 수준 테스트: `insuniverse-site/front/src/pages/analysis/analyze/AnalyzePage.test.tsx`
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-analysis-analyze-success

- 라우트: `/analysis/analyze/success` — `insuniverse-site/front/src/App.tsx:396` 의 `path` 리터럴 `/analysis/analyze/success`
- 컴포넌트: `AnalyzeSuccessPage` — `insuniverse-site/front/src/pages/analysis/analyze/AnalyzeSuccessPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-analysis-customer

- 라우트: `/analysis/customer` — `insuniverse-site/front/src/App.tsx:394` 의 `path` 리터럴 `/analysis/customer`
- 컴포넌트: `CustomerPage` — `insuniverse-site/front/src/pages/analysis/customer/CustomerPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-analysis-list

- 라우트: `/analysis/list` — `insuniverse-site/front/src/App.tsx:400` 의 `path` 리터럴 `/analysis/list`
- 컴포넌트: `AnalysisListPage` — `insuniverse-site/front/src/pages/analysis/list/AnalysisListPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-analysis-loss

- 라우트: `/analysis/loss` — `insuniverse-site/front/src/App.tsx:397` 의 `path` 리터럴 `/analysis/loss`
- 컴포넌트: `LossAnalysisInvitePage` — `insuniverse-site/front/src/pages/analysis/loss/LossAnalysisInvitePage.tsx`
- 접힌 상세 라우트: `/analysis/loss/:id`
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-analysis-loss-list

- 라우트: `/analysis/loss/list` — `insuniverse-site/front/src/App.tsx:398` 의 `path` 리터럴 `/analysis/loss/list`
- 컴포넌트: `LossAnalysisListPage` — `insuniverse-site/front/src/pages/analysis/loss/LossAnalysisListPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-auth-find

- 라우트: `/auth/find` — `insuniverse-site/front/src/App.tsx:279` 의 `path` 리터럴 `find`
- 컴포넌트: `FindPage` — `insuniverse-site/front/src/pages/auth/find/FindPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-auth-join

- 라우트: `/auth/join` — `insuniverse-site/front/src/App.tsx:276` 의 `path` 리터럴 `join`
- 컴포넌트: `JoinPage` — `insuniverse-site/front/src/pages/auth/join/JoinPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-auth-join-agreement

- 라우트: `/auth/join/agreement` — `insuniverse-site/front/src/App.tsx:278` 의 `path` 리터럴 `join/agreement`
- 컴포넌트: `JoinAgreementPage` — `insuniverse-site/front/src/pages/auth/join/agreement/JoinAgreementPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-auth-join-invite

- 라우트: `/auth/join/invite` — `insuniverse-site/front/src/App.tsx:277` 의 `path` 리터럴 `join/invite`
- 컴포넌트: `JoinInvitePage` — `insuniverse-site/front/src/pages/auth/join/invite/JoinInvitePage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-auth-login

- 라우트: `/auth/login` — `insuniverse-site/front/src/App.tsx:275` 의 `path` 리터럴 `login`
- 컴포넌트: `LoginPage` — `insuniverse-site/front/src/pages/auth/login/LoginPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-board-param

- 라우트: `/board/:type` — `insuniverse-site/front/src/App.tsx:424` 의 `path` 리터럴 `/board/:type`
- 컴포넌트: `BoardPage` — `insuniverse-site/front/src/pages/board/BoardPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-board-param-param

- 라우트: `/board/:type/:id` — `insuniverse-site/front/src/App.tsx:425` 의 `path` 리터럴 `/board/:type/:id`
- 컴포넌트: `BoardDetailPage` — `insuniverse-site/front/src/pages/board/detail/BoardDetailPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-board-param-add

- 라우트: `/board/:type/add` — `insuniverse-site/front/src/App.tsx:422` 의 `path` 리터럴 `/board/:type/add`
- 컴포넌트: `UpsertBoardPage` — `insuniverse-site/front/src/pages/board/upsert/UpsertBoardPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-board-param-edit-param

- 라우트: `/board/:type/edit/:id` — `insuniverse-site/front/src/App.tsx:423` 의 `path` 리터럴 `/board/:type/edit/:id`
- 컴포넌트: `UpsertBoardPage` — `insuniverse-site/front/src/pages/board/upsert/UpsertBoardPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-criteria

- 라우트: `/criteria` — `insuniverse-site/front/src/App.tsx:420` 의 `path` 리터럴 `/criteria`
- 컴포넌트: `CriteriaPage` — `insuniverse-site/front/src/pages/criteria/CriteriaPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-edu-detail-param

- 라우트: `/edu/detail/:id` — `insuniverse-site/front/src/App.tsx:435` 의 `path` 리터럴 `/edu/detail/:id`
- 컴포넌트: `EduDetailPage` — `insuniverse-site/front/src/pages/edu/detail/EduDetailPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-edu-list

- 라우트: `/edu/list` — `insuniverse-site/front/src/App.tsx:434` 의 `path` 리터럴 `/edu/list`
- 컴포넌트: `EduListPage` — `insuniverse-site/front/src/pages/edu/list/EduListPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-edu-play-param

- 라우트: `/edu/play/:id` — `insuniverse-site/front/src/App.tsx:436` 의 `path` 리터럴 `/edu/play/:id`
- 컴포넌트: `EduPlayPage` — `insuniverse-site/front/src/pages/edu/play/EduPlayPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-invoices

- 라우트: `/invoices` — `insuniverse-site/front/src/App.tsx:405` 의 `path` 리터럴 `/invoices`
- 컴포넌트: `InvoicesPage` — `insuniverse-site/front/src/pages/invoices/InvoicesPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-invoices-fax-send

- 라우트: `/invoices/fax-send` — `insuniverse-site/front/src/App.tsx:411` 의 `path` 리터럴 `/invoices/fax-send`
- 컴포넌트: `FaxSendPage` — `insuniverse-site/front/src/pages/invoices/FaxSendPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-invoices-fax-result

- 라우트: `/invoices/fax/result` — `insuniverse-site/front/src/App.tsx:412` 의 `path` 리터럴 `/invoices/fax/result`
- 컴포넌트: `FaxResultPage` — `insuniverse-site/front/src/pages/invoices/FaxResultPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-invoices-list

- 라우트: `/invoices/list` — `insuniverse-site/front/src/App.tsx:413` 의 `path` 리터럴 `/invoices/list`
- 컴포넌트: `InvoiceListPage` — `insuniverse-site/front/src/pages/invoices/list/InvoiceListPage.tsx`
- 접힌 상세 라우트: `/invoices/list/:ivhId`
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-invoices-output-step-five

- 라우트: `/invoices/output/step-five` — `insuniverse-site/front/src/App.tsx:410` 의 `path` 리터럴 `/invoices/output/step-five`
- 컴포넌트: `OutputStep5Page` — `insuniverse-site/front/src/pages/invoices/output/Step5Page.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-invoices-output-step-four

- 라우트: `/invoices/output/step-four` — `insuniverse-site/front/src/App.tsx:409` 의 `path` 리터럴 `/invoices/output/step-four`
- 컴포넌트: `OutputStep4Page` — `insuniverse-site/front/src/pages/invoices/output/Step4Page.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-invoices-output-step-one

- 라우트: `/invoices/output/step-one` — `insuniverse-site/front/src/App.tsx:406` 의 `path` 리터럴 `/invoices/output/step-one`
- 컴포넌트: `OutputStep1Page` — `insuniverse-site/front/src/pages/invoices/output/Step1Page.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-invoices-output-step-three

- 라우트: `/invoices/output/step-three` — `insuniverse-site/front/src/App.tsx:408` 의 `path` 리터럴 `/invoices/output/step-three`
- 컴포넌트: `OutputStep3Page` — `insuniverse-site/front/src/pages/invoices/output/Step3Page.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-invoices-output-step-two

- 라우트: `/invoices/output/step-two` — `insuniverse-site/front/src/App.tsx:407` 의 `path` 리터럴 `/invoices/output/step-two`
- 컴포넌트: `OutputStep2Page` — `insuniverse-site/front/src/pages/invoices/output/Step2Page.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-loss

- 라우트: `/loss` — `insuniverse-site/front/src/App.tsx:427` 의 `path` 리터럴 `/loss`
- 컴포넌트: `LossPage` — `insuniverse-site/front/src/pages/loss/LossPage.tsx`
- 접힌 상세 라우트: `/loss/edit/:id` · `/loss/:id`
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-loss-analysis-param

- 라우트: `/loss-analysis/:code` — `insuniverse-site/front/src/App.tsx:295` 의 `path` 리터럴 `:code`
- 컴포넌트: `LossAnalysisAgreementPage` — `insuniverse-site/front/src/pages/analysis/loss/LossAnalysisAgreementPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-loss-analysis-auth-param

- 라우트: `/loss-analysis/auth/:code` — `insuniverse-site/front/src/App.tsx:296` 의 `path` 리터럴 `auth/:code`
- 컴포넌트: `LossAnalysisFlowPage` — `insuniverse-site/front/src/pages/analysis/loss/LossAnalysisFlowPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-loss-add

- 라우트: `/loss/add` — `insuniverse-site/front/src/App.tsx:428` 의 `path` 리터럴 `/loss/add`
- 컴포넌트: `UpsertLossPage` — `insuniverse-site/front/src/pages/loss/UpsertLossPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-main

- 라우트: `/main` — `insuniverse-site/front/src/App.tsx:363` 의 `path` 리터럴 `/main`
- 컴포넌트: `MainPage` — `insuniverse-site/front/src/pages/main/MainPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-mok-auth-result

- 라우트: `/mok-auth/result` — `insuniverse-site/front/src/App.tsx:260` 의 `path` 리터럴 `/mok-auth/result`
- 컴포넌트: `MokAuthResultPage` — `insuniverse-site/front/src/pages/dream/MokAuthResultPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-mok-auth-window

- 라우트: `/mok-auth/window` — `insuniverse-site/front/src/App.tsx:259` 의 `path` 리터럴 `/mok-auth/window`
- 컴포넌트: `AuthWindowPage` — `insuniverse-site/front/src/pages/dream/AuthWindowPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-mypage

- 라우트: `/mypage` — `insuniverse-site/front/src/App.tsx:367` 의 `path` 리터럴 `/mypage`
- 컴포넌트: `Mypage` — `insuniverse-site/front/src/pages/mypage/Mypage.tsx`
- 접힌 상세 라우트: `/mypage/edu/:type`
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-mypage-edit

- 라우트: `/mypage/edit` — `insuniverse-site/front/src/App.tsx:368` 의 `path` 리터럴 `/mypage/edit`
- 컴포넌트: `EditPage` — `insuniverse-site/front/src/pages/mypage/edit/EditMyPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-mypage-edit-payment-card

- 라우트: `/mypage/edit-payment-card` — `insuniverse-site/front/src/App.tsx:379` 의 `path` 리터럴 `/mypage/edit-payment-card`
- 컴포넌트: `EditPaymentCardPage` — `insuniverse-site/front/src/pages/mypage/editPaymentCard/EditPaymentCardPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-mypage-invite

- 라우트: `/mypage/invite` — `insuniverse-site/front/src/App.tsx:386` 의 `path` 리터럴 `/mypage/invite`
- 컴포넌트: `InviteFriendPage` — `insuniverse-site/front/src/pages/mypage/invite/InviteFriendPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-mypage-money

- 라우트: `/mypage/money` — `insuniverse-site/front/src/App.tsx:380` 의 `path` 리터럴 `/mypage/money`
- 컴포넌트: `MoneyPage` — `insuniverse-site/front/src/pages/mypage/money/MoneyPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-mypage-money-payment-cancel

- 라우트: `/mypage/money/payment-cancel` — `insuniverse-site/front/src/App.tsx:382` 의 `path` 리터럴 `/mypage/money/payment-cancel`
- 컴포넌트: `MoneyPaymentCancelPage` — `insuniverse-site/front/src/pages/mypage/money/MoneyPaymentCancelPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-mypage-money-refund

- 라우트: `/mypage/money/refund` — `insuniverse-site/front/src/App.tsx:381` 의 `path` 리터럴 `/mypage/money/refund`
- 컴포넌트: `MoneyRefundPage` — `insuniverse-site/front/src/pages/mypage/money/MoneyRefundPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-mypage-payment-history

- 라우트: `/mypage/payment-history` — `insuniverse-site/front/src/App.tsx:378` 의 `path` 리터럴 `/mypage/payment-history`
- 컴포넌트: `PaymentHistoryPage` — `insuniverse-site/front/src/pages/mypage/paymentHistory/PaymentHistoryPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-mypage-push-settings

- 라우트: `/mypage/push-settings` — `insuniverse-site/front/src/App.tsx:387` 의 `path` 리터럴 `/mypage/push-settings`
- 컴포넌트: `PushSettingsPage` — `insuniverse-site/front/src/pages/mypage/push/PushSettingsPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-mypage-subscription

- 라우트: `/mypage/subscription` — `insuniverse-site/front/src/App.tsx:370` 의 `path` 리터럴 `/mypage/subscription`
- 컴포넌트: `MypageSubscriptionPage` — `insuniverse-site/front/src/pages/mypage/subscription/MypageSubscriptionPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-mypage-subscription-cancel

- 라우트: `/mypage/subscription/cancel` — `insuniverse-site/front/src/App.tsx:374` 의 `path` 리터럴 `/mypage/subscription/cancel`
- 컴포넌트: `SubscriptionCancelPage` — `insuniverse-site/front/src/pages/mypage/subscription/cancel/SubscriptionCancelPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-mypage-subscription-change

- 라우트: `/mypage/subscription/change` — `insuniverse-site/front/src/App.tsx:371` 의 `path` 리터럴 `/mypage/subscription/change`
- 컴포넌트: `SubscriptionChangePage` — `insuniverse-site/front/src/pages/mypage/subscription/change/SubscriptionChangePage.tsx`
- 접힌 상세 라우트: `/mypage/subscription/change/agreement/:formType`
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-mypage-subscription-change-cancel

- 라우트: `/mypage/subscription/change-cancel` — `insuniverse-site/front/src/App.tsx:377` 의 `path` 리터럴 `/mypage/subscription/change-cancel`
- 컴포넌트: `SubscriptionChangeCancelPage` — `insuniverse-site/front/src/pages/mypage/subscription/changeCancel/SubscriptionChangeCancelPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-mypage-subscription-change-select-payment-card

- 라우트: `/mypage/subscription/change/select-payment-card` — `insuniverse-site/front/src/App.tsx:373` 의 `path` 리터럴 `/mypage/subscription/change/select-payment-card`
- 컴포넌트: `SelectPaymentCardPage` — `insuniverse-site/front/src/pages/mypage/subscription/change/selectPaymentCard/SelectPaymentCardPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-mypage-subscription-refund

- 라우트: `/mypage/subscription/refund` — `insuniverse-site/front/src/App.tsx:375` 의 `path` 리터럴 `/mypage/subscription/refund`
- 컴포넌트: `SubscriptionRefundPage` — `insuniverse-site/front/src/pages/mypage/subscription/refund/SubscriptionRefundPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-mypage-subscription-restore-cancel

- 라우트: `/mypage/subscription/restore-cancel` — `insuniverse-site/front/src/App.tsx:376` 의 `path` 리터럴 `/mypage/subscription/restore-cancel`
- 컴포넌트: `SubscriptionRestoreCancelPage` — `insuniverse-site/front/src/pages/mypage/subscription/restoreCancel/SubscriptionRestoreCancelPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-mypage-with-drawall

- 라우트: `/mypage/with-drawall` — `insuniverse-site/front/src/App.tsx:385` 의 `path` 리터럴 `/mypage/with-drawall`
- 컴포넌트: `WithDrawallPage` — `insuniverse-site/front/src/pages/mypage/withDrawall/WithDrawallPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-payment

- 라우트: `/payment` — `insuniverse-site/front/src/App.tsx:383` 의 `path` 리터럴 `/payment`
- 컴포넌트: `PaymentPage` — `insuniverse-site/front/src/pages/payment/PaymentPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-payment-result

- 라우트: `/payment/result` — `insuniverse-site/front/src/App.tsx:384` 의 `path` 리터럴 `/payment/result`
- 컴포넌트: `PaymentResultPage` — `insuniverse-site/front/src/pages/payment/PaymentResultPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-privacy

- 라우트: `/privacy` — `insuniverse-site/front/src/App.tsx:264` 의 `path` 리터럴 `/privacy`
- 컴포넌트: `PrivacyPage` — `insuniverse-site/front/src/pages/privacy/PrivacyPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-products

- 라우트: `/products` — `insuniverse-site/front/src/App.tsx:416` 의 `path` 리터럴 `/products`
- 컴포넌트: `ProductsPage` — `insuniverse-site/front/src/pages/products/ProductsPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-products-payment

- 라우트: `/products/payment` — `insuniverse-site/front/src/App.tsx:417` 의 `path` 리터럴 `/products/payment`
- 컴포넌트: `ProductPaymentPage` — `insuniverse-site/front/src/pages/products/payment/ProductPaymentPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-products-payment-select-payment-card

- 라우트: `/products/payment/select-payment-card` — `insuniverse-site/front/src/App.tsx:418` 의 `path` 리터럴 `/products/payment/select-payment-card`
- 컴포넌트: `ProductSelectPaymentCardPage` — `insuniverse-site/front/src/pages/products/payment/selectPaymentCard/ProductSelectPaymentCardPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-queue-b2c-param

- 라우트: `/queue/b2c/:agcCode` — `insuniverse-site/front/src/App.tsx:313` 의 `path` 리터럴 `:agcCode`
- 컴포넌트: `B2cQueuePage` — `insuniverse-site/front/src/pages/alimTalk/B2cQueuePage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-search

- 라우트: `/search` — `insuniverse-site/front/src/App.tsx:389` 의 `path` 리터럴 `/search`
- 컴포넌트: `SearchPage` — `insuniverse-site/front/src/pages/search/SearchPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-step-four-b2c-param

- 라우트: `/step-four/b2c/:agcCode` — `insuniverse-site/front/src/App.tsx:310` 의 `path` 리터럴 `:agcCode`
- 컴포넌트: `B2cStep4Page` — `insuniverse-site/front/src/pages/alimTalk/B2cStep4Page.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-step-one-b2c-param

- 라우트: `/step-one/b2c/:agcCode` — `insuniverse-site/front/src/App.tsx:301` 의 `path` 리터럴 `:agcCode`
- 컴포넌트: `B2cStep1Page` — `insuniverse-site/front/src/pages/alimTalk/B2cStep1Page.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-step-three-b2c-param

- 라우트: `/step-three/b2c/:agcCode` — `insuniverse-site/front/src/App.tsx:307` 의 `path` 리터럴 `:agcCode`
- 컴포넌트: `B2cStep3Page` — `insuniverse-site/front/src/pages/alimTalk/B2cStep3Page.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-step-two-b2c-param

- 라우트: `/step-two/b2c/:agcCode` — `insuniverse-site/front/src/App.tsx:304` 의 `path` 리터럴 `:agcCode`
- 컴포넌트: `B2cStep2Page` — `insuniverse-site/front/src/pages/alimTalk/B2cStep2Page.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-terms

- 라우트: `/terms` — `insuniverse-site/front/src/App.tsx:263` 의 `path` 리터럴 `/terms`
- 컴포넌트: `TermsPage` — `insuniverse-site/front/src/pages/terms/TermsPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-terms-b2c-personal-info

- 라우트: `/terms/b2c-personal-info` — `insuniverse-site/front/src/App.tsx:330` 의 `path` 리터럴 `b2c-personal-info`
- 컴포넌트: `B2cPersonalInfoPage` — `insuniverse-site/front/src/pages/terms/B2cPersonalInfoPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

### site-terms-b2c-sensitive-info

- 라우트: `/terms/b2c-sensitive-info` — `insuniverse-site/front/src/App.tsx:331` 의 `path` 리터럴 `b2c-sensitive-info`
- 컴포넌트: `B2cSensitiveInfoPage` — `insuniverse-site/front/src/pages/terms/B2cSensitiveInfoPage.tsx`
- 접힌 상세 라우트: 없음
- 주요 영역·액션: 미검증. 이 화면의 렌더 내용과 분기는 라우트 등록과 컴포넌트 실존만으로는 판정되지 않는다

## 연혁

릴리스 태그가 존재하지 않는다. 릴리스 열은 `—` 로 두고 커밋 SHA 로 추적한다. 행은 `insuniverse-site` 의 `front/src/App.tsx` 커밋 중 `<Routes>` 블록 안 `path` 리터럴 집합이 실제로 늘거나 준 것만 담았다 — 문구·스타일 변경과 컴포넌트 교체는 제외된다. 표기 `+n` 은 그 커밋이 더한 경로 리터럴 수이고 `-n` 은 지운 수다. 등록 **조건** 만 바꾸고 리터럴 집합은 그대로인 커밋은 이 필터에서 빠진다 — 구독 게이트가 언제 어느 라우트를 감쌌는지는 이 표에 없다.

| 릴리스 | 날짜 | SHA | 변경 요약 |
|---|---|---|---|
| — | 2026-08-05 | `767d1e44` | +6/-1 · feat(loss): add user analysis flow |
| — | 2026-08-04 | `29aca460` | +1/-0 · feat(nts): add staged medical test flow |
| — | 2026-06-23 | `cc5087e5` | +1/-0 · feat(alimtalk): 초대링크 접근 만료 시 '접근 기간 만료' 화면 추가 |
| — | 2026-06-05 | `33f63bd3` | +2/-0 · feat: 진료 분석 만석 시 대기열 화면 추가 |
| — | 2026-01-29 | `aaacdf89` | +0/-2 · fix: 정기결제 PG사 변경(스마트로->토스) |
| — | 2026-01-14 | `1d21d152` | +1/-0 · fix: 4차개발 조대표님 수정사항 |
| — | 2026-01-12 | `03553d08` | +7/-0 · refactor: 4차 고도화 전반 코드 리팩토링 |
| — | 2025-12-18 | `ffc55d1d` | +3/-0 · fix: b2c 상담신청 및 생년월일 인증 , 알람톡 변경 |
| — | 2025-12-18 | `f7c79f66` | +1/-1 · fix: b2c 진료분석 |
| — | 2025-12-17 | `ec845e52` | +1/-1 · fix: b2c 진료분석 수정 |
| — | 2025-12-17 | `53ad6399` | +1/-0 · fix: b2c 보상찾아줘 수정완료 |
| — | 2025-12-16 | `da41c697` | +3/-2 · fix: b2c 진료분석 상세페이지 |
| — | 2025-12-15 | `22cc8701` | +2/-0 · fix: b2c ci값 제거, 유저 정보 추가 |
| — | 2025-12-12 | `7e890918` | +5/-0 · fix: b2c 기업 진료분석 테스트 |
| — | 2025-12-06 | `cbafff15` | +1/-0 · fix : 청구서 발급내역 상세 변경 -> 추후 수정 필요 |
| — | 2025-12-04 | `bbda3d50` | +1/-0 · fix: 팩스결과 페이지 |
| — | 2025-12-03 | `2fbdddf7` | +1/-0 · fix: 마이페이지 -> 보유머니 1차 수정 |
| — | 2025-12-03 | `4235756a` | +1/-0 · fix: 팩스 발송 페이지화 |
| — | 2025-12-03 | `75586020` | +0/-1 · fix: import 수정 |
| — | 2025-12-03 | `838c882f` | +1/-0 · fix: 문구 수정 |
| — | 2025-11-26 | `87294479` | +1/-0 · fix: 친구초대 페이지 생성 |
| — | 2025-11-25 | `592c1d27` | +1/-0 · fix: 자동충전 설정 기능 추가 |
| — | 2025-11-24 | `430f970e` | +1/-0 · fix: 자동충전 페이지 생성 |
| — | 2025-11-24 | `c4937c57` | +2/-2 · 포인트 변수명 머니로 변경 |
| — | 2025-11-18 | `e57703e4` | +1/-0 · 포인트 환불관리 리팩토링 |
| — | 2025-11-17 | `f1179531` | +2/-0 · 스마트로 결제 모듈 추가, 포인트 충전 |
| — | 2025-11-17 | `c05188ce` | +1/-0 · 마이페이지 포인트 관리 추가 |
| — | 2025-11-11 | `8fcc4d0b` | +0/-1 · 병명기준 추천보험 추가 |
| — | 2025-11-11 | `5bd17240` | +1/-0 · 병명예측 분석관리 |
| — | 2025-10-30 | `53c47d54` | +1/-0 · refactor: 디테일 내용 추가 |
| — | 2025-07-24 | `88fe3b66` | +1/-0 · WIP: 모달 개선 작업 |
| — | 2025-07-14 | `8dadc0ef` | +1/-0 · feat: 내 강의 |
| — | 2025-07-12 | `959a8a82` | +2/-1 · feat: 강의 상세, 강의 재생 |
| — | 2025-07-07 | `08942c05` | +2/-0 · WIP: 강의 작업중 |
| — | 2025-06-05 | `3705208e` | +1/-0 · refactor: 보험분석 개선사항 적용 |
| — | 2025-06-04 | `f8ff5490` | +0/-1 · refactor: 분석기능개선 1안 선제적용 |
| — | 2025-05-16 | `e4df40ae` | +1/-0 · feat: 영업대리점 초대 페이지 |
| — | 2025-03-31 | `6347fe05` | +4/-0 · feat: 손해사정 서비스 |
| — | 2025-03-06 | `50586eee` | +1/-0 · test: 드림시큐리티 인증 redirect |
| — | 2025-02-27 | `bd18880a` | +2/-0 · feat: 이용약관, 개인정보처리방침 페이지 및 푸터 |
| — | 2025-02-26 | `a28b1a0d` | +1/-0 · test: dream redirect |
| — | 2025-02-18 | `b9d4739d` | +1/-0 · test: 입앱브라우저 외부브라우저 연동 테스트 |
| — | 2025-01-03 | `b587d59c` | +1/-0 · feat: 게시물 상세->수정, 게시물등록 페이지 컴퍼넌트 |
| — | 2025-01-03 | `8cff070c` | +3/-0 · feat: 게시판목록 |
| — | 2024-12-26 | `548e2edc` | +2/-2 · fix: 보험분석 step1 수정, 나머지step :code추가 |
| — | 2024-12-26 | `db25c120` | +2/-2 · test: 보험분석 별도의 초대권 알림톡 나눠서 관리 |
| — | 2024-12-16 | `4d84e75c` | +1/-0 · feat: 중대질병 상세의 상세 |
| — | 2024-12-13 | `7dbcc3b5` | +1/-0 · fix: 루트 경로 접근시 리디렉트 |
| — | 2024-12-11 | `4458829b` | +1/-0 · feat: 회원탈퇴 |
| — | 2024-12-09 | `20595ec4` | +1/-0 · feat: 유저 마이페이지 환불화면 추가 작성 |
| — | 2024-12-09 | `cfbff09a` | +0/-1 · chore: 분석요청 1차베타 코드 제거 |
| — | 2024-12-09 | `9aca153d` | +1/-0 · feat: 알림톡인증 전스텝 화면 적용 |
| — | 2024-12-06 | `e7c37181` | +4/-4 · refactor: 메인메뉴 준비중, 알림톡 라우팅 |
| — | 2024-12-06 | `a1443b37` | +2/-2 · refactor: 알림톡 route param추가 |
| — | 2024-12-05 | `9fe6f52c` | +0/-1 · refactor: redirect 간편인증 라우팅 주석 |
| — | 2024-12-05 | `71210306` | +1/-0 · test: 드림시큐리티 간편인증 테스트코드 |
| — | 2024-11-28 | `9a9b90e5` | +6/-1 · feat: 고객 알림톡 화면 추가 |
| — | 2024-11-27 | `67c2d143` | +5/-1 · feat: 청구서 출력 페이지 |
| — | 2024-11-26 | `73f63c50` | +1/-1 · feat: 토스결제, 결제관리 작업 완료 |
| — | 2024-11-26 | `5cea19ad` | +1/-1 · feat: 결제수단변경 |
| — | 2024-11-26 | `690a714e` | +2/-3 · feat: 결제 |
| — | 2024-11-25 | `9887249f` | +1/-1 · chore: 분석목록, 상세, 서브상세의 변경된 api리턴값 적용 |
| — | 2024-11-25 | `29f1af21` | +1/-0 · feat: criteria 페이지 |
| — | 2024-11-22 | `c0020424` | +2/-0 · feat: 마이페이지- 결제 변경 페이지 |
| — | 2024-11-21 | `b8b33b6b` | +2/-0 · WIP: 구독관리 예약변경 화면 작업중 |
| — | 2024-11-21 | `2891c624` | +2/-0 · feat: 구독 변경신청 해지, 구독해지 |
| — | 2024-11-21 | `e5aa6a33` | +1/-0 · Merge branch 'feature/products-connect-api' into feature/mypage |
| — | 2024-11-20 | `797131be` | +1/-0 · WIP |
| — | 2024-11-20 | `c7fc34ed` | +4/-0 · feat: 마이페이지 |
| — | 2024-11-19 | `9270738f` | +7/-7 · WIP: init invoices page |
| — | 2024-11-19 | `289cc747` | +1/-2 · WIP: analysis detail&subdetail page |
| — | 2024-11-18 | `4892fc9a` | +2/-0 · WIP: analyze page |
| — | 2024-11-18 | `253e78ee` | +5/-5 · WIP: auth page |
| — | 2024-11-08 | `db35c4b9` | +5/-0 · fix: 수정사항적용 |
| — | 2024-10-28 | `0c6d14af` | +1/-0 · fix: 구독권 결제 |
| — | 2024-10-28 | `7022e215` | +1/-0 · fix: 구독권 결제 진입 화면 |
| — | 2024-10-25 | `08628c9e` | +1/-0 · fix: 주의사항 |
| — | 2024-10-10 | `49beda04` | +1/-0 · fix: 분석상세 문구수정 |
| — | 2024-10-07 | `d9769f60` | +0/-2 · fix: merge css, if footer, findpwfail padding class |
| — | 2024-10-01 | `6ea2ee2c` | +1/-0 · feat: search |
| — | 2024-09-27 | `f445c546` | +1/-1 · fix: 카카오톡인증 |
| — | 2024-09-27 | `fb2b8e70` | +1/-0 · feat: analysis customer list |
| — | 2024-09-26 | `308acea0` | +1/-0 · fix: analysis list api' |
| — | 2024-09-26 | `9888ead8` | +1/-0 · feat: analysis list |
| — | 2024-09-25 | `9e3a8d62` | +3/-1 · fix: session storage |
| — | 2024-09-25 | `4250a020` | +1/-0 · feat: analysis |
| — | 2024-09-24 | `16aadfee` | +1/-0 · feat: findinfo |
| — | 2024-09-24 | `be0c75a5` | +1/-0 · feat: join |
| — | 2024-09-23 | `9c98e7d6` | +1/-0 · feat: join agree |
| — | 2024-09-11 | `ccc602b6` | +5/-0 · feat: front default setup |
