보안 모델과 경계
웹사이트는 이메일 신원, 결제 상태, 라이선스 포인트, Desktop/Browser 기기 슬롯을 관리합니다. 로그인이나 라이선스 확인만으로 Desktop의 Project 파일 또는 Browser의 일반 방문 내용이 웹 데이터베이스에 저장되지 않습니다.
향후 클라이언트가 모델, 동기화, 외부 도구를 연결할 때에도 Project 경계, 기능 단위 권한, 사용자 확인을 유지하고 출시 전에 별도의 보안 및 개인정보 검토를 완료해야 합니다.
라이선스 서비스는 특정 기기가 현재 어떤 권한을 가진다는 사실을 증명할 뿐 해당 기기의 모든 파일, 페이지, 시스템 기능을 얻는 것이 아닙니다.
계정과 세션 보호
이메일 인증
새 계정은 이메일 인증이 필요합니다. 재설정 링크는 제한된 시간 동안 유효하며 완료 후 다른 로그인 세션을 해제합니다.
비밀번호 자격 정보
비밀번호 길이를 제한하고 안전한 해시로 저장합니다. 지원 담당자는 평문 비밀번호를 필요로 하거나 표시하지 않습니다.
세션 통제
세션은 최대 30일이며 주기적으로 갱신됩니다. 필요한 IP 및 User-Agent 신호로 비정상 활동을 식별하고 보호합니다.
남용 방지
신원 API에는 데이터베이스 기반 요청 제한, 신뢰할 수 있는 출처, 동일 출처 반환 경로 검증을 적용합니다.
결제와 구독 무결성
- 결제 수단과 전체 카드 정보는 Paddle Checkout이 처리하며 XAgent는 카드 번호나 보안 코드를 직접 저장하지 않습니다.
- 서버가 Paddle webhook 서명을 검증하고 이벤트를 멱등 처리해 재전송으로 중복 라이선스가 발급되는 것을 방지합니다.
- 권한은 검증된 구독과 거래 상태를 따르며 결제 실패, 취소, 만료, 철회는 이후 라이선스 확인에 반영됩니다.
- 고객, 거래, 구독 기록을 계정 ID에 연결해 이메일이 같다는 이유만으로 다른 계정에 구매를 잘못 귀속하지 않습니다.
Activation Key와 기기 인증서
Key는 한 번만 표시
클라우드는 Activation Key 해시와 끝부분 힌트만 저장합니다. 분실된 Key는 교체해야 하며 평문으로 복구할 수 없습니다.
기기 ID 해시
클라이언트 UUID는 저장 전에 해시됩니다. Desktop과 Browser는 독립된 기기 슬롯을 사용합니다.
서명된 인증서
활성화 시 ES256 기기 인증서를 발급합니다. 갱신 시 인증서, 기기 해시, 연결 ID, 세대, 현재 결제 상태를 확인합니다.
철회 가능한 수명 주기
새 기기는 이전 연결을 대체하고 계정에서 슬롯 연결을 해제할 수 있습니다. Key 교체는 이전 Key와 현재 두 연결을 무효화합니다.
추적 가능한 이벤트
활성화, 교체, 갱신, 거부, 연결 해제, Key 교체 시 요청 ID, 기기 유형, App 버전, 시각을 기록해 검토와 문제 해결에 사용합니다.
서버 및 운영 통제
- 민감한 비밀은 호스팅 환경 변수로만 제공하며 브라우저 번들이나 공개 저장소에 넣지 않습니다.
- API는 필드, 길이, UUID 형식, 프로토콜 버전, 계정 소유권을 검증하고 필요한 최소 정보만 반환합니다.
- 구독, 라이선스, 기기 변경은 감사 이벤트를 남기며 고위험 작업에는 인증된 계정 또는 유효한 기기 인증서가 필요합니다.
- 호스팅, Paddle, Resend의 보안 통제를 이용하면서 각 제공자가 서비스 제공에 필요한 데이터만 처리하도록 제한합니다.
향후 명시적으로 게시하지 않는 한 이 페이지는 ISO 27001, SOC 2, PCI DSS 또는 기타 독립 인증을 주장하지 않습니다.
사용자 보안 권장 사항
- XAgent에 고유하고 충분히 긴 비밀번호를 사용하고 비밀번호 재설정에 쓰이는 이메일 계정을 보호하세요.
- Activation Key를 채팅, 지원 요청, 화면 캡처에 공개하지 말고 신뢰할 수 있는 공식 Desktop/Browser 클라이언트에만 입력하세요.
- Download Center에서 설치 파일을 받고 배포자, 서명, 무결성 정보를 확인하세요. 출처를 알 수 없는 수정 버전을 설치하지 마세요.
- 기기 분실, Key 유출 또는 알 수 없는 연결을 발견하면 계정에서 즉시 기기 연결을 해제하고 Key를 교체하세요.
취약점 공개 절차
영향받는 범위, 반복 가능한 단계, 예상과 실제 결과, 영향 평가, 가능한 수정 제안을 설명해 주세요. 신고를 확인하고 심각도를 평가한 뒤 수정과 공개 일정을 조율합니다.
소유하거나 승인받은 계정과 데이터만 테스트하고 사회공학, 서비스 거부, 지속적 접근, 타인 데이터 다운로드, 운영 사용자 방해를 피하세요. 별도 서면 합의가 없는 범위 밖 테스트에 대해 현재 보상 프로그램이나 세이프 하버를 제공하지 않습니다.
한계, 사고, 업데이트
인터넷 전송, 소프트웨어, 저장 시스템은 절대적인 보안을 보장할 수 없습니다. 위험에 따라 통제를 계속 개선하지만 침해가 불가능하다고 표현하지 않습니다.
사용자에게 영향을 주는 보안 사고가 확인되면 격리, 복구, 증거 보존 조치를 취하고 적용 법률이 요구하는 범위와 기간 안에 영향받은 사용자 또는 기관에 알립니다. 중요한 통제나 공개 절차 변경 시 상단 날짜를 갱신합니다.
책임 있는 취약점 신고
영향받는 URL 또는 버전, 재현 단계, 영향 판단, 필요한 화면을 포함해 주세요. 실제 비밀번호, Activation Key, 결제 정보, 다른 사용자의 데이터를 포함하거나 서비스 방해, 타인 계정 접근, 대량 데이터 수집으로 영향을 입증하지 마세요.