GapProof
Technology

쓴 기술만 말하고, 검증한 만큼만 주장합니다.

이 페이지의 내용은 저장소의 실제 코드·테스트와 일치하도록 관리합니다.

실제 기술 스택

아래 기술들은 각자 다른 일을 하지만, 결국 하나를 위해 모입니다 — 흩어진 경험을 확인 가능한 증거 하나로 만드는 일입니다.

Next.js · vinextReact 19 · TypeScriptCloudflare WorkersUpstage SolarGemini (영상 학습)Supabase (회원 데이터)node:test · Playwright
  • Next.js App Router + vinext (Vite)

    파일 기반 라우팅과 서버 라우트를 Cloudflare Workers에서 실행하기 위해

  • React 19 · TypeScript(strict)

    6단계 상태 흐름을 타입 안전하게 관리하기 위해

  • Cloudflare Workers

    공개 배포와 엣지 실행, 환경변수(secret) 바인딩을 위해

  • Upstage Solar API

    한국어 경험 문장의 구조화(JSON 출력)에 적합하고, 국내 생태계 확장성을 고려

  • node:test 통합 테스트

    빌드 산출물 Worker를 직접 호출해 실제 응답 계약을 검증하기 위해

보안·개인정보 설계

  • 접근 게이트

    데모 코드를 서버가 검증하고 서명된 HttpOnly 쿠키 세션을 발급합니다. 환경변수가 없으면 데모가 열리지 않는 fail-closed 방식입니다. 공유용 데모 보호 장치일 뿐, 개인 계정 인증은 아닙니다.

  • API 키 보호

    Solar API 키는 서버 환경에만 있고 브라우저로 전달되지 않습니다.

  • 요청 한도

    분석·코드 입력 모두 60초에 10회로 제한해 과다 요청과 무차별 대입을 막습니다. 한도 확인이 불가능하면 요청을 거절합니다.

  • 개인정보 가리기

    이메일·전화번호·주민등록번호로 보이는 표현은 Solar로 보내기 전에 가리고, 가린 사실을 화면에 알립니다.

  • 모델 허용 목록

    서버에 등록된 Solar 모델만 사용할 수 있습니다. 목록 밖 요청은 거부됩니다.

  • 무저장 원칙

    경험 원문을 서버에 저장하지 않습니다. “새 분석 시작하기”는 화면의 모든 상태를 지웁니다.

검증 방법

자동 테스트, 실제 Workers 개발환경, 5개 화면 크기에서 검증했습니다.

  • 자동 테스트로 입력 경계값, 게이트 인증·위조 쿠키·fail-closed, 요청 한도, 개인정보 가리기, 모델 허용 목록, 서버 렌더링을 검증합니다.
  • 실제 Worker 개발환경(workerd)에서 게이트 세션·요청 한도·보안 헤더를 실측했습니다.
  • 5개 화면 크기(360~1440px)에서 가로 넘침 0, 콘솔 오류 0을 자동으로 확인합니다.
  • 테스트는 유료 Solar API를 호출하지 않도록 격리되어 있습니다.

수업에서 배운 것과 실제 적용

AI Reboot 과정에서 배운 내용 중 이 데모에 실제 적용한 것:

  • 반응형 웹(5개 뷰포트 검증)
  • 시맨틱 HTML·접근성(라벨·라이브 리전·포커스 관리)
  • React 컴포넌트·TypeScript
  • 환경변수·API 키 관리
  • 국내 LLM(Solar) 활용
  • 할루시네이션 대응(원문 인용 검증·명시적 폴백)
  • 오류 처리(사용자 메시지 보존)
  • 자동 테스트
  • GitHub Issue → 브랜치 → PR 단위 개발

Supabase와 RLS(행 단위 보안)는 로그인·프로필 화면에 실제로 쓰고 있습니다. 다만 경험 원문과 분석 결과를 저장하는 코드는 아직 없습니다 — 표와 접근 제한은 만들어 두었지만 기록하지 않습니다. 데모에서 만든 결과는 이 기기의 브라우저에만 남습니다. 이력 저장은 다음 단계에서 동의 절차와 함께 도입합니다.

알려진 제한사항

  • 사용자 흐름 검증용 데모(MVP)이며, 기관 시스템 연동과 공식 자격 인정은 포함하지 않습니다.
  • 이름·주소처럼 형식이 없는 개인정보는 자동으로 가려지지 않을 수 있습니다 — 입력 안내가 1차 방어입니다.
  • Solar 실제 응답의 품질·지연은 운영 키 연결 후 계속 측정할 항목입니다.

개발 기록은 GitHub 저장소(현재 비공개)의 이슈·PR 단위로 관리하고 있습니다. 심사 과정에서 요청이 있으면 공개 범위를 조정할 수 있습니다.

GapProof 데모 시작하기 코드 없이 샘플 둘러보기실제 분석은 심사·멘토링 공유용 데모 코드가 필요합니다.