[{"data":1,"prerenderedAt":4262},["ShallowReactive",2],{"doc:\u002Fboard":3},{"id":4,"title":5,"body":6,"description":4207,"extension":4256,"meta":4257,"navigation":4258,"path":33,"seo":4259,"stem":4260,"__hash__":4261},"docs\u002FBOARD.md","맑은노티 현황판 (정본)",{"type":7,"value":8,"toc":4206},"minimark",[9,13,71,74,79,99,229,231,235,243,250,255,344,348,444,448,528,532,608,612,724,726,733,740,744,856,860,918,922,961,965,1099,1103,1218,1222,1299,1301,1308,1315,1319,1396,1400,1610,1614,1778,1780,1787,1794,1853,1855,1862,1869,1873,2028,2032,2364,2368,2486,2490,2797,2801,3223,3227,3545,3549,3804,3806,3810,3823,3827,3837,3949,3953,4074,4078,4183,4185,4189],[10,11,5],"h1",{"id":12},"맑은노티-현황판-정본",[14,15,16],"blockquote",{},[17,18,19,23,24,34,35,38,39,42,43,46,47,50,51,54,55,58,59,62,63,66,67,70],"p",{},[20,21,22],"strong",{},"목적",": 현황판(",[25,26,30],"a",{"href":27,"rel":28},"https:\u002F\u002Fmalgn-noti-mng.pages.dev\u002Fboard",[29],"nofollow",[31,32,33],"code",{},"\u002Fboard",")이 표시하는 ",[20,36,37],{},"모든 내용","(전체 진행률·단계별 진행률·전 단계 세부 작업)을 담는 정본 문서. ",[31,40,41],{},"doc\u002FWBS.md","와 동일하게 현황판 전체를 반영한다.\n",[20,44,45],{},"데이터 출처",": ",[31,48,49],{},"malgn-noti-api"," ",[31,52,53],{},"GET \u002Fwbs"," (R2 ",[31,56,57],{},"wbs\u002Fwbs.json","). 현황판과 동일 소스.\n",[20,60,61],{},"현황판 데이터 기준",": 2026-06-04 · ",[20,64,65],{},"문서 현행화",": 2026-06-05\n",[20,68,69],{},"상태 범례",": ✅ 완료 · 🟡 진행 중 · ⚪ 대기 · ⛔ 보류",[72,73],"hr",{},[75,76,78],"h2",{"id":77},"진행률-스냅샷","진행률 스냅샷",[80,81,82,93],"ul",{},[83,84,85,88,89,92],"li",{},[20,86,87],{},"전체 진행률(가중평균): 47.5%"," — ",[31,90,91],{},"0.10×55 + 0.15×55 + 0.20×35 + 0.10×20 + 0.45×55"," \u002F 100",[83,94,95,98],{},[20,96,97],{},"작업 합계: 155건"," — ✅ 63 · 🟡 25 · ⚪ 67",[100,101,102,124],"table",{},[103,104,105],"thead",{},[106,107,108,112,115,118,121],"tr",{},[109,110,111],"th",{},"단계",[109,113,114],{},"가중치",[109,116,117],{},"진행률",[109,119,120],{},"작업 수",[109,122,123],{},"요약",[125,126,127,149,169,190,209],"tbody",{},[106,128,129,135,138,143,146],{},[130,131,132],"td",{},[20,133,134],{},"Step 1 · 프로젝트 준비",[130,136,137],{},"10%",[130,139,140],{},[20,141,142],{},"55%",[130,144,145],{},"18건",[130,147,148],{},"R&R · 사업 기획 · 계약서 초안 · 커뮤니케이션 · 환경 셋팅",[106,150,151,156,159,163,166],{},[130,152,153],{},[20,154,155],{},"Step 2 · 주요 서비스 정책 이슈 정리",[130,157,158],{},"15%",[130,160,161],{},[20,162,142],{},[130,164,165],{},"22건",[130,167,168],{},"프로토타입 · 회원\u002F결제\u002F계약 · 메시지 채널 · 캠페인 · 주소록 정책",[106,170,171,176,179,184,187],{},[130,172,173],{},[20,174,175],{},"Step 3 · 서비스 기획 (화면설계)",[130,177,178],{},"20%",[130,180,181],{},[20,182,183],{},"35%",[130,185,186],{},"21건",[130,188,189],{},"Front 프로토타입 대체 + BackOffice 1·2차 화면 명세",[106,191,192,197,199,203,206],{},[130,193,194],{},[20,195,196],{},"Step 4 · 디자인 \u002F 퍼블리싱",[130,198,137],{},[130,200,201],{},[20,202,178],{},[130,204,205],{},"2건",[130,207,208],{},"디자인 스타일 가이드 + 퍼블리싱 MD (개발 측 DESIGN.md + \u002Fguide 카탈로그로 대체 운영 중)",[106,210,211,216,219,223,226],{},[130,212,213],{},[20,214,215],{},"Step 5 · 서비스 개발",[130,217,218],{},"45%",[130,220,221],{},[20,222,142],{},[130,224,225],{},"92건",[130,227,228],{},"6\u002F4 §1~§5 + NHN OAuth 어댑터·Email 활성화·이메일 변경 라우트: UI 거의 완료 · API 약 72%(13 done) · 화면↔API 연동 약 40%(10 done) · 관리자단 핸드오프 17 페이지(화면만 ✅, API 연동 후속) · 통합·배포 Hyperdrive Tunnel + Email real",[72,230],{},[75,232,234],{"id":233},"단계별-상세","단계별 상세",[236,237,239,240],"h3",{"id":238},"step-1-프로젝트-준비-step-1","🎯 Step 1 · 프로젝트 준비  ",[31,241,242],{},"step-1",[80,244,245,248],{},[83,246,247],{},"비중 10% · 진행 55% · 18건",[83,249,148],{},[251,252,254],"h4",{"id":253},"rr-사업-기획-3","R&R · 사업 기획 (3)",[100,256,257,279],{},[103,258,259],{},[106,260,261,264,267,270,273,276],{},[109,262,263],{},"ID",[109,265,266],{},"작업",[109,268,269],{},"상태",[109,271,272],{},"담당",[109,274,275],{},"목표",[109,277,278],{},"완료",[125,280,281,303,324],{},[106,282,283,286,292,295,298,301],{},[130,284,285],{},"1-1-1",[130,287,288,291],{},[20,289,290],{},"작업 R&R 분배"," — 메모 확인",[130,293,294],{},"✅ 완료",[130,296,297],{},"김덕조",[130,299,300],{},"2026.05.08",[130,302,300],{},[106,304,305,308,314,316,319,322],{},[130,306,307],{},"1-1-2",[130,309,310,313],{},[20,311,312],{},"경쟁 서비스 가격 분석"," — 경쟁사 단가표",[130,315,294],{},[130,317,318],{},"컨설팅팀",[130,320,321],{},"—",[130,323,321],{},[106,325,326,329,335,338,340,342],{},[130,327,328],{},"1-1-3",[130,330,331,334],{},[20,332,333],{},"당사 원가 확인 및 가격 정책 결정 (단가)"," — 기본 단가 책정(할인률 정책) · MMS 이미지 3장까지 비용설계 · 단가표(기획안)",[130,336,337],{},"🟡 진행 중",[130,339,318],{},[130,341,321],{},[130,343,321],{},[251,345,347],{"id":346},"사업-준비-4","사업 준비 (4)",[100,349,350,366],{},[103,351,352],{},[106,353,354,356,358,360,362,364],{},[109,355,263],{},[109,357,266],{},[109,359,269],{},[109,361,272],{},[109,363,275],{},[109,365,278],{},[125,367,368,388,407,425],{},[106,369,370,373,379,382,384,386],{},[130,371,372],{},"1-2-1",[130,374,375,378],{},[20,376,377],{},"특수 유형의 메시징 사업자 신청"," — 프로젝트 추진 중간평가 이후",[130,380,381],{},"⚪ 대기",[130,383,318],{},[130,385,321],{},[130,387,321],{},[106,389,390,393,399,401,403,405],{},[130,391,392],{},"1-2-2",[130,394,395,398],{},[20,396,397],{},"통신판매사업자 신청"," — 중간평가 이후",[130,400,381],{},[130,402,318],{},[130,404,321],{},[130,406,321],{},[106,408,409,412,417,419,421,423],{},[130,410,411],{},"1-2-3",[130,413,414,398],{},[20,415,416],{},"자본 Up 방안",[130,418,381],{},[130,420,321],{},[130,422,321],{},[130,424,321],{},[106,426,427,430,436,438,440,442],{},[130,428,429],{},"1-2-4",[130,431,432,435],{},[20,433,434],{},"관련 계약서 작성"," — 가입신청서·이용약관·개인정보처리방침·요금신고내역 초안 \u002F 1차 검토 완료 → 2차 수정본 \u002F 전무님 검토 필요",[130,437,337],{},[130,439,318],{},[130,441,321],{},[130,443,321],{},[251,445,447],{"id":446},"커뮤니케이션-3","커뮤니케이션 (3)",[100,449,450,466],{},[103,451,452],{},[106,453,454,456,458,460,462,464],{},[109,455,263],{},[109,457,266],{},[109,459,269],{},[109,461,272],{},[109,463,275],{},[109,465,278],{},[125,467,468,488,509],{},[106,469,470,473,479,481,484,486],{},[130,471,472],{},"1-3-1",[130,474,475,478],{},[20,476,477],{},"그룹 텔레그램 개설"," — 맑은메시지 TF",[130,480,294],{},[130,482,483],{},"김도형",[130,485,300],{},[130,487,300],{},[106,489,490,493,499,501,504,507],{},[130,491,492],{},"1-3-2",[130,494,495,498],{},[20,496,497],{},"화면설계 · 피그마 정본"," — 피그마",[130,500,294],{},[130,502,503],{},"김경은",[130,505,506],{},"2026.05.11",[130,508,506],{},[106,510,511,514,520,522,524,526],{},[130,512,513],{},"1-3-3",[130,515,516,519],{},[20,517,518],{},"문서 공유 폴더"," — 프로젝트 폴더",[130,521,381],{},[130,523,297],{},[130,525,321],{},[130,527,321],{},[251,529,531],{"id":530},"서비스-메타-3","서비스 메타 (3)",[100,533,534,550],{},[103,535,536],{},[106,537,538,540,542,544,546,548],{},[109,539,263],{},[109,541,266],{},[109,543,269],{},[109,545,272],{},[109,547,275],{},[109,549,278],{},[125,551,552,570,588],{},[106,553,554,557,562,564,566,568],{},[130,555,556],{},"1-4-1",[130,558,559],{},[20,560,561],{},"서비스 도메인 결정",[130,563,381],{},[130,565,297],{},[130,567,321],{},[130,569,321],{},[106,571,572,575,580,582,584,586],{},[130,573,574],{},"1-4-2",[130,576,577],{},[20,578,579],{},"브랜딩 (맑은메시지 외 아이데이션)",[130,581,381],{},[130,583,297],{},[130,585,321],{},[130,587,321],{},[106,589,590,593,599,601,604,606],{},[130,591,592],{},"1-4-3",[130,594,595,598],{},[20,596,597],{},"마케팅 기획"," — 기존 고객군 & 메시징 only 고객군",[130,600,381],{},[130,602,603],{},"안병훈",[130,605,321],{},[130,607,321],{},[251,609,611],{"id":610},"환경-셋팅-5","환경 셋팅 (5)",[100,613,614,630],{},[103,615,616],{},[106,617,618,620,622,624,626,628],{},[109,619,263],{},[109,621,266],{},[109,623,269],{},[109,625,272],{},[109,627,275],{},[109,629,278],{},[125,631,632,651,670,688,706],{},[106,633,634,637,643,645,647,649],{},[130,635,636],{},"1-5-1",[130,638,639,642],{},[20,640,641],{},"커뮤니케이션 문서 폴더 운영"," — 폴더 셋팅",[130,644,294],{},[130,646,297],{},[130,648,300],{},[130,650,300],{},[106,652,653,656,662,664,666,668],{},[130,654,655],{},"1-5-2",[130,657,658,661],{},[20,659,660],{},"GitHub(malgnsoft) · Cloudflare 셋팅"," — 3 레포 + Pages 2 + Workers 1",[130,663,294],{},[130,665,483],{},[130,667,506],{},[130,669,506],{},[106,671,672,675,680,682,684,686],{},[130,673,674],{},"1-5-3",[130,676,677],{},[20,678,679],{},"사용자단",[130,681,294],{},[130,683,483],{},[130,685,506],{},[130,687,506],{},[106,689,690,693,698,700,702,704],{},[130,691,692],{},"1-5-4",[130,694,695],{},[20,696,697],{},"관리자단",[130,699,294],{},[130,701,483],{},[130,703,506],{},[130,705,506],{},[106,707,708,711,716,718,720,722],{},[130,709,710],{},"1-5-5",[130,712,713],{},[20,714,715],{},"API 서버",[130,717,294],{},[130,719,483],{},[130,721,506],{},[130,723,506],{},[72,725],{},[236,727,729,730],{"id":728},"step-2-주요-서비스-정책-이슈-정리-step-2","📐 Step 2 · 주요 서비스 정책 이슈 정리  ",[31,731,732],{},"step-2",[80,734,735,738],{},[83,736,737],{},"비중 15% · 진행 55% · 22건",[83,739,168],{},[251,741,743],{"id":742},"프로토타입-문서-5","프로토타입 · 문서 (5)",[100,745,746,762],{},[103,747,748],{},[106,749,750,752,754,756,758,760],{},[109,751,263],{},[109,753,266],{},[109,755,269],{},[109,757,272],{},[109,759,275],{},[109,761,278],{},[125,763,764,783,801,819,838],{},[106,765,766,769,775,777,779,781],{},[130,767,768],{},"2-1-1",[130,770,771,774],{},[20,772,773],{},"Front 프로토타입"," — IA 정본(263 페이지)",[130,776,337],{},[130,778,297],{},[130,780,321],{},[130,782,321],{},[106,784,785,788,793,795,797,799],{},[130,786,787],{},"2-1-2",[130,789,790],{},[20,791,792],{},"Front 메뉴 및 스펙",[130,794,381],{},[130,796,321],{},[130,798,321],{},[130,800,321],{},[106,802,803,806,811,813,815,817],{},[130,804,805],{},"2-1-3",[130,807,808],{},[20,809,810],{},"Front 페이지 리스트",[130,812,381],{},[130,814,297],{},[130,816,321],{},[130,818,321],{},[106,820,821,824,830,832,834,836],{},[130,822,823],{},"2-1-4",[130,825,826,829],{},[20,827,828],{},"BackOffice 프로토타입"," — 만들지 말지 결정",[130,831,381],{},[130,833,503],{},[130,835,321],{},[130,837,321],{},[106,839,840,843,848,850,852,854],{},[130,841,842],{},"2-1-5",[130,844,845],{},[20,846,847],{},"BackOffice 메뉴 및 스펙",[130,849,381],{},[130,851,321],{},[130,853,321],{},[130,855,321],{},[251,857,859],{"id":858},"주요-서비스-참조-2","주요 서비스 참조 (2)",[100,861,862,878],{},[103,863,864],{},[106,865,866,868,870,872,874,876],{},[109,867,263],{},[109,869,266],{},[109,871,269],{},[109,873,272],{},[109,875,275],{},[109,877,278],{},[125,879,880,899],{},[106,881,882,885,891,893,895,897],{},[130,883,884],{},"2-2-1",[130,886,887,890],{},[20,888,889],{},"NHN Cloud Notification 서비스"," — 통합 대상",[130,892,381],{},[130,894,321],{},[130,896,321],{},[130,898,321],{},[106,900,901,904,910,912,914,916],{},[130,902,903],{},"2-2-2",[130,905,906,909],{},[20,907,908],{},"비즈 뿌리오 서비스"," — 참조",[130,911,381],{},[130,913,321],{},[130,915,321],{},[130,917,321],{},[251,919,921],{"id":920},"캠페인-1","캠페인 (1)",[100,923,924,940],{},[103,925,926],{},[106,927,928,930,932,934,936,938],{},[109,929,263],{},[109,931,266],{},[109,933,269],{},[109,935,272],{},[109,937,275],{},[109,939,278],{},[125,941,942],{},[106,943,944,947,953,955,957,959],{},[130,945,946],{},"2-3-1",[130,948,949,952],{},[20,950,951],{},"벤치마킹 조사"," — 솔라피(CRM 결합) + 개별 문자 발송",[130,954,381],{},[130,956,603],{},[130,958,321],{},[130,960,321],{},[251,962,964],{"id":963},"회원결제계약-6","회원·결제·계약 (6)",[100,966,967,983],{},[103,968,969],{},[106,970,971,973,975,977,979,981],{},[109,972,263],{},[109,974,266],{},[109,976,269],{},[109,978,272],{},[109,980,275],{},[109,982,278],{},[125,984,985,1005,1024,1043,1061,1080],{},[106,986,987,990,996,998,1000,1003],{},[130,988,989],{},"2-4-1",[130,991,992,995],{},[20,993,994],{},"회원가입·판매방식 — 후불 정산 \u002F 개인 회원 추가"," — 법인·개인사업자·개인 3유형 \u002F 카드 충전식 vs 후불 결제 \u002F 계약관리에 지급이행보증보험 첨부",[130,997,337],{},[130,999,297],{},[130,1001,1002],{},"2026.05.12",[130,1004,1002],{},[106,1006,1007,1010,1016,1018,1020,1022],{},[130,1008,1009],{},"2-4-2",[130,1011,1012,1015],{},[20,1013,1014],{},"회원 구조 — 멀티 계정 (주·보조)"," — 법인·개인사업자만 멀티계정 탭 노출, 개인은 미노출",[130,1017,337],{},[130,1019,297],{},[130,1021,1002],{},[130,1023,1002],{},[106,1025,1026,1029,1035,1037,1039,1041],{},[130,1027,1028],{},"2-4-3",[130,1030,1031,1034],{},[20,1032,1033],{},"결제 — 자동충전"," — 향후 재논의",[130,1036,381],{},[130,1038,297],{},[130,1040,321],{},[130,1042,321],{},[106,1044,1045,1048,1053,1055,1057,1059],{},[130,1046,1047],{},"2-4-4",[130,1049,1050],{},[20,1051,1052],{},"결제내역 — 결제 페이지 추가",[130,1054,381],{},[130,1056,297],{},[130,1058,321],{},[130,1060,321],{},[106,1062,1063,1066,1072,1074,1076,1078],{},[130,1064,1065],{},"2-4-5",[130,1067,1068,1071],{},[20,1069,1070],{},"결제 — 후불 결제 고려"," — 내부로직 -크레딧 \u002F 후불시 사용 크레딧 \u002F 다음 결제일",[130,1073,381],{},[130,1075,297],{},[130,1077,321],{},[130,1079,321],{},[106,1081,1082,1085,1091,1093,1095,1097],{},[130,1083,1084],{},"2-4-6",[130,1086,1087,1090],{},[20,1088,1089],{},"계약관리 정책"," — 법인·개인사업자 온라인 계약 + BackOffice 승인 \u002F 개인은 즉시 사용",[130,1092,381],{},[130,1094,321],{},[130,1096,321],{},[130,1098,321],{},[251,1100,1102],{"id":1101},"메시지-채널-정책-5","메시지 채널 정책 (5)",[100,1104,1105,1121],{},[103,1106,1107],{},[106,1108,1109,1111,1113,1115,1117,1119],{},[109,1110,263],{},[109,1112,266],{},[109,1114,269],{},[109,1116,272],{},[109,1118,275],{},[109,1120,278],{},[125,1122,1123,1142,1161,1180,1199],{},[106,1124,1125,1128,1134,1136,1138,1140],{},[130,1126,1127],{},"2-5-1",[130,1129,1130,1133],{},[20,1131,1132],{},"AI 문장 다듬기 기능"," — 발송창(알림톡 제외) AI검토 \u002F 문자·RCS·이메일 적용",[130,1135,337],{},[130,1137,297],{},[130,1139,1002],{},[130,1141,1002],{},[106,1143,1144,1147,1153,1155,1157,1159],{},[130,1145,1146],{},"2-5-2",[130,1148,1149,1152],{},[20,1150,1151],{},"광고용 선택 시 수신거부 전화번호 이슈"," — 맨 마지막에 입력창 분리 \u002F 재확인 후 설계",[130,1154,381],{},[130,1156,297],{},[130,1158,321],{},[130,1160,321],{},[106,1162,1163,1166,1172,1174,1176,1178],{},[130,1164,1165],{},"2-5-3",[130,1167,1168,1171],{},[20,1169,1170],{},"순차발송"," — 알림톡 미수신시 SMS\u002FLMS 폴백 \u002F 복합(플로우) Default 알림톡→SMS→이메일",[130,1173,337],{},[130,1175,297],{},[130,1177,1002],{},[130,1179,1002],{},[106,1181,1182,1185,1191,1193,1195,1197],{},[130,1183,1184],{},"2-5-4",[130,1186,1187,1190],{},[20,1188,1189],{},"랜딩페이지 만들기 추가"," — 기본형·확장형 화면 추가",[130,1192,337],{},[130,1194,297],{},[130,1196,1002],{},[130,1198,1002],{},[106,1200,1201,1204,1210,1212,1214,1216],{},[130,1202,1203],{},"2-5-5",[130,1205,1206,1209],{},[20,1207,1208],{},"발신번호 관리에 휴대폰번호 추가"," — 유선(증명서) + 휴대폰(본인인증 PASS)",[130,1211,337],{},[130,1213,297],{},[130,1215,1002],{},[130,1217,1002],{},[251,1219,1221],{"id":1220},"캠페인-주소록-브랜드-3","캠페인 · 주소록 · 브랜드 (3)",[100,1223,1224,1240],{},[103,1225,1226],{},[106,1227,1228,1230,1232,1234,1236,1238],{},[109,1229,263],{},[109,1231,266],{},[109,1233,269],{},[109,1235,272],{},[109,1237,275],{},[109,1239,278],{},[125,1241,1242,1261,1280],{},[106,1243,1244,1247,1253,1255,1257,1259],{},[130,1245,1246],{},"2-6-1",[130,1248,1249,1252],{},[20,1250,1251],{},"캠페인 관리 — AB 테스트 기능"," — 캠페인 관리 기능 최종 정의 후",[130,1254,381],{},[130,1256,297],{},[130,1258,321],{},[130,1260,321],{},[106,1262,1263,1266,1272,1274,1276,1278],{},[130,1264,1265],{},"2-6-2",[130,1267,1268,1271],{},[20,1269,1270],{},"주소록 — CRM 기능 확대"," — 단건 발송 레이어 팝업 \u002F 연락처·그룹 채널 바로가기 \u002F CRM 예제 화면 수집",[130,1273,337],{},[130,1275,297],{},[130,1277,1002],{},[130,1279,1002],{},[106,1281,1282,1285,1290,1292,1295,1297],{},[130,1283,1284],{},"2-6-3",[130,1286,1287],{},[20,1288,1289],{},"브랜드 네임",[130,1291,381],{},[130,1293,1294],{},"안병훈 외 전체",[130,1296,321],{},[130,1298,321],{},[72,1300],{},[236,1302,1304,1305],{"id":1303},"step-3-서비스-기획-화면설계-step-3","📋 Step 3 · 서비스 기획 (화면설계)  ",[31,1306,1307],{},"step-3",[80,1309,1310,1313],{},[83,1311,1312],{},"비중 20% · 진행 35% · 21건",[83,1314,189],{},[251,1316,1318],{"id":1317},"front-3","Front (3)",[100,1320,1321,1337],{},[103,1322,1323],{},[106,1324,1325,1327,1329,1331,1333,1335],{},[109,1326,263],{},[109,1328,266],{},[109,1330,269],{},[109,1332,272],{},[109,1334,275],{},[109,1336,278],{},[125,1338,1339,1358,1377],{},[106,1340,1341,1344,1349,1351,1354,1356],{},[130,1342,1343],{},"3-1-1",[130,1345,1346],{},[20,1347,1348],{},"프로토타입으로 대체",[130,1350,337],{},[130,1352,1353],{},"김덕조·김경은",[130,1355,321],{},[130,1357,321],{},[106,1359,1360,1363,1368,1370,1373,1375],{},[130,1361,1362],{},"3-1-2",[130,1364,1365],{},[20,1366,1367],{},"서비스 메뉴 콘텐츠",[130,1369,381],{},[130,1371,1372],{},"컨설팅팀·김경은",[130,1374,321],{},[130,1376,321],{},[106,1378,1379,1382,1388,1390,1392,1394],{},[130,1380,1381],{},"3-1-3",[130,1383,1384,1387],{},[20,1385,1386],{},"운영가이드"," — 사용자단 \u002Fhelp 라이브 — 컨텐츠 보강 필요",[130,1389,381],{},[130,1391,1353],{},[130,1393,321],{},[130,1395,321],{},[251,1397,1399],{"id":1398},"backoffice-1차-10","BackOffice 1차 (10)",[100,1401,1402,1418],{},[103,1403,1404],{},[106,1405,1406,1408,1410,1412,1414,1416],{},[109,1407,263],{},[109,1409,266],{},[109,1411,269],{},[109,1413,272],{},[109,1415,275],{},[109,1417,278],{},[125,1419,1420,1439,1458,1477,1496,1515,1535,1553,1572,1592],{},[106,1421,1422,1425,1430,1432,1434,1437],{},[130,1423,1424],{},"3-2-1",[130,1426,1427],{},[20,1428,1429],{},"공통 · 로그인 · 계정 관리",[130,1431,337],{},[130,1433,503],{},[130,1435,1436],{},"2026.05.22",[130,1438,321],{},[106,1440,1441,1444,1450,1452,1454,1456],{},[130,1442,1443],{},"3-2-2",[130,1445,1446,1449],{},[20,1447,1448],{},"회원 · 고객사 관리"," — 회원 발송 이력 \u002F 결제 상세 \u002F 환불신청 제외",[130,1451,337],{},[130,1453,503],{},[130,1455,1436],{},[130,1457,321],{},[106,1459,1460,1463,1469,1471,1473,1475],{},[130,1461,1462],{},"3-2-3",[130,1464,1465,1468],{},[20,1466,1467],{},"시스템 관리"," — 운영자 계정 \u002F RBAC \u002F 감사 로그",[130,1470,337],{},[130,1472,503],{},[130,1474,1436],{},[130,1476,321],{},[106,1478,1479,1482,1487,1489,1491,1494],{},[130,1480,1481],{},"3-2-4",[130,1483,1484],{},[20,1485,1486],{},"요금 · 단가 관리",[130,1488,337],{},[130,1490,503],{},[130,1492,1493],{},"2026.05.29",[130,1495,321],{},[106,1497,1498,1501,1507,1509,1511,1513],{},[130,1499,1500],{},"3-2-5",[130,1502,1503,1506],{},[20,1504,1505],{},"고객지원"," — 운영 가이드 관리 제외",[130,1508,337],{},[130,1510,503],{},[130,1512,1493],{},[130,1514,321],{},[106,1516,1517,1520,1526,1528,1530,1533],{},[130,1518,1519],{},"3-2-6",[130,1521,1522,1525],{},[20,1523,1524],{},"발송 운영 모니터링"," — 캠페인 제외",[130,1527,381],{},[130,1529,503],{},[130,1531,1532],{},"2026.06.12",[130,1534,321],{},[106,1536,1537,1540,1545,1547,1549,1551],{},[130,1538,1539],{},"3-2-7",[130,1541,1542],{},[20,1543,1544],{},"발신 정보 검수",[130,1546,381],{},[130,1548,503],{},[130,1550,1532],{},[130,1552,321],{},[106,1554,1555,1558,1563,1565,1567,1570],{},[130,1556,1557],{},"3-2-8",[130,1559,1560],{},[20,1561,1562],{},"결제 · 크레딧 관리 + 고객사 상세 결제 탭",[130,1564,381],{},[130,1566,503],{},[130,1568,1569],{},"2026.06.19",[130,1571,321],{},[106,1573,1574,1577,1583,1585,1587,1590],{},[130,1575,1576],{},"3-2-9",[130,1578,1579,1582],{},[20,1580,1581],{},"템플릿 검수 · 관리"," — 샘플·AI 템플릿 정책 제외",[130,1584,381],{},[130,1586,503],{},[130,1588,1589],{},"2026.06.24",[130,1591,321],{},[106,1593,1594,1597,1602,1604,1606,1608],{},[130,1595,1596],{},"3-2-10",[130,1598,1599],{},[20,1600,1601],{},"수신거부 (운영)",[130,1603,381],{},[130,1605,503],{},[130,1607,1589],{},[130,1609,321],{},[251,1611,1613],{"id":1612},"backoffice-2차-8","BackOffice 2차 (8)",[100,1615,1616,1632],{},[103,1617,1618],{},[106,1619,1620,1622,1624,1626,1628,1630],{},[109,1621,263],{},[109,1623,266],{},[109,1625,269],{},[109,1627,272],{},[109,1629,275],{},[109,1631,278],{},[125,1633,1634,1652,1670,1688,1706,1724,1743,1760],{},[106,1635,1636,1639,1644,1646,1648,1650],{},[130,1637,1638],{},"3-3-1",[130,1640,1641],{},[20,1642,1643],{},"통계 · 리포트",[130,1645,381],{},[130,1647,503],{},[130,1649,321],{},[130,1651,321],{},[106,1653,1654,1657,1662,1664,1666,1668],{},[130,1655,1656],{},"3-3-2",[130,1658,1659],{},[20,1660,1661],{},"대시보드",[130,1663,381],{},[130,1665,503],{},[130,1667,321],{},[130,1669,321],{},[106,1671,1672,1675,1680,1682,1684,1686],{},[130,1673,1674],{},"3-3-3",[130,1676,1677],{},[20,1678,1679],{},"템플릿 검수 · 관리 (AI 템플릿 정책)",[130,1681,381],{},[130,1683,503],{},[130,1685,321],{},[130,1687,321],{},[106,1689,1690,1693,1698,1700,1702,1704],{},[130,1691,1692],{},"3-3-4",[130,1694,1695],{},[20,1696,1697],{},"발송 운영 모니터링 (캠페인)",[130,1699,381],{},[130,1701,503],{},[130,1703,321],{},[130,1705,321],{},[106,1707,1708,1711,1716,1718,1720,1722],{},[130,1709,1710],{},"3-3-5",[130,1712,1713,1715],{},[20,1714,1505],{}," — 운영 가이드 관리",[130,1717,381],{},[130,1719,503],{},[130,1721,321],{},[130,1723,321],{},[106,1725,1726,1729,1735,1737,1739,1741],{},[130,1727,1728],{},"3-3-6",[130,1730,1731,1734],{},[20,1732,1733],{},"콘텐츠 · 사이트 관리"," — 시스템 설정 \u002F 점검 모드 \u002F 외부 연동",[130,1736,381],{},[130,1738,503],{},[130,1740,321],{},[130,1742,321],{},[106,1744,1745,1748,1752,1754,1756,1758],{},[130,1746,1747],{},"3-3-7",[130,1749,1750],{},[20,1751,1467],{},[130,1753,381],{},[130,1755,503],{},[130,1757,321],{},[130,1759,321],{},[106,1761,1762,1765,1770,1772,1774,1776],{},[130,1763,1764],{},"3-3-8",[130,1766,1767],{},[20,1768,1769],{},"API 관리",[130,1771,381],{},[130,1773,503],{},[130,1775,321],{},[130,1777,321],{},[72,1779],{},[236,1781,1783,1784],{"id":1782},"step-4-디자인-퍼블리싱-step-4","🎨 Step 4 · 디자인 \u002F 퍼블리싱  ",[31,1785,1786],{},"step-4",[80,1788,1789,1792],{},[83,1790,1791],{},"비중 10% · 진행 20% · 2건",[83,1793,208],{},[100,1795,1796,1812],{},[103,1797,1798],{},[106,1799,1800,1802,1804,1806,1808,1810],{},[109,1801,263],{},[109,1803,266],{},[109,1805,269],{},[109,1807,272],{},[109,1809,275],{},[109,1811,278],{},[125,1813,1814,1834],{},[106,1815,1816,1819,1825,1827,1830,1832],{},[130,1817,1818],{},"4-1",[130,1820,1821,1824],{},[20,1822,1823],{},"디자인 스타일 가이드"," — (개발: doc\u002FDESIGN.md Relay-inspired v1.0 + \u002Fguide 카탈로그 운영). 디자인팀 정식 산출물은 별도 필요.",[130,1826,381],{},[130,1828,1829],{},"김양현",[130,1831,321],{},[130,1833,321],{},[106,1835,1836,1839,1845,1847,1849,1851],{},[130,1837,1838],{},"4-2",[130,1840,1841,1844],{},[20,1842,1843],{},"퍼블리싱 MD 파일"," — (개발: Nuxt 3 + Nuxt UI v3 + Tailwind v4로 직접 퍼블리싱 중)",[130,1846,381],{},[130,1848,1829],{},[130,1850,321],{},[130,1852,321],{},[72,1854],{},[236,1856,1858,1859],{"id":1857},"️-step-5-서비스-개발-step-5","🛠️ Step 5 · 서비스 개발  ",[31,1860,1861],{},"step-5",[80,1863,1864,1867],{},[83,1865,1866],{},"비중 45% · 진행 55% · 92건",[83,1868,228],{},[251,1870,1872],{"id":1871},"설계-및-준비-7","설계 및 준비 (7)",[100,1874,1875,1891],{},[103,1876,1877],{},[106,1878,1879,1881,1883,1885,1887,1889],{},[109,1880,263],{},[109,1882,266],{},[109,1884,269],{},[109,1886,272],{},[109,1888,275],{},[109,1890,278],{},[125,1892,1893,1913,1933,1953,1972,1991,2009],{},[106,1894,1895,1898,1904,1906,1908,1911],{},[130,1896,1897],{},"5-1-1",[130,1899,1900,1903],{},[20,1901,1902],{},"아키텍처 설계"," — STACK.md — 3 레포 책임 + Cloudflare\u002FAWS 혼합 + NHN 통합",[130,1905,294],{},[130,1907,483],{},[130,1909,1910],{},"2026.05.14",[130,1912,1910],{},[106,1914,1915,1918,1924,1926,1928,1931],{},[130,1916,1917],{},"5-1-2",[130,1919,1920,1923],{},[20,1921,1922],{},"데이터 모델링"," — 49 테이블 + Mermaid ERD 9종 + 확장성 전략(파티셔닝·Hot\u002FWarm\u002FCold·R2 오프로드)",[130,1925,294],{},[130,1927,483],{},[130,1929,1930],{},"2026.05.27",[130,1932,1930],{},[106,1934,1935,1938,1944,1946,1948,1951],{},[130,1936,1937],{},"5-1-3",[130,1939,1940,1943],{},[20,1941,1942],{},"사용자단 디자인 시스템"," — Relay-inspired v1.0 — ink 11단 + 그린 #00DC82 + Inter\u002FJetBrains Mono\u002FPretendard",[130,1945,294],{},[130,1947,483],{},[130,1949,1950],{},"2026.05.18",[130,1952,1950],{},[106,1954,1955,1958,1963,1965,1967,1970],{},[130,1956,1957],{},"5-1-4",[130,1959,1960],{},[20,1961,1962],{},"사용자단 디자인 가이드 (라이브 카탈로그)",[130,1964,294],{},[130,1966,483],{},[130,1968,1969],{},"2026.05.19",[130,1971,1969],{},[106,1973,1974,1977,1983,1985,1987,1989],{},[130,1975,1976],{},"5-1-5",[130,1978,1979,1982],{},[20,1980,1981],{},"관리자단 부트스트랩 + 셸 (LNB + TopBar)"," — Nuxt 3 + Nuxt UI v3 + LNB 256px·8그룹 + TopBar 64px",[130,1984,294],{},[130,1986,483],{},[130,1988,1930],{},[130,1990,1930],{},[106,1992,1993,1996,2001,2003,2005,2007],{},[130,1994,1995],{},"5-1-6",[130,1997,1998],{},[20,1999,2000],{},"관리자단 디자인 가이드",[130,2002,294],{},[130,2004,483],{},[130,2006,1930],{},[130,2008,1930],{},[106,2010,2011,2014,2020,2022,2024,2026],{},[130,2012,2013],{},"5-1-7",[130,2015,2016,2019],{},[20,2017,2018],{},"관리자단 페이지 기획 MD (33종)"," — P0 14 \u002F P1 13 \u002F P2 5 — 8 그룹",[130,2021,294],{},[130,2023,483],{},[130,2025,1930],{},[130,2027,1930],{},[251,2029,2031],{"id":2030},"api-서버-16","API 서버 (16)",[100,2033,2034,2050],{},[103,2035,2036],{},[106,2037,2038,2040,2042,2044,2046,2048],{},[109,2039,263],{},[109,2041,266],{},[109,2043,269],{},[109,2045,272],{},[109,2047,275],{},[109,2049,278],{},[125,2051,2052,2072,2091,2110,2129,2148,2167,2186,2205,2224,2244,2264,2284,2303,2325,2345],{},[106,2053,2054,2057,2063,2065,2067,2070],{},[130,2055,2056],{},"5-2-1",[130,2058,2059,2062],{},[20,2060,2061],{},"Hono on Workers 부트스트랩 + Hyperdrive(Aurora)"," — drizzle-orm\u002Fmysql2 + \u002Fhealth\u002Fdb + 배포 #1",[130,2064,294],{},[130,2066,483],{},[130,2068,2069],{},"2026.05.26",[130,2071,2069],{},[106,2073,2074,2077,2083,2085,2087,2089],{},[130,2075,2076],{},"5-2-2",[130,2078,2079,2082],{},[20,2080,2081],{},"DB 마이그레이션 — 49 테이블 + 파티션 5종"," — 0000_initial.sql 적용 (49 + 75 파티션)",[130,2084,294],{},[130,2086,483],{},[130,2088,2069],{},[130,2090,2069],{},[106,2092,2093,2096,2102,2104,2106,2108],{},[130,2094,2095],{},"5-2-3",[130,2097,2098,2101],{},[20,2099,2100],{},"기초 도메인 CRUD (14 도메인)"," — \u002Fme \u002Fcontacts \u002Fcontact-groups \u002Fsender-* 등 + errors\u002Fpagination\u002Fauth\u002FDrizzle",[130,2103,294],{},[130,2105,483],{},[130,2107,2069],{},[130,2109,2069],{},[106,2111,2112,2115,2121,2123,2125,2127],{},[130,2113,2114],{},"5-2-4",[130,2116,2117,2120],{},[20,2118,2119],{},"OpenAPI 문서 (Scalar UI)"," — paths 37 \u002F schemas 45+, 루트 \u002F → \u002Fdoc 302",[130,2122,294],{},[130,2124,483],{},[130,2126,1930],{},[130,2128,1930],{},[106,2130,2131,2134,2140,2142,2144,2146],{},[130,2132,2133],{},"5-2-5",[130,2135,2136,2139],{},[20,2137,2138],{},"인증 — signup\u002Flogin\u002FJWT\u002FPBKDF2"," — Phase 1·2·3 + JWT_SECRET secret",[130,2141,294],{},[130,2143,483],{},[130,2145,2069],{},[130,2147,2069],{},[106,2149,2150,2153,2159,2161,2163,2165],{},[130,2151,2152],{},"5-2-6",[130,2154,2155,2158],{},[20,2156,2157],{},"발송 producer — 5채널 (SMS·Email·Kakao·Push·RCS)"," — 발신정보 검증·옵트아웃·크레딧 hold·트랜잭션 + 채널 branching generic화",[130,2160,294],{},[130,2162,483],{},[130,2164,1930],{},[130,2166,1930],{},[106,2168,2169,2172,2178,2180,2182,2184],{},[130,2170,2171],{},"5-2-7",[130,2173,2174,2177],{},[20,2175,2176],{},"멱등성 — TB_IDEMPOTENCY + INSERT-then-conflict"," — 0001_idempotency.sql race-free",[130,2179,294],{},[130,2181,483],{},[130,2183,1930],{},[130,2185,1930],{},[106,2187,2188,2191,2197,2199,2201,2203],{},[130,2189,2190],{},"5-2-8",[130,2192,2193,2196],{},[20,2194,2195],{},"NHN 어댑터 — 5채널 (mock\u002Freal)"," — src\u002Fadapters\u002Fnhn\u002F{sms,email,kakao,push,rcs}.ts",[130,2198,294],{},[130,2200,483],{},[130,2202,1930],{},[130,2204,1930],{},[106,2206,2207,2210,2216,2218,2220,2222],{},[130,2208,2209],{},"5-2-9",[130,2211,2212,2215],{},[20,2213,2214],{},"Cloudflare Queues + Consumer Worker"," — malgn-noti-dispatch + dispatch_state 천이",[130,2217,294],{},[130,2219,483],{},[130,2221,1930],{},[130,2223,1930],{},[106,2225,2226,2229,2235,2237,2239,2242],{},[130,2227,2228],{},"5-2-10",[130,2230,2231,2234],{},[20,2232,2233],{},"NHN Webhook 핸들러 (SMS · RCS)"," — HMAC-SHA256 + dedup_key. Email\u002FKakao\u002FPush 미.",[130,2236,337],{},[130,2238,483],{},[130,2240,2241],{},"2026.06.09",[130,2243,321],{},[106,2245,2246,2249,2255,2257,2259,2262],{},[130,2247,2248],{},"5-2-11",[130,2250,2251,2254],{},[20,2252,2253],{},"Export 잡 (다운로드 요청)"," — TB_EXPORT_JOB ✅ DDL 적용 + \u002Fexport-jobs CRUD ✅ 라이브 검증 (POST 201, GET 200). 처리 worker + R2 미",[130,2256,337],{},[130,2258,483],{},[130,2260,2261],{},"2026.06.17",[130,2263,321],{},[106,2265,2266,2269,2275,2277,2279,2282],{},[130,2267,2268],{},"5-2-12",[130,2270,2271,2274],{},[20,2272,2273],{},"Flow 정의 (복합 발송)"," — TB_FLOW_DEFINITION\u002FRUN\u002FSTEP_RUN ✅ DDL 적용 (FK 6) + \u002Fflow-definitions CRUD ✅ 라이브 검증. 실행 엔진 미",[130,2276,337],{},[130,2278,483],{},[130,2280,2281],{},"2026.06.22",[130,2283,321],{},[106,2285,2286,2289,2294,2296,2298,2301],{},[130,2287,2288],{},"5-2-13",[130,2290,2291],{},[20,2292,2293],{},"캠페인 API (스케줄러·시뮬레이션·테스트)",[130,2295,381],{},[130,2297,483],{},[130,2299,2300],{},"2026.06.25",[130,2302,321],{},[106,2304,2305,2308,2317,2319,2321,2323],{},[130,2306,2307],{},"5-2-14",[130,2309,2310,88,2313,2316],{},[20,2311,2312],{},"PG(결제) 어댑터 + 카드 등록·결제·취소",[20,2314,2315],{},"토스(TossPayments) 확정"," (2026-06-04). 어댑터 src\u002Fadapters\u002Fpg\u002Ftoss.ts 신규 작성 + secret TOSS_CLIENT_KEY\u002FTOSS_SECRET_KEY + 콜백 webhook 예정.",[130,2318,381],{},[130,2320,483],{},[130,2322,1589],{},[130,2324,321],{},[106,2326,2327,2330,2336,2338,2340,2343],{},[130,2328,2329],{},"5-2-15",[130,2331,2332,2335],{},[20,2333,2334],{},"AI 템플릿 게이트웨이 (LLM)"," — 제공자 미정",[130,2337,381],{},[130,2339,483],{},[130,2341,2342],{},"2026.07.01",[130,2344,321],{},[106,2346,2347,2350,2356,2358,2360,2362],{},[130,2348,2349],{},"5-2-16",[130,2351,2352,2355],{},[20,2353,2354],{},"NHN 실 모드 전환 + envelope 암호화"," — Notification Hub OAuth(client_credentials + Bearer 토큰) 어댑터 재작성 완료. SMS·Email 라우트 활성화. envelope 암호화·테넌트별 자격증명은 후속.",[130,2357,337],{},[130,2359,483],{},[130,2361,1532],{},[130,2363,321],{},[251,2365,2367],{"id":2366},"api-엔드포인트-5","API 엔드포인트 (5)",[100,2369,2370,2386],{},[103,2371,2372],{},[106,2373,2374,2376,2378,2380,2382,2384],{},[109,2375,263],{},[109,2377,266],{},[109,2379,269],{},[109,2381,272],{},[109,2383,275],{},[109,2385,278],{},[125,2387,2388,2408,2428,2448,2467],{},[106,2389,2390,2393,2399,2401,2403,2406],{},[130,2391,2392],{},"5-2-17",[130,2394,2395,2398],{},[20,2396,2397],{},"계약·서류 R2 라우트 (\u002Fcontracts\u002F*) + FILES 바인딩"," — 6\u002F2 §11. 5 라우트(list\u002Fsign\u002Ffiles list\u002Fupload\u002Fdownload\u002Fdelete) + R2 bucket malgn-noti-files + TB_CONTRACT\u002FTB_CONTRACT_FILE schema.ts + signup auto-create + reviewing 자동 전이 + lazy backfill (6\u002F2 §11·§12·§13).",[130,2400,294],{},[130,2402,483],{},[130,2404,2405],{},"2026.06.02",[130,2407,2405],{},[106,2409,2410,2413,2419,2421,2423,2426],{},[130,2411,2412],{},"5-2-18",[130,2414,2415,2418],{},[20,2416,2417],{},"NICE 통합인증 인프라"," — 6\u002F1 §5 + 6\u002F2 §16 + 6\u002F4 §1. mock 모드(자격증명 등록 후 콘솔 IP 정책 1007 미해결로 mock 유지). Workers outbound IPv6 진단 완료.",[130,2420,294],{},[130,2422,483],{},[130,2424,2425],{},"2026.06.01",[130,2427,2425],{},[106,2429,2430,2433,2439,2441,2443,2446],{},[130,2431,2432],{},"5-2-19",[130,2434,2435,2438],{},[20,2436,2437],{},"WBS 정본 R2 저장 + GET\u002FPATCH 라우트"," — 6\u002F4 §5. DB 미사용. R2 단일 JSON 객체(wbs\u002Fwbs.json, FILES 바인딩). 시드 142 task. GET 공개 + PATCH 인증 2 라우트. last-write-wins.",[130,2440,294],{},[130,2442,483],{},[130,2444,2445],{},"2026.06.04",[130,2447,2445],{},[106,2449,2450,2453,2459,2461,2463,2465],{},[130,2451,2452],{},"5-2-20",[130,2454,2455,2458],{},[20,2456,2457],{},"POST \u002Fme\u002Femail-change — 서비스 담당자 이메일 변경"," — 6\u002F4. 비밀번호 + OTP(change_email) + email-only UPDATE (loginid 가입 시 식별자로 고정 유지). 라이브 e2e 5 시나리오 통과.",[130,2460,294],{},[130,2462,483],{},[130,2464,2445],{},[130,2466,2445],{},[106,2468,2469,2472,2478,2480,2482,2484],{},[130,2470,2471],{},"5-2-21",[130,2473,2474,2477],{},[20,2475,2476],{},"NHN Notification Hub 어댑터 신규(OAuth + Bearer)"," — 6\u002F4 §6. adapters\u002Fnhn\u002Foauth.ts(토큰 발급+캐시) + sms.ts\u002Femail.ts 재작성(POST \u002Fmessage\u002Fv1.0\u002F{SMS|EMAIL}\u002Ffree-form-messages\u002F{purpose}). contactType=PHONE_NUMBER\u002FEMAIL_ADDRESS, X-NC-APP-KEY + X-NHN-Authorization. NhnCredentials 확장(userAccessKey\u002FsecretAccessKey + legacy secretKey 옵셔널).",[130,2479,294],{},[130,2481,483],{},[130,2483,2445],{},[130,2485,2445],{},[251,2487,2489],{"id":2488},"사용자단-화면-ui-목업-15","사용자단 화면 UI (목업) (15)",[100,2491,2492,2508],{},[103,2493,2494],{},[106,2495,2496,2498,2500,2502,2504,2506],{},[109,2497,263],{},[109,2499,266],{},[109,2501,269],{},[109,2503,272],{},[109,2505,275],{},[109,2507,278],{},[125,2509,2510,2530,2549,2569,2588,2607,2626,2645,2664,2683,2702,2721,2740,2758,2778],{},[106,2511,2512,2515,2521,2523,2525,2528],{},[130,2513,2514],{},"5-3-1",[130,2516,2517,2520],{},[20,2518,2519],{},"인증·계정 — 로그인 \u002F 회원가입 5단계 \u002F 비번 재설정 \u002F 보안 인증"," — \u002Flogin · \u002Flogin\u002Fsecurity · \u002Freset-password · \u002Freset-password\u002Fnew · \u002Fsignup",[130,2522,294],{},[130,2524,483],{},[130,2526,2527],{},"2026.05.20",[130,2529,2527],{},[106,2531,2532,2535,2541,2543,2545,2547],{},[130,2533,2534],{},"5-3-2",[130,2536,2537,2540],{},[20,2538,2539],{},"발송 6채널 (SMS\u002FRCS\u002FKakao\u002FEmail\u002FPush\u002FFlow)"," — \u002Fsend\u002F* + PU 풀세트(수신자·주소록·광고수신·컨펌·초기화)",[130,2542,294],{},[130,2544,483],{},[130,2546,2527],{},[130,2548,2527],{},[106,2550,2551,2554,2560,2562,2564,2567],{},[130,2552,2553],{},"5-3-3",[130,2555,2556,2559],{},[20,2557,2558],{},"이력 \u002F 통계 — 5채널 + 통계 대시보드"," — \u002Fhistory\u002F* + 비동기 다운로드 요청 패턴",[130,2561,294],{},[130,2563,483],{},[130,2565,2566],{},"2026.05.21",[130,2568,2566],{},[106,2570,2571,2574,2580,2582,2584,2586],{},[130,2572,2573],{},"5-3-4",[130,2575,2576,2579],{},[20,2577,2578],{},"주소록 — 연락처 \u002F 그룹 \u002F 수신거부"," — \u002Fcontacts\u002F{list,groups,optout}",[130,2581,294],{},[130,2583,483],{},[130,2585,2566],{},[130,2587,2566],{},[106,2589,2590,2593,2599,2601,2603,2605],{},[130,2591,2592],{},"5-3-5",[130,2594,2595,2598],{},[20,2596,2597],{},"발신 정보 6종"," — \u002Fsender\u002F{numbers,brands,domains,push-cert,profiles,optout-080} + 등록 마법사",[130,2600,294],{},[130,2602,483],{},[130,2604,1436],{},[130,2606,1436],{},[106,2608,2609,2612,2618,2620,2622,2624],{},[130,2610,2611],{},"5-3-6",[130,2613,2614,2617],{},[20,2615,2616],{},"템플릿 관리 — 5채널 + 발송 상세 설정"," — \u002Fmanage\u002F{sms,rcs,kakao,email,push,settings}",[130,2619,294],{},[130,2621,483],{},[130,2623,1436],{},[130,2625,1436],{},[106,2627,2628,2631,2637,2639,2641,2643],{},[130,2629,2630],{},"5-3-7",[130,2632,2633,2636],{},[20,2634,2635],{},"캠페인 — 본안 + 변형(v3)"," — \u002Fcampaign · \u002Fcampaign3",[130,2638,294],{},[130,2640,483],{},[130,2642,1436],{},[130,2644,1436],{},[106,2646,2647,2650,2656,2658,2660,2662],{},[130,2648,2649],{},"5-3-8",[130,2651,2652,2655],{},[20,2653,2654],{},"크레딧 \u002F 결제 — 충전·결과·내역·영수증·카드 관리"," — \u002Fcharge · \u002Fcharge\u002Fresult · \u002Faccount\u002F{credit,cards}",[130,2657,294],{},[130,2659,483],{},[130,2661,1436],{},[130,2663,1436],{},[106,2665,2666,2669,2675,2677,2679,2681],{},[130,2667,2668],{},"5-3-9",[130,2670,2671,2674],{},[20,2672,2673],{},"문의 — 작성 \u002F 완료 \u002F 내 문의 \u002F 상세"," — \u002Finquiry · \u002Finquiry\u002Fcomplete · \u002Faccount\u002Finquiries(\u002Fdetail)",[130,2676,294],{},[130,2678,483],{},[130,2680,1436],{},[130,2682,1436],{},[106,2684,2685,2688,2694,2696,2698,2700],{},[130,2686,2687],{},"5-3-10",[130,2689,2690,2693],{},[20,2691,2692],{},"나의 페이지 — 9 라우트"," — AppMyPageShell + \u002Faccount\u002F{settings,cards,password,security,multi,contract,credit,billing,inquiries}",[130,2695,294],{},[130,2697,483],{},[130,2699,1436],{},[130,2701,1436],{},[106,2703,2704,2707,2713,2715,2717,2719],{},[130,2705,2706],{},"5-3-11",[130,2708,2709,2712],{},[20,2710,2711],{},"메시지 관리 랜딩페이지"," — 목록 · 기본형\u002F확장형 등록 폼 · 미리보기",[130,2714,294],{},[130,2716,483],{},[130,2718,1436],{},[130,2720,1436],{},[106,2722,2723,2726,2732,2734,2736,2738],{},[130,2724,2725],{},"5-3-12",[130,2727,2728,2731],{},[20,2729,2730],{},"공개 랜딩페이지 + 운영 가이드"," — \u002F (히어로·5채널·장점·단가 비교·CTA) + \u002Fhelp",[130,2733,294],{},[130,2735,483],{},[130,2737,1436],{},[130,2739,1436],{},[106,2741,2742,2745,2750,2752,2754,2756],{},[130,2743,2744],{},"5-3-13",[130,2746,2747],{},[20,2748,2749],{},"디자인 가이드 (라이브 카탈로그)",[130,2751,294],{},[130,2753,483],{},[130,2755,1969],{},[130,2757,1969],{},[106,2759,2760,2763,2769,2771,2773,2776],{},[130,2761,2762],{},"5-3-14",[130,2764,2765,2768],{},[20,2766,2767],{},"시스템 페이지 — 404 \u002F system error"," — 단독 일부 라이브. 점검 \u002F 네트워크 \u002F 인증 메일 템플릿 미",[130,2770,337],{},[130,2772,483],{},[130,2774,2775],{},"2026.06.11",[130,2777,321],{},[106,2779,2780,2783,2789,2791,2793,2795],{},[130,2781,2782],{},"5-3-15",[130,2784,2785,2788],{},[20,2786,2787],{},"\u002Fwbs 페이지 — R2 정본 비동기 로드 + 인라인 편집 모달"," — 6\u002F4 §5. 임베디드 STAGES 제거 → top-level await api(\u002Fwbs). AppModal 편집 다이얼로그(owner·note·href·targetDate·completionDate). 비로그인 읽기 전용 + \"로그인하면 편집 가능\" 힌트.",[130,2790,294],{},[130,2792,483],{},[130,2794,2445],{},[130,2796,2445],{},[251,2798,2800],{"id":2799},"사용자단-api-연동-21","사용자단 ↔ API 연동 (21)",[100,2802,2803,2819],{},[103,2804,2805],{},[106,2806,2807,2809,2811,2813,2815,2817],{},[109,2808,263],{},[109,2810,266],{},[109,2812,269],{},[109,2814,272],{},[109,2816,275],{},[109,2818,278],{},[125,2820,2821,2840,2859,2879,2899,2918,2937,2957,2976,2995,3014,3033,3052,3071,3091,3111,3129,3148,3166,3185,3204],{},[106,2822,2823,2826,2832,2834,2836,2838],{},[130,2824,2825],{},"5-3C-1",[130,2827,2828,2831],{},[20,2829,2830],{},"인증·계정 (\u002Fauth\u002Fsignup·\u002Fauth\u002Flogin·\u002Fme)"," — 6\u002F1 §4. JWT 쿠키 + 가드 미들웨어 + 클라이언트 부트스트랩 플러그인",[130,2833,294],{},[130,2835,483],{},[130,2837,2425],{},[130,2839,2425],{},[106,2841,2842,2845,2851,2853,2855,2857],{},[130,2843,2844],{},"5-3C-1a",[130,2846,2847,2850],{},[20,2848,2849],{},"이메일 OTP (\u002Fauth\u002Femail-code\u002Fsend·\u002Fverify)"," — 6\u002F1 §5. signup.vue Step 3에서 실 API 호출 + mockCode 개발 편의",[130,2852,294],{},[130,2854,483],{},[130,2856,2425],{},[130,2858,2425],{},[106,2860,2861,2864,2870,2872,2874,2877],{},[130,2862,2863],{},"5-3C-2",[130,2865,2866,2869],{},[20,2867,2868],{},"로그아웃 — GNB 실 연결 (P0)"," — useAuthStore().logout() 호출로 데모 토글 교체",[130,2871,381],{},[130,2873,483],{},[130,2875,2876],{},"2026.06.05",[130,2878,321],{},[106,2880,2881,2884,2890,2892,2894,2897],{},[130,2882,2883],{},"5-3C-3",[130,2885,2886,2889],{},[20,2887,2888],{},"비밀번호 재설정 — OTP 인프라 재활용 (P0)"," — purpose='reset_password' + POST \u002Fauth\u002Fpassword\u002Freset 신설",[130,2891,381],{},[130,2893,483],{},[130,2895,2896],{},"2026.06.10",[130,2898,321],{},[106,2900,2901,2904,2910,2912,2914,2916],{},[130,2902,2903],{},"5-3C-4",[130,2905,2906,2909],{},[20,2907,2908],{},"POST \u002Fauth\u002Flogin-by-email — companyId UX 개선 (P0)"," — 6\u002F2 §7. 로그인 폼에서 고객사 ID 필드 제거. 같은 이메일이 여러 회사면 회사 선택 UI 노출",[130,2911,294],{},[130,2913,483],{},[130,2915,2405],{},[130,2917,2405],{},[106,2919,2920,2923,2929,2931,2933,2935],{},[130,2921,2922],{},"5-3C-5",[130,2924,2925,2928],{},[20,2926,2927],{},"약관 동의 적재 (POST \u002Fauth\u002Fagree-terms) (P1)"," — TB_TERMS_AGREEMENT 적재",[130,2930,381],{},[130,2932,483],{},[130,2934,2876],{},[130,2936,321],{},[106,2938,2939,2942,2948,2950,2952,2955],{},[130,2940,2941],{},"5-3C-6",[130,2943,2944,2947],{},[20,2945,2946],{},"companyType 전달·저장 + 화면 분기 (P1)"," — 6\u002F2 §7. TB_COMPANY.company_type 추가 + signup에서 전달 + \u002Fme 응답 노출 + Member 패널 사업자등록증 변경 버튼 조건부 노출. 개인 유형 다른 화면(LNB·계약\u002F멀티 미노출)은 후속",[130,2949,337],{},[130,2951,483],{},[130,2953,2954],{},"2026.06.08",[130,2956,2405],{},[106,2958,2959,2962,2968,2970,2972,2974],{},[130,2960,2961],{},"5-3C-17",[130,2963,2964,2967],{},[20,2965,2966],{},"사업자등록증 심사 승인 게이트 (정책)"," — 6\u002F2 §7. TB_COMPANY.approval_state 신규 + signup 자동 분기(corp\u002Fsole pending, personal approved) + PATCH \u002Fme·\u002Fme\u002Fcompany 차단 403 + 프런트 배너·입력 disabled. 운영자단 승인 화면 + 다른 도메인 라우트 차단은 후속",[130,2969,294],{},[130,2971,483],{},[130,2973,2405],{},[130,2975,2405],{},[106,2977,2978,2981,2987,2989,2991,2993],{},[130,2979,2980],{},"5-3C-7",[130,2982,2983,2986],{},[20,2984,2985],{},"PATCH \u002Fme + \u002Faccount\u002Fsettings"," — 6\u002F2 §6 + 6\u002F4 (PATCH \u002Fme + \u002Fme\u002Fcompany + \u002Fme\u002Femail-change). 서비스 담당자 이메일 변경(loginid 유지·email만)·결제 이메일 변경·광고수신 토글 모두 실 API. 비밀번호 변경은 5-3C-8 별도.",[130,2988,294],{},[130,2990,483],{},[130,2992,2445],{},[130,2994,2445],{},[106,2996,2997,3000,3005,3007,3009,3012],{},[130,2998,2999],{},"5-3C-8",[130,3001,3002],{},[20,3003,3004],{},"POST \u002Fauth\u002Fpassword + \u002Faccount\u002Fpassword (P2)",[130,3006,381],{},[130,3008,483],{},[130,3010,3011],{},"2026.06.23",[130,3013,321],{},[106,3015,3016,3019,3025,3027,3029,3031],{},[130,3017,3018],{},"5-3C-9",[130,3020,3021,3024],{},[20,3022,3023],{},"\u002Faccount\u002Fsecurity (2FA) + PATCH \u002Fme\u002Fsecurity (P2)"," — TB_VERIFICATION 재사용",[130,3026,381],{},[130,3028,483],{},[130,3030,1589],{},[130,3032,321],{},[106,3034,3035,3038,3043,3045,3047,3050],{},[130,3036,3037],{},"5-3C-10",[130,3039,3040],{},[20,3041,3042],{},"\u002Faccount\u002Fmulti + \u002Fmanager-invites (P2)",[130,3044,381],{},[130,3046,483],{},[130,3048,3049],{},"2026.06.26",[130,3051,321],{},[106,3053,3054,3057,3063,3065,3067,3069],{},[130,3055,3056],{},"5-3C-11",[130,3058,3059,3062],{},[20,3060,3061],{},"\u002Faccount\u002Fcontract + R2 업로드"," — 6\u002F2 §11~§15. \u002Fcontracts\u002F* 5 라우트(list\u002Fsign\u002Ffiles list\u002Fupload\u002Fdownload\u002Fdelete) + R2 bucket malgn-noti-files + 미리보기·삭제·휴대폰 본인인증 서명 + 사업자등록증 자동 reviewing 전이 + lazy backfill + 파일 행 상태 배지. 운영자 승인 화면만 미",[130,3064,294],{},[130,3066,483],{},[130,3068,2405],{},[130,3070,2405],{},[106,3072,3073,3076,3082,3084,3086,3089],{},[130,3074,3075],{},"5-3C-12",[130,3077,3078,3081],{},[20,3079,3080],{},"발송 6채널 — UI에 실 API 호출 (Idempotency-Key 헤더)"," — NHN Notification Hub 자격증명(User Access Key) 수령 + 어댑터 OAuth 재작성 필요 (6\u002F2 §16)",[130,3083,381],{},[130,3085,483],{},[130,3087,3088],{},"2026.06.15",[130,3090,321],{},[106,3092,3093,3096,3102,3104,3106,3109],{},[130,3094,3095],{},"5-3C-13",[130,3097,3098,3101],{},[20,3099,3100],{},"이력\u002F통계 — 목록·통계 라우트 연동"," — API 일부 미 — 5-2 동시 진행",[130,3103,381],{},[130,3105,483],{},[130,3107,3108],{},"2026.06.18",[130,3110,321],{},[106,3112,3113,3116,3121,3123,3125,3127],{},[130,3114,3115],{},"5-3C-14",[130,3117,3118],{},[20,3119,3120],{},"주소록·발신정보·템플릿 — CRUD 연동 (API ✅)",[130,3122,381],{},[130,3124,483],{},[130,3126,1569],{},[130,3128,321],{},[106,3130,3131,3134,3139,3141,3143,3146],{},[130,3132,3133],{},"5-3C-15",[130,3135,3136],{},[20,3137,3138],{},"크레딧·결제 — PG 어댑터 미정 (블로커)",[130,3140,381],{},[130,3142,483],{},[130,3144,3145],{},"2026.06.27",[130,3147,321],{},[106,3149,3150,3153,3158,3160,3162,3164],{},[130,3151,3152],{},"5-3C-16",[130,3154,3155],{},[20,3156,3157],{},"문의 — \u002Finquiries 연동",[130,3159,381],{},[130,3161,483],{},[130,3163,1569],{},[130,3165,321],{},[106,3167,3168,3171,3177,3179,3181,3183],{},[130,3169,3170],{},"5-3C-18",[130,3172,3173,3176],{},[20,3174,3175],{},"사업자등록증 첨부 시 reviewing 자동 전이 + 파일 행 배지 + 반려 시 삭제"," — 6\u002F2 §12·§14. approval_state enum 4단계 확장(pending→reviewing→approved\u002Frejected) + POST \u002Fcontracts\u002Ffiles kind=biz 후 pending\u002Frejected→reviewing UPDATE + 파일 행 상태 배지(reviewing=info·approved=success·rejected=danger) + rejected 상태에서만 삭제 버튼",[130,3178,294],{},[130,3180,483],{},[130,3182,2405],{},[130,3184,2405],{},[106,3186,3187,3190,3196,3198,3200,3202],{},[130,3188,3189],{},"5-3C-19",[130,3191,3192,3195],{},[20,3193,3194],{},"계약서 서명 다이얼로그 — 휴대폰 본인인증 sub-step"," — 6\u002F2 §15. phone-code purpose=contract_sign 추가 + 다이얼로그 STEP 3에 본인인증 카드(휴대폰 마스킹 + 발송 + 6자리 확인) + 통과 시 서명 영역 노출 + 공인인증서 탭 제거 + dialog open 시 fetchMe 강제 hydrate",[130,3197,294],{},[130,3199,483],{},[130,3201,2405],{},[130,3203,2405],{},[106,3205,3206,3209,3215,3217,3219,3221],{},[130,3207,3208],{},"5-3C-20",[130,3210,3211,3214],{},[20,3212,3213],{},"서비스 담당자 이메일 변경 — 실 OTP API 연동"," — 6\u002F4. AppEmailChangeDialog sendCode\u002FconfirmCode를 \u002Fauth\u002Femail-code\u002F{send,verify} (purpose=change_email)로 교체. confirm payload={newEmail,code,password}. auth store changeEmail() → POST \u002Fme\u002Femail-change. 결제 이메일 변경은 기존 흐름 유지.",[130,3216,294],{},[130,3218,483],{},[130,3220,2445],{},[130,3222,2445],{},[251,3224,3226],{"id":3225},"관리자단-화면-16","관리자단 화면 (16)",[100,3228,3229,3245],{},[103,3230,3231],{},[106,3232,3233,3235,3237,3239,3241,3243],{},[109,3234,263],{},[109,3236,266],{},[109,3238,269],{},[109,3240,272],{},[109,3242,275],{},[109,3244,278],{},[125,3246,3247,3266,3285,3303,3322,3340,3358,3377,3396,3415,3433,3451,3470,3488,3507,3526],{},[106,3248,3249,3252,3258,3260,3262,3264],{},[130,3250,3251],{},"5-4-1",[130,3253,3254,3257],{},[20,3255,3256],{},"셸 + LNB(8 그룹) + TopBar + 디자인 가이드"," — 부트스트랩 · 라이브",[130,3259,294],{},[130,3261,483],{},[130,3263,1930],{},[130,3265,1930],{},[106,3267,3268,3271,3277,3279,3281,3283],{},[130,3269,3270],{},"5-4-2",[130,3272,3273,3276],{},[20,3274,3275],{},"페이지 기획 MD (33종)"," — P0 14 \u002F P1 13 \u002F P2 5",[130,3278,294],{},[130,3280,483],{},[130,3282,1930],{},[130,3284,1930],{},[106,3286,3287,3290,3295,3297,3299,3301],{},[130,3288,3289],{},"5-4-3",[130,3291,3292],{},[20,3293,3294],{},"회원 · 고객사 관리 (P0)",[130,3296,381],{},[130,3298,483],{},[130,3300,3145],{},[130,3302,321],{},[106,3304,3305,3308,3313,3315,3317,3320],{},[130,3306,3307],{},"5-4-4",[130,3309,3310],{},[20,3311,3312],{},"시스템 관리 (P0) — 운영자 \u002F RBAC \u002F 감사 로그",[130,3314,381],{},[130,3316,483],{},[130,3318,3319],{},"2026.06.29",[130,3321,321],{},[106,3323,3324,3327,3332,3334,3336,3338],{},[130,3325,3326],{},"5-4-5",[130,3328,3329],{},[20,3330,3331],{},"요금 · 단가 관리 (P0)",[130,3333,381],{},[130,3335,483],{},[130,3337,3145],{},[130,3339,321],{},[106,3341,3342,3345,3350,3352,3354,3356],{},[130,3343,3344],{},"5-4-6",[130,3346,3347],{},[20,3348,3349],{},"고객지원 (P0)",[130,3351,381],{},[130,3353,483],{},[130,3355,3319],{},[130,3357,321],{},[106,3359,3360,3363,3368,3370,3372,3375],{},[130,3361,3362],{},"5-4-7",[130,3364,3365],{},[20,3366,3367],{},"발송 운영 모니터링 (P1)",[130,3369,381],{},[130,3371,483],{},[130,3373,3374],{},"2026.07.02",[130,3376,321],{},[106,3378,3379,3382,3387,3389,3391,3394],{},[130,3380,3381],{},"5-4-8",[130,3383,3384],{},[20,3385,3386],{},"발신 정보 검수 (P0)",[130,3388,381],{},[130,3390,483],{},[130,3392,3393],{},"2026.06.28",[130,3395,321],{},[106,3397,3398,3401,3406,3408,3410,3413],{},[130,3399,3400],{},"5-4-9",[130,3402,3403],{},[20,3404,3405],{},"결제 · 크레딧 + 고객사 상세 결제 탭 (P0)",[130,3407,381],{},[130,3409,483],{},[130,3411,3412],{},"2026.06.30",[130,3414,321],{},[106,3416,3417,3420,3425,3427,3429,3431],{},[130,3418,3419],{},"5-4-10",[130,3421,3422],{},[20,3423,3424],{},"템플릿 검수 · 관리 (P0)",[130,3426,381],{},[130,3428,483],{},[130,3430,2342],{},[130,3432,321],{},[106,3434,3435,3438,3443,3445,3447,3449],{},[130,3436,3437],{},"5-4-11",[130,3439,3440],{},[20,3441,3442],{},"수신거부 (운영) (P1)",[130,3444,381],{},[130,3446,483],{},[130,3448,2342],{},[130,3450,321],{},[106,3452,3453,3456,3461,3463,3465,3468],{},[130,3454,3455],{},"5-4-12",[130,3457,3458],{},[20,3459,3460],{},"통계 · 리포트 + 대시보드 (P2)",[130,3462,381],{},[130,3464,483],{},[130,3466,3467],{},"2026.07.03",[130,3469,321],{},[106,3471,3472,3475,3480,3482,3484,3486],{},[130,3473,3474],{},"5-4-13",[130,3476,3477],{},[20,3478,3479],{},"콘텐츠 · 사이트 + 시스템 관리 + API 관리 (P2)",[130,3481,381],{},[130,3483,483],{},[130,3485,3467],{},[130,3487,321],{},[106,3489,3490,3493,3499,3501,3503,3505],{},[130,3491,3492],{},"5-4-14",[130,3494,3495,3498],{},[20,3496,3497],{},"핸드오프 정본 17 페이지 풀세트 (화면만, API 연동 후속)"," — 6\u002F4 §3. handoff_noti_admin (3,129줄 jsx) → Vue 1:1 포팅. 셸 완전 재정비 + 공유 컴포넌트 14종 + 차트 4종 + 17 페이지(대시보드·고객사·고객사 상세·계정·모니터링·발신번호·발신프로필·템플릿검수·결제·채널단가·충전쿠폰·1:1문의·FAQ·공지·통계·운영자·권한그룹·API). 18 라우트 라이브 200.",[130,3500,294],{},[130,3502,483],{},[130,3504,2445],{},[130,3506,2445],{},[106,3508,3509,3512,3518,3520,3522,3524],{},[130,3510,3511],{},"5-4-15",[130,3513,3514,3517],{},[20,3515,3516],{},"페이지 진척 상태 라벨 (dev=screen\u002Fpartial\u002Flive)"," — 6\u002F4. AppPageHeader prop dev 3단계. 화면(neutral·flask)·일부 연동(warning·construction)·연동(미표시). 17 페이지 모두 dev=\"screen\"으로 명시.",[130,3519,294],{},[130,3521,483],{},[130,3523,2445],{},[130,3525,2445],{},[106,3527,3528,3531,3537,3539,3541,3543],{},[130,3529,3530],{},"5-4-16",[130,3532,3533,3536],{},[20,3534,3535],{},"로고\u002F브랜드 — 사용자단 로고로 통일 + \"관리자\" 식별 태그"," — 6\u002F4. 기존 파랑 그라데이션 박스 폐기 → AppLogoMark(말풍선+스파클) + \"맑은 message\" + primary-50 배경 \"관리자\" 배지.",[130,3538,294],{},[130,3540,483],{},[130,3542,2445],{},[130,3544,2445],{},[251,3546,3548],{"id":3547},"통합-배포-12","통합 · 배포 (12)",[100,3550,3551,3567],{},[103,3552,3553],{},[106,3554,3555,3557,3559,3561,3563,3565],{},[109,3556,263],{},[109,3558,266],{},[109,3560,269],{},[109,3562,272],{},[109,3564,275],{},[109,3566,278],{},[125,3568,3569,3588,3607,3626,3645,3667,3686,3705,3723,3741,3760,3784],{},[106,3570,3571,3574,3580,3582,3584,3586],{},[130,3572,3573],{},"5-5-1",[130,3575,3576,3579],{},[20,3577,3578],{},"사용자단 Cloudflare Pages 배포 #1~#69 + alias 다수"," — 매 마일스톤 직후 배포 (6\u002F4 누적 #80+ alias 다수)",[130,3581,337],{},[130,3583,483],{},[130,3585,321],{},[130,3587,321],{},[106,3589,3590,3593,3599,3601,3603,3605],{},[130,3591,3592],{},"5-5-2",[130,3594,3595,3598],{},[20,3596,3597],{},"관리자단 Cloudflare Pages 첫 Nuxt 배포"," — 정적 placeholder → 실 Nuxt 앱",[130,3600,294],{},[130,3602,483],{},[130,3604,1930],{},[130,3606,1930],{},[106,3608,3609,3612,3618,3620,3622,3624],{},[130,3610,3611],{},"5-5-3",[130,3613,3614,3617],{},[20,3615,3616],{},"API Workers 배포 #1~#19"," — 6\u002F4 최신 Version 1ca0446e-ed3f-4079-be5f-3407f4550ba7 (#25+)",[130,3619,337],{},[130,3621,483],{},[130,3623,321],{},[130,3625,321],{},[106,3627,3628,3631,3637,3639,3641,3643],{},[130,3629,3630],{},"5-5-4",[130,3632,3633,3636],{},[20,3634,3635],{},"DDL — 0001~0005 라이브 적용"," — 0001 idempotency \u002F 0002 export_flow \u002F 0003 loginid global unique \u002F 0004 nice_auth \u002F 0005 company_approval. TB_CONTRACT·TB_CONTRACT_FILE은 6\u002F2 §11에서 schema.ts 정의(라이브에 이미 존재)",[130,3638,294],{},[130,3640,483],{},[130,3642,2405],{},[130,3644,2405],{},[106,3646,3647,3650,3659,3661,3663,3665],{},[130,3648,3649],{},"5-5-5",[130,3651,3652,88,3655,3658],{},[20,3653,3654],{},"NHN Notification Hub 자격증명 + 어댑터 재작성",[20,3656,3657],{},"6\u002F4: SMS·Email 어댑터 Notification Hub로 재작성 완료"," + Email real 발송 검증 통과. SMS는 NHN 콘솔 발신번호 등록 + SMS_FROM secret 대기. push\u002Frcs\u002Fkakao 어댑터 마이그레이션 후속.",[130,3660,337],{},[130,3662,483],{},[130,3664,1569],{},[130,3666,321],{},[106,3668,3669,3672,3678,3680,3682,3684],{},[130,3670,3671],{},"5-5-6",[130,3673,3674,3677],{},[20,3675,3676],{},"NICE 통합인증 실 모드 전환"," — 6\u002F4 재시도 → 여전히 1007 (Workers outbound IPv6 vs NICE 콘솔 IPv4 등록). 사용자 콘솔 IP 정책 해결 대기.",[130,3679,381],{},[130,3681,483],{},[130,3683,3467],{},[130,3685,321],{},[106,3687,3688,3691,3697,3699,3701,3703],{},[130,3689,3690],{},"5-5-7",[130,3692,3693,3696],{},[20,3694,3695],{},"R2 bucket malgn-noti-files + FILES 바인딩"," — 6\u002F2 §11. 사업자등록증·대부업등록증·보험증권 첨부용",[130,3698,294],{},[130,3700,483],{},[130,3702,2405],{},[130,3704,2405],{},[106,3706,3707,3710,3715,3717,3719,3721],{},[130,3708,3709],{},"5-5-8",[130,3711,3712],{},[20,3713,3714],{},"PG 카드 결제 연동",[130,3716,381],{},[130,3718,483],{},[130,3720,3049],{},[130,3722,321],{},[106,3724,3725,3728,3733,3735,3737,3739],{},[130,3726,3727],{},"5-5-9",[130,3729,3730],{},[20,3731,3732],{},"AI 템플릿 게이트웨이 연동",[130,3734,381],{},[130,3736,483],{},[130,3738,3374],{},[130,3740,321],{},[106,3742,3743,3746,3752,3754,3756,3758],{},[130,3744,3745],{},"5-5-10",[130,3747,3748,3751],{},[20,3749,3750],{},"Hyperdrive Cloudflare Tunnel(Access) 전환"," — 6\u002F4 §2. id a2ba... → 439b... 신규 origin malgn-dev-db.apiserver.kr + access_client_id. Aurora SG egress IP 화이트리스트 운영 부담 해소. 정본 3개(API CLAUDE.md §3·§8·§12, SCALABILITY.md §6 신규 절, MIGRATION.md §1) 동기화. 라이브 검증 통과.",[130,3753,294],{},[130,3755,483],{},[130,3757,2445],{},[130,3759,2445],{},[106,3761,3762,3765,3776,3778,3780,3782],{},[130,3763,3764],{},"5-5-11",[130,3766,3767,3770,3771,3775],{},[20,3768,3769],{},"NHN Email 실 발송 활성화"," — 6\u002F4. ",[25,3772,3774],{"href":3773},"mailto:message@malgnsoft.com","message@malgnsoft.com"," 발신 도메인 NHN Notification Hub 콘솔 등록 + EMAIL_FROM\u002FEMAIL_FROM_NAME secret 등록. NHN 직접 호출 SUCCESS·messageId 발급 확인.",[130,3777,294],{},[130,3779,483],{},[130,3781,2445],{},[130,3783,2445],{},[106,3785,3786,3789,3795,3797,3799,3802],{},[130,3787,3788],{},"5-5-12",[130,3790,3791,3794],{},[20,3792,3793],{},"NHN SMS 실 발송 활성화"," — 어댑터·인증·페이로드 검증 완료. NHN 콘솔 발신번호 등록 + SMS_FROM secret 설정 + 라이브 e2e 1건 대기.",[130,3796,381],{},[130,3798,483],{},[130,3800,3801],{},"2026.06.13",[130,3803,321],{},[72,3805],{},[75,3807,3809],{"id":3808},"부록-a-step-5-단순화-카테고리-재정의","부록 A. Step 5 단순화 카테고리 (재정의)",[14,3811,3812],{},[17,3813,3814,3815,3818,3819,3822],{},"위 \"단계별 상세\"의 Step 5(서비스 개발) 세부 항목을 ",[20,3816,3817],{},"큰 카테고리로 묶어 단순화","한 뷰. 향후 ",[20,3820,3821],{},"간트 WBS","로 펼칠 때의 묶음 기준. 괄호 안은 기존 task id.",[236,3824,3826],{"id":3825},"a-1-api-백엔드","A-1. API 백엔드 — 🟡",[17,3828,3829,3830,3832,3833,3836],{},"기존 ",[31,3831,715],{},"(16) + ",[31,3834,3835],{},"API 엔드포인트","(5) → 6개 카테고리 통합.",[100,3838,3839,3854],{},[103,3840,3841],{},[106,3842,3843,3846,3849,3851],{},[109,3844,3845],{},"#",[109,3847,3848],{},"카테고리",[109,3850,269],{},[109,3852,3853],{},"포함 (기존 id)",[125,3855,3856,3872,3887,3903,3918,3934],{},[106,3857,3858,3861,3866,3869],{},[130,3859,3860],{},"1.1",[130,3862,3863],{},[20,3864,3865],{},"기반 인프라",[130,3867,3868],{},"✅",[130,3870,3871],{},"Workers+Hyperdrive(5-2-1) · DB 49테이블·파티션(5-2-2) · 기초 CRUD 14도메인(5-2-3) · OpenAPI\u002FScalar(5-2-4)",[106,3873,3874,3877,3882,3884],{},[130,3875,3876],{},"1.2",[130,3878,3879],{},[20,3880,3881],{},"인증·계정·문서",[130,3883,3868],{},[130,3885,3886],{},"signup\u002Flogin\u002FJWT\u002FPBKDF2(5-2-5) · NICE 통합인증(5-2-18) · 계약·서류 R2(5-2-17) · WBS R2(5-2-19) · 이메일 변경(5-2-20)",[106,3888,3889,3892,3897,3900],{},[130,3890,3891],{},"1.3",[130,3893,3894],{},[20,3895,3896],{},"발송 엔진",[130,3898,3899],{},"🟡",[130,3901,3902],{},"producer 5채널(5-2-6) · 멱등성(5-2-7) · NHN 어댑터(5-2-8) · Queues+Consumer(5-2-9) · NHN Hub OAuth(5-2-21) · Webhook(5-2-10) · 실모드 전환·암호화(5-2-16)",[106,3904,3905,3908,3913,3915],{},[130,3906,3907],{},"1.4",[130,3909,3910],{},[20,3911,3912],{},"발송 확장",[130,3914,3899],{},[130,3916,3917],{},"Export 다운로드 잡(5-2-11) · Flow 복합발송(5-2-12) · 캠페인(스케줄·시뮬·테스트)(5-2-13)",[106,3919,3920,3923,3928,3931],{},[130,3921,3922],{},"1.5",[130,3924,3925],{},[20,3926,3927],{},"결제·크레딧",[130,3929,3930],{},"⚪",[130,3932,3933],{},"PG 어댑터 + 카드 등록·결제·취소(5-2-14)",[106,3935,3936,3939,3944,3946],{},[130,3937,3938],{},"1.6",[130,3940,3941],{},[20,3942,3943],{},"AI 템플릿",[130,3945,3930],{},[130,3947,3948],{},"LLM 게이트웨이(5-2-15)",[236,3950,3952],{"id":3951},"a-2-사용자단-api-연동","A-2. 사용자단 ↔ API 연동 — 🟡",[100,3954,3955,3967],{},[103,3956,3957],{},[106,3958,3959,3961,3963,3965],{},[109,3960,3845],{},[109,3962,3848],{},[109,3964,269],{},[109,3966,3853],{},[125,3968,3969,3992,4007,4022,4037,4056],{},[106,3970,3971,3974,3979,3981],{},[130,3972,3973],{},"2.1",[130,3975,3976],{},[20,3977,3978],{},"인증·계정",[130,3980,3899],{},[130,3982,3983,3984,3987,3988,3991],{},"로그인·회원가입·",[31,3985,3986],{},"\u002Fme","(5-3C-1) · 이메일 OTP(5-3C-1a) · login-by-email(5-3C-4) · ",[31,3989,3990],{},"\u002Faccount\u002Fsettings"," PATCH(5-3C-7) · 로그아웃(5-3C-2) · 비번 재설정(5-3C-3) · 약관 동의(5-3C-5) · companyType 분기(5-3C-6) · 비번 변경(5-3C-8) · 2FA(5-3C-9) · 멀티계정·초대(5-3C-10)",[106,3993,3994,3997,4002,4004],{},[130,3995,3996],{},"2.2",[130,3998,3999],{},[20,4000,4001],{},"계약·승인",[130,4003,3868],{},[130,4005,4006],{},"승인 게이트(5-3C-17) · 계약·R2 업로드(5-3C-11) · reviewing 자동전이·배지(5-3C-18) · 계약서 서명(5-3C-19) · 담당자 이메일 변경(5-3C-20)",[106,4008,4009,4012,4017,4019],{},[130,4010,4011],{},"2.3",[130,4013,4014],{},[20,4015,4016],{},"발송·이력·통계",[130,4018,3930],{},[130,4020,4021],{},"발송 6채널 실 API(5-3C-12) · 이력\u002F통계 연동(5-3C-13)",[106,4023,4024,4027,4032,4034],{},[130,4025,4026],{},"2.4",[130,4028,4029],{},[20,4030,4031],{},"데이터 관리",[130,4033,3930],{},[130,4035,4036],{},"주소록·발신정보·템플릿 CRUD 연동(5-3C-14)",[106,4038,4039,4042,4047,4049],{},[130,4040,4041],{},"2.5",[130,4043,4044],{},[20,4045,4046],{},"크레딧·결제",[130,4048,3930],{},[130,4050,4051,4052,4055],{},"PG 연동 — ",[20,4053,4054],{},"블로커","(5-3C-15)",[106,4057,4058,4061,4066,4068],{},[130,4059,4060],{},"2.6",[130,4062,4063],{},[20,4064,4065],{},"문의",[130,4067,3930],{},[130,4069,4070,4073],{},[31,4071,4072],{},"\u002Finquiries"," 연동(5-3C-16)",[236,4075,4077],{"id":4076},"a-3-관리자단-화면-화면-골격-실-연동","A-3. 관리자단 화면 — ⚪ (화면 골격 ✅ \u002F 실 연동 ⚪)",[100,4079,4080,4092],{},[103,4081,4082],{},[106,4083,4084,4086,4088,4090],{},[109,4085,3845],{},[109,4087,3848],{},[109,4089,269],{},[109,4091,3853],{},[125,4093,4094,4109,4124,4139,4154,4168],{},[106,4095,4096,4099,4104,4106],{},[130,4097,4098],{},"3.1",[130,4100,4101],{},[20,4102,4103],{},"기반·셸·핸드오프",[130,4105,3868],{},[130,4107,4108],{},"셸 LNB+TopBar+디자인가이드(5-4-1) · 기획 MD 33종(5-4-2) · 핸드오프 17페이지(5-4-14) · 진척 라벨(5-4-15) · 로고\u002F브랜드(5-4-16)",[106,4110,4111,4114,4119,4121],{},[130,4112,4113],{},"3.2",[130,4115,4116],{},[20,4117,4118],{},"회원·고객사",[130,4120,3930],{},[130,4122,4123],{},"회원·고객사 관리 + 상세(5-4-3)",[106,4125,4126,4129,4134,4136],{},[130,4127,4128],{},"3.3",[130,4130,4131],{},[20,4132,4133],{},"운영·검수",[130,4135,3930],{},[130,4137,4138],{},"발송 모니터링(5-4-7) · 발신정보 검수(5-4-8) · 템플릿 검수(5-4-10) · 수신거부 운영(5-4-11)",[106,4140,4141,4144,4149,4151],{},[130,4142,4143],{},"3.4",[130,4145,4146],{},[20,4147,4148],{},"요금·결제",[130,4150,3930],{},[130,4152,4153],{},"요금·단가(5-4-5) · 결제·크레딧 + 결제 탭(5-4-9)",[106,4155,4156,4159,4163,4165],{},[130,4157,4158],{},"3.5",[130,4160,4161],{},[20,4162,1505],{},[130,4164,3930],{},[130,4166,4167],{},"1:1 문의·FAQ·공지(5-4-6)",[106,4169,4170,4173,4178,4180],{},[130,4171,4172],{},"3.6",[130,4174,4175],{},[20,4176,4177],{},"시스템·통계",[130,4179,3930],{},[130,4181,4182],{},"운영자·RBAC·감사로그(5-4-4) · 통계·리포트(5-4-12) · 콘텐츠·사이트·API(5-4-13)",[72,4184],{},[75,4186,4188],{"id":4187},"다음-단계","다음 단계",[80,4190,4191,4197,4203],{},[83,4192,4193,4196],{},[20,4194,4195],{},"간트 WBS 신규 작성"," — 부록 A 카테고리를 작업 단위로 펼쳐 시작·종료·의존성·담당을 간트로 구성(별도).",[83,4198,4199,4200,4202],{},"본 문서는 현황판 데이터(",[31,4201,53],{},")가 갱신될 때 함께 현행화(맨 위 날짜 갱신). 세부 진척의 일차 정본은 현황판\u002F간트 WBS.",[83,4204,4205],{},"우선순위(공통): 발송·이력 실 연동(2.3) · 관리자단 회원·고객사(3.2) · 결제 트랙(PG 선정 → 1.5\u002F2.5\u002F3.4 동시 해소).",{"title":4207,"searchDepth":4208,"depth":4208,"links":4209},"",3,[4210,4212,4250,4255],{"id":77,"depth":4211,"text":78},2,{"id":233,"depth":4211,"text":234,"children":4213},[4214,4223,4232,4238,4240],{"id":238,"depth":4208,"text":4215,"children":4216},"🎯 Step 1 · 프로젝트 준비  step-1",[4217,4219,4220,4221,4222],{"id":253,"depth":4218,"text":254},4,{"id":346,"depth":4218,"text":347},{"id":446,"depth":4218,"text":447},{"id":530,"depth":4218,"text":531},{"id":610,"depth":4218,"text":611},{"id":728,"depth":4208,"text":4224,"children":4225},"📐 Step 2 · 주요 서비스 정책 이슈 정리  step-2",[4226,4227,4228,4229,4230,4231],{"id":742,"depth":4218,"text":743},{"id":858,"depth":4218,"text":859},{"id":920,"depth":4218,"text":921},{"id":963,"depth":4218,"text":964},{"id":1101,"depth":4218,"text":1102},{"id":1220,"depth":4218,"text":1221},{"id":1303,"depth":4208,"text":4233,"children":4234},"📋 Step 3 · 서비스 기획 (화면설계)  step-3",[4235,4236,4237],{"id":1317,"depth":4218,"text":1318},{"id":1398,"depth":4218,"text":1399},{"id":1612,"depth":4218,"text":1613},{"id":1782,"depth":4208,"text":4239},"🎨 Step 4 · 디자인 \u002F 퍼블리싱  step-4",{"id":1857,"depth":4208,"text":4241,"children":4242},"🛠️ Step 5 · 서비스 개발  step-5",[4243,4244,4245,4246,4247,4248,4249],{"id":1871,"depth":4218,"text":1872},{"id":2030,"depth":4218,"text":2031},{"id":2366,"depth":4218,"text":2367},{"id":2488,"depth":4218,"text":2489},{"id":2799,"depth":4218,"text":2800},{"id":3225,"depth":4218,"text":3226},{"id":3547,"depth":4218,"text":3548},{"id":3808,"depth":4211,"text":3809,"children":4251},[4252,4253,4254],{"id":3825,"depth":4208,"text":3826},{"id":3951,"depth":4208,"text":3952},{"id":4076,"depth":4208,"text":4077},{"id":4187,"depth":4211,"text":4188},"md",{},true,{"title":5,"description":4207},"BOARD","xCbohy5xT-1H0ylMbjvCbznnhStY0NYkDSrkx0DCl34",1780643216571]