1. 실시간 티켓팅 환경 제약
⛔ 예매 흐름 중단 최소화
- VQA는 좌석 선택 결제 단계 이전에서만 발동
- 결제 단계, 인증 단계에서는 절대 개입하지 않음
- VQA로 인해 예매 전체 흐름이 block 되지 않아야 함
2. 확장성 및 트래픽 제약
🚦 대규모 동시성 대응
- VQA는 전체 트래픽의 일부 세션만 대상
- 발동 비율 상한 설정 (예: 1차 서버 2차 매크로 탐지 후 VQA 발동)
- 수집된 VQA 필요 데이터를 기준으로 AI로 판단된 사용자에 한해 팝업
3. 보안적 제약사항
🔒 리플레이/자동화 공격 방지
- challenge_id 1회성 사용 - VQA 문제마다 고유한 ID 발급
- 시간 초과 시 무효
- 동일 문제 재사용 금지
- 사용된 이미지를 제외한 이미지 개수가 임의값만큼 채우도록, 지속적으로 백그라운드에서 이미지 생성
- 이미지 데이터 삭제
- 이미지 사용 시 DB 컬럼에 사용 여부 파악할 수 있는 컬럼에 값 변경. 이후 사용자가 잘 이용하지 않는 시간대에 일괄 삭제
- 정답 클라이언트 노출 금지
4. 데이터 및 개인 정보 제약
📄 VQA 필요 데이터 수집 시점
- 최선: 웹사이트 접속부터 결제 전까지의 모든 데이터를 수집 (트래픽 부하 여부가 관건) (ms단위로 수집)
- 차선: 웹사이트 특정 페이지에서만 데이터 수집
- 개인정보 최소 수집
- 이미지에 개인정보/실제 좌석 정보 노출 ❌
- 사용자 입력은 정답 여부만 저장
- 세션 기반 식별자만 사용
- 저장 항목:
- challenge_id
- 결과(pass/fail)
- 소요 시간