LETS TICKET · CONSISTENCY AUDIT #3

피그마 125화면 vs 기획서(comprehensive) 대조 검토

검토일 2026-09-02 피그마 hPaqtZLKYwsMdWcqxVW82j · 3섹션 125화면 전수 대조 기준 comprehensive.html (종합자료 v1.0) 가격·변동값 제외 (사용자 지시)

[결론] 사전판매 앱은 거의 완성됐는데, 기획서가 요구한 탭 2개와 일반판매 화면군이 통째로 비어 있음

왜 문제인가 — 지난 검토(#2, 260825)가 잡아낸 건 "숫자가 틀렸다" 였고 그건 데이터 교체로 끝나는 일임. 이번에 남은 건 성격이 다름. 화면 자체가 존재하지 않는 기능과, 같은 앱이 스스로 모순된 약속을 하는 문구임. 둘 다 데이터 교체로는 안 없어지고 설계·정책 결정을 다시 받아야 함.

무엇을 봤나 — 3섹션 125화면을 전수로 훑고, 그중 4화면은 실제 렌더 이미지로 교차검증했음. Critical 6건 · Major 13건 · Minor 10건 · 디자인 개선 5건을 확인했음.

가장 큰 두 덩어리 — ① 기획서 2.6이 탭 구성까지 규정한 기부함 탭과 달란트 포인트가 화면 0건이고, TabBar 5탭(홈·예매·내티켓·주문내역·마이)에 자리도 없음. ② TabBar에 「마이」가 있는데 마이페이지·회원탈퇴·공지사항·KR/EN 언어전환이 전부 미설계임. 개발항목 16번이 통째로 비어 있는 셈임.

🎯 원씽 — 사전판매 「잔금 미납 환불」이 자동인지 신청제인지 먼저 확정할 것. 지금 같은 앱 안에서 A09 고지문은 "100% 자동 환불"이라 약속하고, 실제 플로우(A16→A17→A18)는 "신청 후 담당자 확인"임. 이건 화면 수정이 아니라 고지 위반이고, 사전판매는 금액 단위가 억대라 분쟁 1건의 비용이 나머지 전부보다 큼.
6🔴 Critical
13🟠 Major
10🟡 Minor
5🟣 디자인 개선

검토 범위 · 한계

제외 항목 (사용자 지시) — 권종 단가 · 보너스율(20%) · 완납 기한(60일) · 회차당 잔여 인원 · 할인율 수치처럼 어드민 설정값이거나 확정 후 바뀌는 값은 전부 검토에서 뺐음. 참고로 화면의 권종 단가는 여전히 08-21 이전 값(25,000/19,000/17,000)이라 확정가와 다르지만, 지시에 따라 건수에 포함하지 않았음.

🔴 Critical — 출시 차단급 6건

고지 위반, 법정 감면 미제공, 기획서가 명시한 기능의 전면 부재. 화면 수정이 아니라 정책·설계 결정이 필요한 항목임.

C1사전판매 잔금 미납 환불 — 앱이 "자동 환불"이라 고지하고 실제로는 "신청·심사"를 요구함

A09 계약금 결제수단A16 잔금 미납 환불 안내A17 환불 신청 시트A18 접수 완료신뢰도 90 · 근거: 직접확인
기획서 2.3 · 사전판매 정책미납 시 자동취소 + 예약금·기납입 잔금 전액 환불(수수료 0원)
피그마 실제 플로우A16 「환불 예정액」 → 버튼 → A17 환불 신청 시트 → A18 "환불 신청이 접수되었습니다 · 담당자 확인 후 결과를 안내"

더 심각한 건 같은 앱 안에서 말이 갈린다는 점임. 결제 직전 화면 A09 의 고지 박스는 이렇게 씀 — "기한 내 완납하지 않으면 납입 원금이 100% 자동 환불됩니다." 사용자는 이 문장을 읽고 결제했는데, 정작 기한이 지나면 신청서를 쓰고 담당자 연락을 기다려야 함.

왜 Critical 인가 — 결제 전 고지와 실제 처리가 다른 건 전자상거래법상 표시·광고 문제로 직결됨. 게다가 사전판매는 약정 단위가 억대(화면 예시 1,000만~1억)라 분쟁 1건의 금액 규모가 일반 티켓과 비교가 안 됨. "자동"이라 써 놓고 신청을 요구하면 미신청자의 돈이 그대로 남게 되는데, 이건 사업자에게 유리한 방향의 불일치라 더 불리하게 해석됨.
봉합 — 둘 중 하나로 통일. ⓐ 자동으로 간다면 A16~A18 세 화면을 "환불이 자동 접수됐습니다 · 원 결제수단으로 n영업일 내 반환" 안내형으로 바꾸고 신청 시트를 삭제. ⓑ 신청제로 간다면 A09 고지문을 "기한 내 미완납 시 자동 취소되며, 환불은 앱에서 신청하면 담당자 확인 후 처리됩니다"로 고치고 기획서 2.3 도 같이 개정. 기획서가 SoT 이므로 ⓐ 가 기본값임.

C2입장 QR 갱신 주기가 기획 확정값 30초가 아니라 60초로 그려져 있음

A32 티켓 QR 만료·갱신신뢰도 90 · 근거: 직접확인
기획서 1.2 (2026-08-26 확정)앱의 모바일 QR (동적 30초) → 현장 교환소에서 종이티켓 교환
피그마 A32 본문"보안을 위해 QR은 60초마다 새로 발급됩니다."
왜 Critical 인가 — 이건 카피 오탈자가 아니라 검표 시스템의 보안 파라미터임. 서버의 QR 유효시간·재발급 주기·스캐너의 허용 오차가 전부 이 값에 묶임. 개발항목 05(운영자 스캐너)와 앱이 다른 상수를 들고 가면 현장에서 "방금 뜬 QR인데 만료" 가 발생함. 화면 문구가 개발 스펙으로 그대로 옮겨질 위험이 큼.
봉합 — 30초로 통일하고, 이 값을 화면 하드코딩이 아니라 서버 설정값으로 내려받아 표시. 문구도 "QR은 보안을 위해 주기적으로 갱신됩니다"처럼 숫자를 빼는 편이 안전함.

C3기부함 탭 · 달란트 포인트가 화면 0건 — TabBar 에 자리 자체가 없음

v4/Shell/TabBar전 화면신뢰도 90 · 근거: 직접확인(렌더)

TabBar 컴포넌트를 실제로 렌더해 보니 홈 · 예매 · 내 티켓 · 주문내역 · 마이 5탭임. 기획서가 요구한 기부함 탭이 없고, 125화면 어디에도 달란트 포인트를 적립·조회·기부하는 화면이 없음.

기획서 요구 (2.6 · 개발항목 15)피그마
기부함 탭 — 앱 내 전용 탭없음 (TabBar 5탭에 미포함)
① 기부함 박스 + 실시간 누적 기부액없음
② 기부함 설명 텍스트없음
③ 기부하기 버튼 → 금액 입력 모달 → 누적액 갱신없음
달란트 포인트 적립(티켓 사용 시점)·잔액 조회없음
친구초대 보상 = 달란트 포인트 지급 (2.7)없음 (가입 화면에 추천인 코드 입력만 존재)
왜 Critical 인가 — 기획서 2.6 은 탭 구성 요소를 ①②③ 으로 번호까지 매겨 규정했음. 이 정도로 구체적인 요구가 화면 0건이면 누락이 아니라 스코프에서 빠진 것으로 봐야 함. 게다가 달란트는 환불 정산(2.4 회수·상계)과 회원 탈퇴(소멸)에 물려 있어서, 나중에 붙이면 이미 만든 환불 화면 A58~A69 를 다시 손대야 함. 지금 결정하는 게 가장 쌈.
봉합 — 출시 범위에 넣을지부터 결정. 넣는다면 TabBar 를 6탭으로 늘리기보다 「마이」 하위로 달란트·기부함을 넣는 안을 권함(하단 탭 6개는 390px 폭에서 라벨이 깨짐). 빼기로 한다면 기획서 2.6·개발항목 15·2.7 친구초대 보상을 같이 삭제해 문서-화면을 맞출 것.

C4법정·정책 감면 권종이 예매 화면에 없음 — 장애인·국가유공자·영유아가 선택 불가

31 예매 3단계 권종·수량A19 STEP3 오픈티켓 구매A30 오픈티켓 회차·매수신뢰도 90 · 근거: 직접확인(렌더)

렌더로 확인한 권종은 성인 · 청소년 · 어린이 · 경로 우대 4종뿐임. 기획서 1.4 가 규정한 감면 대상 상당수가 앱에서 예매할 방법이 없음.

기획서 1.4 권종규정피그마 31 · A19
장애인 (본인 · 심한 장애는 보호자 1인)무료없음
영유아 (만 6세 미만)무료없음
국가유공자 (본인 + 배우자 1인)우대없음
현역 병·의무경찰·의무소방 / 재직 경찰·소방공무원우대없음
경로 (만 65세 이상)우대있음 — 단 "경로 우대"로 라벨링돼 나머지 우대 대상을 배제함
어린이 만 6~12세—"만 12세 이하" — 하한이 없어 만 6세 미만이 유료 결제됨
초대권(무상 발권 — 협찬·초청, 개발항목 09)무료없음
왜 Critical 인가 — 두 갈래로 문제임. ① 장애인 무료는 전시·공연에서 사실상 표준인 감면이라 앱에서 선택이 아예 안 되면 민원·차별 이슈로 번짐. ② 어린이 하한 없음은 무료 대상인 만 6세 미만 아동에게 어린이 요금을 받는 결과가 되어 과금 오류임. 이 어린이 하한 건은 이전 검토 #2 의 C3 에서 이미 지적됐는데 이번 피그마에서도 그대로임 — 미봉합 상태로 넘어온 항목임.
봉합 — 권종 목록을 어드민 설정값으로 받아 렌더하는 구조로 바꾸고(하드코딩 4종 금지), 무료 권종은 별도 그룹으로 분리해 현장 증빙 안내 문구를 붙일 것. 어린이 라벨은 즉시 "만 6~12세"로 수정.

C5주문 상세 화면이 "할인 건은 부분환불 불가" 규정을 어긴 조합을 정상 케이스로 그림

A55 주문 상세32 단체할인 적용신뢰도 70 · 근거: 직접확인 + 추론
기획서 2.7 · 부분환불 조건할인 받지 않은 구매 건 · 부분 선물하지 않은 구매 건만 부분환불 가능
피그마 A55 결제 상세같은 주문 안에 "제휴 할인 −20%" 와 "부분 환불 1매 −17,000원" 이 동시에 찍혀 있음

연결된 문제로, 32번 화면의 안내 문구는 "단체 할인이 적용된 주문은 부분 환불이 불가하며" 라고 단체할인만 한정함. 기획서 규정은 할인 종류를 가리지 않는데, 화면 문구는 제휴·프로모션 할인 건이면 부분환불이 된다고 읽히게 씀. A55 는 그 오독대로 그려진 화면임.

왜 Critical 인가 — 할인 건의 부분환불은 정가 환산이 불가능해서 금지된 규정임. 10매에 −20% 를 적용한 뒤 1매만 환불하면 그 1매에 배분된 할인액을 어떻게 떼느냐가 정해져 있지 않음. 화면이 이걸 허용해 버리면 환불 금액 계산이 케이스마다 갈리고, 그대로 정산 오류가 됨. 다만 A55 는 더미 데이터라 단순 조합 실수일 수 있어 신뢰도를 70 으로 둠 — 구현 의도인지 확인이 필요함.
봉합 — ① 32번 문구를 "할인이 적용된 주문은 부분 환불이 불가하며 전체 취소만 가능합니다"로 일반화. ② A55 더미를 할인 없는 건으로 교체하거나, 할인 건에서 부분환불 버튼이 비활성인 상태를 별도 화면으로 추가. ③ 할인 건 부분환불을 허용할 방침이면 할인액 배분 규칙을 기획서에 먼저 신설해야 함.

C6TabBar 에 「마이」가 있는데 마이 화면이 0건 — 개발항목 16 이 통째로 비어 있음

v4/Shell/TabBar신뢰도 90 · 근거: 직접확인

하단 탭에 「마이」가 상시 노출되는데 125화면 어디에도 마이페이지가 없음. 그 아래 붙어야 할 기능들이 함께 사라진 상태임.

기획서 요구근거피그마
마이페이지개발항목 16없음
회원 탈퇴 — 예매 티켓 보유·환불 미완료 시 탈퇴 불가개발항목 06 · 2.3없음 (차단 안내 화면도 없음)
공지사항개발항목 16없음
KR / EN 언어 전환2.7없음 (전 화면 한국어 고정)
알림 설정개발항목 16없음 (27번 "알림 꺼짐 안내"만 존재)
왜 Critical 인가 — 회원 탈퇴는 조건부 차단 로직이 붙는 기능임(티켓 보유·환불 미완료 시 불가, 탈퇴 시 달란트 소멸). 화면이 없으면 이 분기가 설계되지 않았다는 뜻이고, 앱스토어 심사에서 계정 삭제 경로는 필수 항목이라 출시 자체가 막힘. 언어 전환(KR/EN)도 전 화면 텍스트 구조에 영향을 주므로 나중에 붙이면 125화면을 다시 손봐야 함.
봉합 — 마이 탭 하위 화면군(마이페이지 · 내 정보 · 알림 설정 · 공지사항 · 언어 · 로그아웃 · 회원탈퇴 + 탈퇴 차단 안내)을 별도 섹션으로 신설. 언어 전환은 화면 추가 전에 다국어 적용 범위부터 확정할 것 — 전시 콘텐츠까지 번역할지, UI 문자열만 할지에 따라 작업량이 몇 배 차이남.

🟠 Major — 정책 미확정 · 정합 붕괴 13건

출시를 막지는 않지만, 그대로 개발되면 운영 중 분쟁·재작업을 만드는 항목임.

M1캐시 차감 순서(보너스 우선)가 화면에는 구현됐는데 기획서에 규정이 없음

A24 캐시 내역신뢰도 90 · 근거: 직접확인(렌더)

A24 를 렌더해 수치를 맞춰 보면 차감 순서가 드러남 — 총 지급 12,000,000(원금 10,000,000 + 보너스 2,000,000)에서 7,000,000 을 쓴 뒤 잔액 표기가 "원금 5,000,000 · 보너스 0" 임. 즉 보너스부터 전액 소진하는 정책임.

왜 Major 인가 — 이 순서가 기획서 2.4 ②-1(완납 후 원화 환불)의 환불액을 직접 결정함. 규정은 "추가금은 전액 회수, 실제 입금액 기준으로 환불, 사용분은 상계"인데, 보너스를 먼저 태우면 사용분이 보너스에서 빠져 원금이 보존되고 환불액이 커짐. 반대로 원금 우선이면 환불액이 작아짐. 같은 사용자·같은 사용액인데 순서 하나로 환불금이 달라지는데 기획서에 한 줄도 없음. 개발자가 임의로 정하면 그게 곧 정책이 됨.
봉합 — 기획서 2.3 캐시 항목에 "사용 시 보너스분 우선 차감" 을 명문화하고(화면 구현과 일치하는 방향), 2.4 ②-1 환불식에 "환불 가능액 = 잔여 캐시 중 원금분" 을 수식으로 못박을 것.

M2캐시에 "유효기간 — 전시 종료일까지"가 붙었는데 기획서에 없는 신설 정책임

A03/45 홈 S2A15 완납 완료A20 오픈티켓 구매 완료A24 캐시 내역신뢰도 85 · 근거: 직접확인

4개 화면이 캐시·오픈티켓에 유효기간을 표기함. 기획서 2.3 은 캐시에 대해 사용처(티켓 구매 전용)와 환급 경로만 규정하고 기간 제한을 두지 않음.

왜 Major 인가 — 캐시는 현금을 선납받고 발행한 선불성 재원임. 여기에 소멸 기한을 붙이는 건 소비자에게 불리한 조건 신설이라 약관에 근거 조항이 있어야 하고, 없으면 무효 주장이 가능함. 게다가 억대 약정자의 잔여 캐시가 기간 만료로 소멸하는 그림은 그 자체로 분쟁 소재임. 화면이 먼저 정책을 만든 상태임.
봉합 — 유효기간을 둘지 말지부터 결정. 둔다면 이용약관에 캐시 유효기간·소멸 조항을 신설하고 기획서 2.3 에 반영. 안 둔다면 4개 화면의 해당 행을 삭제하거나 "사용 기한 없음"으로 바꿀 것.

M3캐시 내역 화면에 정작 "내역 리스트"가 없음 — 요약 4줄이 전부임

A24 캐시 내역신뢰도 90 · 근거: 직접확인(렌더)
기획서 2.3 · 캐시 표시(유저)충전 · 사용 · 환급 내역 리스트 제공
피그마 A24총 지급 / 오픈티켓 사용 / 잔여 / 유효기간 4줄 요약만. 화면 세로 절반이 빈 여백
왜 Major 인가 — 화면 이름이 「캐시 내역」인데 내역이 없음. 잔금을 n회 분할 입금하는 모델이라 입금 이력이 사용자에게 가장 중요한 증빙인데, 그게 A12(STEP2)에만 있고 완납 후에는 조회 경로가 사라짐. 완납·충전·사용이 여러 건 쌓이면 4줄 요약으로는 대사가 불가능함.
봉합 — A24 하단 여백에 거래 리스트(일시 · 구분[충전/사용/환급] · 금액 · 잔액)를 추가. A12 의 v4/HistoryRow 컴포넌트를 그대로 재사용하면 신규 컴포넌트 없이 해결됨.

M4같은 「예약 기한」 필드가 화면마다 다른 값을 표시함

A05 · 46-1 홈(관람일 예약중)A20 오픈티켓 구매 완료신뢰도 85 · 근거: 직접확인
화면라벨값
A05 · 46-1 홈예약 기한2026.12.20까지
A20 오픈티켓 구매 완료예약 기한전시 종료일까지
A03 · A15 · A24유효기간전시 종료일까지
왜 Major 인가 — 절대일자(12.20)와 상대조건(전시 종료일)은 성격이 다른 값임. 오픈티켓을 언제까지 관람일로 바꿔야 하는지가 화면마다 다르게 읽히면, 기한을 놓친 사용자가 "앱이 다르게 안내했다"고 주장할 근거가 됨. 기획서에는 오픈티켓 예약 기한 규정 자체가 없음(우선예약 xx일만 언급) — 화면이 먼저 만든 값임.
봉합 — 기획서에 오픈티켓 예약 기한을 신설하고(어드민 설정값), 전 화면이 같은 필드를 읽도록 통일. 라벨도 「유효기간」/「예약 기한」 중 하나로 정리할 것.

M5「일반판매」 섹션이 7299×13392 크기로 완전히 비어 있음

섹션 11:9780 일반판매신뢰도 90 · 근거: 직접확인(메타 + 렌더 2경로)

섹션 3개 중 「일반판매」에 프레임 0건임. 메타데이터에서 자식 노드가 없고, 실제 렌더도 회색 빈 면으로 나옴. 일반 예매 화면은 「v4 그대로 쓸거」 섹션에 7개(홈 · 날짜 · 회차 · 권종 · 확인 · 결제수단 · 완료)만 있음.

왜 Major 인가 — 일반 티켓 구매자의 구매 이후 여정이 어느 화면에 귀속되는지 불명함. 내 티켓(A27) · 주문내역(A50) · 환불(A58~A69) · 선물(A39~A49) · 회차변경(A35~A38)이 전부 사전판매 섹션에만 있고, 이 화면들은 오픈티켓·캐시를 전제로 그려져 있음(A27 에 openTicketModule, A39 라벨이 "오픈티켓 선물"). 일반 구매 건에서 이 화면들이 어떻게 보이는지가 정의되지 않았음. 개발자가 "재사용하겠지"로 추정하면 오픈티켓 전용 UI 가 일반 티켓에도 노출됨.
봉합 — 섹션명이 「v4 그대로 쓸거」인 걸 보면 일반판매는 v4 재사용이 의도로 보임. 그렇다면 섹션에 그 결정을 한 줄로 명시하고(빈 섹션 방치 금지), 최소한 일반 티켓 기준의 내 티켓 · 주문상세 · 환불 화면 3종은 별도로 그려서 오픈티켓 전용 요소가 빠진 모습을 확정할 것.

M6일반구매 탭 비노출 상태 화면이 없음 — 모드 토글이 항상 두 탭을 보여줌

modeToggle (홈 · 내 티켓 · 주문내역 전 화면)신뢰도 75 · 근거: 직접확인 + 추론
기획서 2.3 · 2.7본 전시회가 확정되기 전까지는 사전 판매 탭만 오픈하고, 일반구매 탭은 전시 확정 후 오픈 (일반구매 탭 비노출)
피그마사전판매 홈 6종 · 내 티켓 · 주문내역 전부에 modeToggle 이 붙어 있고, 한쪽만 노출된 상태 화면이 없음
왜 Major 인가 — 이게 출시 직후 첫 화면임. 제작발표회와 동시에 사전판매만 여는 게 기획인데, 그 상태의 홈이 어떻게 생겼는지 아무도 안 그렸음. 토글을 숨길지, 비활성 상태로 둘지, 탭 하나짜리 레이아웃으로 갈지에 따라 홈 상단 구조가 달라짐. 다만 modeToggle 이 컴포넌트라 내부에 비노출 variant 가 있을 가능성이 있어 신뢰도 75 로 둠.
봉합 — 「사전판매 단독 오픈」 상태의 홈 1화면을 추가하고, 전시 확정 시 일반구매 탭이 등장하는 전환 규칙(어드민 스위치)을 기획서에 명시.

M7가상계좌·계좌이체로 결제한 건의 환불 경로가 없음 — 환불 화면이 전부 카드 전제임

A66 접수 완료A67 처리중A68 완료A69 실패신뢰도 85 · 근거: 직접확인
화면문구전제
A66"3영업일 이내 원 결제수단으로 환불 처리됩니다"카드
A67"카드사 승인 취소가 진행 중입니다"카드 고정
A68"원 결제수단으로 환불되었습니다. 카드사 반영까지…"카드 고정
A69"카드사 승인 취소가 거절되었습니다"카드 고정
왜 Major 인가 — 기획서 2.7 은 결제수단을 카드 · 실시간 계좌이체 · 가상계좌 3종으로 확정했고, 36번·A09·A14 결제수단 화면에도 3종이 다 있음. 그런데 가상계좌·계좌이체는 환불받을 계좌를 사용자에게 입력받아야 하는데 그 화면이 없음. 사전판매 억대 약정이 가상계좌로 들어오면 환불 계좌 수집 경로가 반드시 필요함.
봉합 — 「환불 계좌 입력」 화면 1종(예금주 · 은행 · 계좌번호 + 본인 명의 확인)을 추가하고, A67~A69 문구를 결제수단별로 분기. 카드 문구를 기본값으로 하드코딩하지 말 것.

M8선물 수령 모델이 기획서와 다름 — "수락 없이 즉시 전달" 인데 화면은 수락/거절을 요구함

A46 선물 수령A48 선물 거절·반환25 알림 상세(선물 도착)신뢰도 80 · 근거: 직접확인
기획서 개발항목 13 · 2.7"수락 절차 없이 즉시 전달" · 다만 "전달 후 72시간 이내 미수령 시 자동 회수"
피그마A46 수령 버튼 + A48 거절 버튼. 25번 알림도 "선물 보관함에서 수락하면 내 티켓에 담깁니다"
왜 Major 인가 — 기획서 자체가 모순임. "수락 절차 없이 즉시 전달"과 "미수령 시 회수"는 동시에 성립할 수 없음(즉시 전달됐으면 미수령 상태가 존재하지 않음). 피그마는 수락 필요 쪽으로 해석해 구현했는데, 이건 화면의 잘못이라기보다 기획서를 고쳐야 하는 신호임. 다만 이 선택은 선물 티켓의 소유권이 언제 넘어가는지를 정하므로, 원 구매자의 환불 권한(2.7 "선물한 티켓은 원 구매자만 환불 가능")과 직결됨.
봉합 — 피그마 쪽(수락 필요)으로 확정하고 기획서 개발항목 13 · 2.7 의 "수락 절차 없이 즉시 전달" 문구를 삭제. 약관 제11조도 같이 점검할 것.

M9선물 수령 화면이 보낸 사람 전화번호를 마스킹 없이 원문으로 노출함

A46 선물 수령A47 수령 완료25 알림 상세신뢰도 85 · 근거: 직접확인
A25 알림 상세 — 마스킹 있음"이*은님이 THE SALVATION … 선물로 보냈습니다"
A46 · A47 — 마스킹 없음"010954231234님이 티켓을 보냈습니다" (하이픈 포맷도 없음)
왜 Major 인가 — 같은 앱이 한쪽에서는 이름을 *로 가리고 다른 쪽에서는 전화번호를 통째로 보여줌. 마스킹 정책이 없다는 뜻임. 기획서 2.7 은 "입력된 수신자 휴대전화번호는 수령·회수 완료 후 파기"라고 최소수집·즉시파기 취지를 밝혔는데, 화면은 그 번호를 제3자에게 그대로 노출함. 미가입자가 SMS 로 받아 가입하는 플로우라 모르는 번호끼리 서로 노출될 수 있음.
봉합 — 표시 규칙 통일: 발신자는 가입자면 마스킹된 이름(이*은), 미가입자면 마스킹된 번호(010-****-1234). 원문 노출 금지. 하이픈 포맷도 함께 적용.

M10선물 메시지 기능이 기획서에 없고, 화면에도 입력 경로가 빠져 반쪽임

A46 선물 수령 (msgCard)A39 · A40 선물 보내기신뢰도 80 · 근거: 직접확인

A46 수령 화면에 「보낸 메시지」 카드가 있음("함께 보러 가요!"). 그런데 선물을 보내는 화면 A39(매수 선택)·A40(확인 시트)에는 수량과 받는 사람 번호만 있고 메시지 입력 필드가 없음. 기획서 개발항목 13 에도 메시지 기능은 없음.

왜 Major 인가 — 받는 화면에만 있고 보내는 화면에 없으면 구현 불가능한 UI 임. 개발자가 A46 만 보고 만들면 항상 빈 카드가 남음. 스코프에 넣을지 뺄지 결정이 필요한데, 넣으면 메시지 길이 제한·금칙어 필터·신고 경로까지 딸려옴(제3자에게 전달되는 자유 텍스트라 그럼).
봉합 — 뺄 거면 A46 의 msgCard 삭제. 넣을 거면 A39/A40 에 메시지 입력 필드를 추가하고 기획서 개발항목 13 에 글자수 제한 · 금칙어 처리를 명시.

M11할인 명칭이 3종 혼재 — "사전 프로모션 할인"은 기획서에 없는 용어임

34 프로모션 코드 적용됨A55 · A56 주문 상세A57 환불완료신뢰도 85 · 근거: 직접확인
화면 표기등장 위치기획서 정의
사전 프로모션 할인 −20%34 · A57정의 없음
제휴 할인 −20%A55 · A56제휴기관 할인 (2.3)
프로모션 코드 할인 −10%34프로모션 코드 (34 화면)
단체 할인 20%32단체 할인 (2.3)
왜 Major 인가 — 같은 −20% 가 화면에 따라 "사전 프로모션"과 "제휴"로 다르게 불림. 할인 종류는 중복 적용(곱셈) 규칙과 부분환불 가능 여부를 좌우하는 분류키인데, 명칭이 흔들리면 어드민에서 어느 항목을 설정하는 건지 매칭이 안 됨. 정산 리포트에서도 집계 축이 깨짐.
봉합 — 할인 타입을 기획서 정의 3종(단체 · 제휴기관 · 프로모션 코드)으로 고정하고 화면 라벨을 그 이름으로 통일. "사전 프로모션"이 별도 할인이라면 기획서 2.3 에 4번째 타입으로 신설할 것.

M12계약금 결제 단계에 "보너스 캐시는 환불 대상 아님" 고지가 붙어 오해를 만듦

A09 STEP1 계약금 결제수단신뢰도 75 · 근거: 직접확인 + 추론

A09 의 「사전판매 약정 안내」 박스 3줄 중 마지막이 "보너스로 지급된 캐시는 환불 대상이 아닙니다" 임. 그런데 이 시점은 계약금만 내는 단계라 보너스가 아직 존재하지 않음 — 기획서 2.3 이 "부분 입금 단계에서는 캐시가 충전되지 않고 납입 누계만 집계"라고 명시함.

왜 Major 인가 — 바로 윗줄이 "기한 내 완납하지 않으면 납입 원금이 100% 자동 환불됩니다"인데, 그 다음 줄에서 보너스 환불 불가를 말하면 "내 계약금 중 일부는 못 돌려받나?" 로 읽힘. 결제 직전 화면의 고지 문구라 오해 비용이 큼. A14(중도금)에도 같은 문장이 반복됨.
봉합 — A09·A14 에서는 해당 줄을 빼고, 완납 이후 화면(A15 · A24 · 캐시 환불 시트 A25) 로 옮길 것. 대신 A09 에는 "완납 전까지는 캐시가 지급되지 않습니다"를 넣는 편이 정확함.

M13오픈티켓 구매 화면의 캐시 차감액이 1캐시=1원 등가와 33배 어긋남

A19 STEP3 오픈티켓 구매A20 구매 완료신뢰도 70 · 근거: 직접확인 + 추론

A19 에서 성인 5 · 청소년 3 · 경로 2 = 10매를 담고 사용 캐시 7,000,000 이 찍힘. 같은 화면에 표시된 권종 단가로 계산하면 214,000 임(성인 5×25,000 + 청소년 3×19,000 + 경로 2×16,000). 약 33배 차이임.

왜 Major 인가 — 단가 자체는 검토 제외 대상이지만, 이 건은 단가 수준이 아니라 환산 원칙의 문제임. 기획서 2.3 은 1캐시 = 1원을 명시했는데, 화면대로면 1매당 700,000캐시가 나가므로 개발자가 "캐시와 원은 1:1 이 아닌가 보다" 로 읽을 여지가 있음. 캐시 게이지·잔액·환불 계산이 전부 이 환산에 묶여 있어 초기에 잘못 잡으면 광범위하게 번짐. 다만 목업 더미 수치일 가능성이 커서 신뢰도 70 으로 둠.
봉합 — 더미를 1캐시=1원 기준으로 재계산해 넣고, A19 게이지 옆에 "1캐시 = 1원" 을 한 줄 명시. 개발 이관 문서에도 등가 원칙을 못박을 것.

🟡 Minor — 정리·다듬기 10건

기능에는 영향이 없지만, 그대로 이관되면 개발자가 오해하거나 산출물 품질이 깎이는 항목임.

N1미치환 플레이스홀더 텍스트 172건이 남아 있음

전 섹션신뢰도 90 · 근거: 직접확인

title · sub · eyebrow · big · qty · code · detail · histMain · histSub · leftLabel · promoNote 같은 자리표시자가 실제 카피로 바뀌지 않은 채 172곳에 남아 있음. 특히 사전판매 홈 6종의 progressCard 는 핵심 정보(eyebrow · big · sub)가 전부 미치환이라 상태별로 무엇이 달라지는지 화면만 봐서는 알 수 없음.

봉합 — 최소한 상태 구분에 관여하는 progressCard · splitHistory · openTicketCard 의 카피부터 채울 것.

N240번 입금 안내에 시각 자리표시자가 그대로 남음 — "2026.11.09_nn:nn까지"

40 입금 안내

입금 기한 안내 문구에 _nn:nn 이 남아 있음. 가상계좌 자동취소 시각은 분쟁 지점이라 포맷을 확정해 둘 것.

N3캔버스에 작업 메모 4건이 산출물로 노출됨

사전판매 섹션 (A05 인근)

"< 6개는 위와 동일합니다" · "< 사전판매 스탭쪽 완료" · "< 내 티켓 쪽 완료" · "< 선물 완료" 가 화면 옆에 텍스트 노드로 남아 있음. 외부 공유 시 그대로 보임.

N4A19 의 「경로 우대」 행 인스턴스명이 qty/어린이 로 잘못 붙어 있음

A19 STEP3 오픈티켓 구매

레이어 트리에서 qty/어린이 가 두 번 나오는데, 렌더를 확인하니 표시는 정상(성인 · 청소년 · 어린이 · 경로 우대)이었음. 즉 화면 오류가 아니라 레이어명만 stale 함. 다만 개발자가 레이어명 기준으로 컴포넌트를 매핑하면 잘못된 권종에 연결될 수 있음.

N5A46 메시지 카드에 같은 문구가 16회 반복됨 (오버플로 테스트 잔재)

A46 선물 수령

"함께 보러 가요!" 가 16번 이어져 있음. 최대 길이 확인용 더미로 보이나, 정리하지 않으면 카피 길이 제한이 이 값으로 오해됨.

N6A42 선물 완료 문구가 "문자 메시지" 로 고정됨

A42 선물 완료

"받는 분에게 문자 메시지로 안내가 발송되었습니다" 로 단정함. 기획서 2.7 은 가입자면 푸시 / 미가입자면 문자 로 분기하므로, 가입자에게 보낸 경우 사실과 다름.

N7A61 환불 불가 사유가 "입장 완료" 한 가지만 제시됨

A61 환불 불가

기획서 2.4 의 환불 불가 사유는 ① 관람 당일 취소 ② 노쇼 만료 ③ 입장 완료로 최소 3가지임. 화면은 ③ 만 다룸.

N8A31 의 "회차 변경 · 관람일 7일 전까지 무료" 표현이 환불 수수료와 혼동됨

A31 티켓 상세 QR

회차 변경에는 수수료 개념이 없으므로 "무료"는 불필요함. 기획서 표현대로 "관람일 7일 전까지 날짜 변경 가능" 이 정확함.

N9화면명에 검토 메모 태그가 남아 있음 — "[근거없음·관례]" 6건 · "★코멘트I1" · "⚠️D3·D4"

01 · 02 · 03 · 04 · 05 · 15 · 16 · 40

스플래시 · 온보딩 3종 · 알림권한 · 가입완료에 [근거없음·관례] 가 붙어 있음. 기획서에 근거가 없고 관례로 넣은 화면이라는 표시로 읽히는데, 이 6화면은 승인 여부를 따로 받아야 하는 항목임 — 태그를 지우기 전에 확정할 것. 40번의 ⚠️D3·D4, 16번의 ★코멘트I1 은 이전 검토 회차의 코드로 보이며 현행 리뷰와 번호 체계가 다름.

N10알림함(23 · 26)에만 하단 TabBar 가 없음

23 알림함26 알림함 빈 상태

다른 목록형 화면(A27 내 티켓 · A50 주문내역 · A54 빈 상태)은 TabBar 를 유지하는데 알림함만 없음. 헤더 아이콘으로 진입하는 서브 화면이면 정상이나, 진입 경로를 명시해 둘 것.

🟣 디자인 개선 5건

정합성과 무관하게, 화면 자체의 사용성·접근성 관점에서 본 개선점임. 렌더 확인한 4화면 기준이라 전수는 아님.

D1수량 스테퍼의 −/+ 버튼이 최소 터치 타깃에 못 미쳐 보임

31 권종·수량A19 · A30 · A39신뢰도 65 · 근거: 렌더 실측 추정

390px 프레임 기준 버튼이 약 28px 로 보임. iOS HIG 44pt · Android Material 48dp 최소 권장에 미달함. 권종이 4행이라 오탭이 곧 결제 금액 오류로 이어짐. 정확한 값은 컴포넌트 스펙 확인이 필요해 신뢰도를 낮게 뒀음.

개선 — 시각적 크기는 유지하되 터치 영역만 44×44 로 확장(투명 패딩). 좌우 버튼 사이 간격도 최소 8px 확보.

D2비활성 「−」 버튼이 배경과 명도 차가 작아 상태가 색으로만 전달됨

31 권종·수량A19신뢰도 70 · 근거: 렌더 관찰

수량이 0 또는 1일 때 「−」가 옅은 회색으로 흐려지는데, 카드 배경과 붙어 있어 비활성인지 그냥 연한 버튼인지 구분이 어려움. 색상 하나에만 의존한 상태 표현이라 저시력·색각 이상 사용자에게 전달이 안 됨.

개선 — 비활성 시 테두리를 점선으로 바꾸거나 아이콘 자체를 흐리게 하는 이중 단서를 줄 것. 텍스트 대비는 WCAG AA(4.5:1) 기준으로 재검토.

D3캐시 내역 화면의 아래 절반이 빈 여백임

A24 캐시 내역신뢰도 90 · 근거: 직접확인(렌더)

요약 4줄이 끝나고 CTA 까지 화면 절반이 비어 있음. M3 의 거래 리스트를 여기 넣으면 결함 해소와 레이아웃 개선이 동시에 됨.

D4사전판매 홈 6종이 서로 거의 구분되지 않음 — 상태 차이가 2줄에만 담김

A01~A06 · 43~47 · 46-1신뢰도 80 · 근거: 직접확인

S0 미약정 · S1 납입중 · S2 완납 · S3 기한만료 · 관람일 예약중 · 잠긴 STEP 토스트 6종이 히어로 캐러셀 4슬라이드와 STEP 카드 4개를 그대로 공유함. 실제로 달라지는 건 progressCard 안의 facts 2줄뿐임(그마저 N1 로 미치환). 사용자가 지금 어느 단계인지 파악하려면 카드 중간의 작은 텍스트를 읽어야 함.

개선 — 상태를 화면 최상단에서 한눈에 드러낼 것. progressCard 의 eyebrow 를 상태 배지로 승격하고(예: 「납입 중 · D-12」), STEP 트래커의 현재 단계를 색·굵기로 강하게 구분. 캐러셀은 사전판매 단계에서 우선순위가 낮으므로 하단으로 내리는 것도 고려.

D5권종 카드가 1행당 높이를 많이 써서 4행이면 스크롤이 발생함

31 권종·수량A19 · A30신뢰도 70 · 근거: 렌더 관찰

권종당 카드 1장(라벨 · 연령 · 금액 · 스테퍼 · MAX 배지)이라 4행에서 이미 화면을 넘김. C4 를 반영해 감면 권종까지 추가하면 7~8행이 되어 하단 결제 요약이 훨씬 멀어짐.

개선 — 행 높이를 줄인 컴팩트 리스트로 바꾸고, 무료·감면 권종은 접히는 그룹("우대·감면 대상 보기")으로 묶을 것. 선택된 권종 요약을 sticky 로 상단 고정하는 것도 유효함.

이전 검토(#2 · 260825) 대비 변화

해소된 것

넘어온 것 (미봉합)

🔴 이 결론을 깨는 증거