# NEXPA SourceHub 3.8 QA RESULT 검증일: 2026-09-07 ## 자동 테스트 - Python compile: PASS - Frontend JavaScript syntax: PASS - API pytest: **6 passed** - Health/System status: PASS - 7개 Current Baseline seed: PASS - 실제 파일 upload: PASS - Server-side SHA-256: PASS - Immutable R2 revision: PASS - Signed download URL: PASS - 변조된 download token 차단: PASS - 역할별 approval permission: PASS - Git binding permission: PASS - Deployment Gate / disabled executor 처리: PASS - 배포 실패/비활성 상태 감사 로그 기록: PASS ## 인증 Gate 검증 - OIDC 모드 미인증 `/`: 로그인 화면만 표시 — PASS - `/static/index.html` 직접 접근: **404** — PASS ## Migration / Recovery Drill - Alembic initial migration: PASS - `alembic_version` 생성: PASS - SQLite DB backup → restore: PASS - Local storage backup → restore: PASS - 복구 파일 무결성 확인: PASS ## 구현된 Production Hardening - Trusted Host - Security Headers / CSP - Secure Session 옵션 - CSRF - ClamAV adapter - SHA-256 before persistence - Expiring HMAC download URL - Server-side deployment target allowlist - Deployment Gate enforcement - Alembic - DB/storage backup & restore tools - DB/MinIO startup retry ## 아직 실제 운영값이 필요한 Gate 다음은 코드 QA 대상이 아니라 실제 NEXPA 서버 Credential/Infrastructure가 필요합니다. - NEXPA Core OIDC Metadata / Client ID / Secret - PostgreSQL 운영 Credential - MinIO 운영 Credential - ClamAV 운영 Container 연결 확인 - Gitea URL / Token / Repository Binding - 실제 CI/CD Webhook URL / Secret - TLS certificate / Nginx 적용 이 값이 채워지기 전에는 `/api/system/status`가 `production_ready=false`를 반환합니다.