보안 및 그라운딩
신뢰는 메커니즘이며,
배지가 아닙니다.
이 페이지는 증거입니다. 시스템이 강제하는 것, 저장하는 것, 누가 접근할 수 있는지, 그리고 아직 구축하지 않은 것을 설명합니다.
보안 연락처
support@salewise.co.uk재현 단계를 포함해 주세요. 다른 판매자의 데이터에 접근하거나 서비스를 방해하지 마세요.
현재 상태
- SOC 2 또는 ISO 27001 인증이 없습니다.
- 아직 독립적인 침투 테스트를 받지 않았습니다.
- 카드 데이터를 보관하지 않습니다.
요약
네 가지 주장과 그 근거의 위치.
마케팅 형용사가 아닙니다. 코드가 뒷받침하는 설계 결정입니다.
01
모델은 가격을 정할 수 없습니다.
검색이 생성보다 먼저 실행됩니다. 모델은 후보 ID 중에서 선택하고, 서버가 이를 검증한 뒤 가격, 재고, 옵션을 직접 렌더링합니다.
메커니즘 읽기02
공급자 비밀은 저장 시 암호화됩니다.
AES-256-GCM, 레코드당 난수 IV, 그리고 각 암호문을 공급자, 계정, 연동 레코드에 묶는 추가 인증 데이터를 사용합니다.
메커니즘 읽기04
접근은 공유가 아니라 범위로 제한됩니다.
모든 매장 경로에서 매장 소유권을 확인합니다. 액세스 토큰은 15분간 유효하며, 리프레시 토큰은 해시로 저장되고 사용 시 교체됩니다.
메커니즘 읽기구조적으로 근거를 갖춤
모델은 선택합니다. 서버는 렌더링합니다.
검색이 생성보다 먼저 실행됩니다. 모델은 후보에서 선택하고, 서버가 계산과 렌더링을 맡습니다.
01
검색 우선
모델에 질문하기 전에 서버가 판매자 카탈로그에서 후보 상품을 검색합니다. 모델은 인터넷을 검색하지 않습니다.
02
모델은 선택하고, 서버는 렌더링합니다.
가격, 재고, 옵션, 혜택은 카탈로그 레코드에서 서버가 렌더링합니다. 모델의 문장에 나온 숫자는 결코 기준이 되지 않습니다.
03
ID를 검증합니다
모델이 선택한 모든 상품은 검색된 후보 집합에 존재해야 합니다. 유효하지 않은 ID는 고객에게 답변이 전달되기 전에 제거됩니다.
04
정직한 거절
카탈로그에 답이 없으면 에이전트는 그렇다고 말하고 직원 연결을 제안합니다. 모델을 사용할 수 없을 때는 어시스턴트가 답변할 수 없다고 안내하며, 고객은 다시 시도하거나 직원에게 물어볼 수 있습니다.
모델에 전달되는 것
- 고객의 질문.
- 검색된 카탈로그 후보 집합.
- 매장 설정 및 관련 정책 문구.
모델에 절대 전달되지 않는 것
- 카드 데이터 또는 결제 인증 정보.
- 비밀번호, API 키 또는 Salewise 마스터 키.
- POS에 쓸 수 있는 도구.
통제 장부
신뢰 배지가 아닌 통제 장부.
각 행은 통제 항목, 그 뒤의 메커니즘, 한계가 어디인지 보여줍니다. 설문에 더 자세한 내용이 필요하면 문의해 주세요.
근거 있는 답변
카탈로그가 기준입니다.
- 서버는 모델이 실행되기 전에 후보 상품을 검색합니다. 모델은 그 집합의 ID만 선택할 수 있습니다. 유효하지 않은 ID는 폐기되며, 가격, 재고, 옵션, 혜택은 서버 측에서 렌더링됩니다. 카탈로그에 답이 없으면 에이전트는 그렇다고 말하고 직원 연결을 제안합니다.
저장 시 인증 정보
비밀은 암호화되고, 바인딩되며, 버전이 관리됩니다.
- 공급자 인증 정보는 레코드당 96비트 난수 IV와 함께 AES-256-GCM을 사용합니다. 추가 인증 데이터가 암호문을 provider:{providerId}:account:{accountId}:credentials에 묶으므로, 다른 테넌트로 복사된 레코드는 복호화에 실패합니다. keyVersion은 키 교체를 지원하며, 복호화 실패 시 비밀을 반환하지 않고 안전하게 차단합니다.
Salewise 요청
베어러 토큰이 아닌 서명 방식.
- Salewise 마스터 API 요청에는 메서드, 경로, 타임스탬프, 논스, 본문의 SHA-256에 대한 HMAC-SHA256 서명이 포함됩니다. 서명은 상수 시간으로 비교되며 재전송 허용 범위로 제한됩니다. 마스터 키는 서버 측에 있고, 한 번 구성되며, 저장 시 암호화되고, 브라우저에 반환되지 않습니다.
계정 및 역할
판매자 계정은 서버 관리자가 아닙니다.
- Sage에는 판매자 역할과 서버 관리자 역할이 있습니다. 비밀번호는 계정별 솔트와 scrypt를 사용합니다. 액세스 토큰은 15분 후 만료되며, 리프레시 토큰은 해시로 저장되고 사용 시 교체되며 30일 후 만료됩니다. 초대는 7일 후 만료되고 초대된 이메일에 바인딩됩니다.
테넌트 격리
매장 조회는 소유권 확인입니다.
- 모든 매장 경로는 데이터를 반환하기 전에 매장을 확인하고 인증된 계정에 속하는지 검사합니다. 리포지토리 메서드는 계정과 매장으로 범위가 제한되며, SQL은 경로 핸들러가 아닌 리포지토리 계층 뒤에 있습니다.
카드 데이터
결제 없음, PAN 없음.
- Salewise는 결제를 받지 않고 카드 데이터를 저장하지 않습니다. 고객 PWA에는 결제 화면이 없으며 거래는 판매자의 POS 안에 남습니다. 카드 결제를 처리하지 않으므로 카드 결제에 대한 PCI DSS 범위를 주장하지 않습니다.
보존
무기한이 아닌 설정된 기간.
- 레퍼런스 배포는 세션 대화 기록 180일, 이벤트 기록 365일로 구성되어 있으며 환경과 DPA로 설정합니다. 판매자별 보존 기간은 DPA에서 합의하고 삭제는 요청 시 처리합니다. 현재 예약된 자동 삭제는 주장하지 않습니다.
감사 추적
보안 관련 이벤트는 기록을 남깁니다.
- 가입, 로그인, 로그인 실패, 초대, 설정, 연동 인증 정보 변경은 감사 로그에 기록됩니다. 감사 세부 정보의 이메일은 원문이 아닌 해시로 저장됩니다. 로그는 현재 내부용이며 아직 판매자용 감사 화면은 없습니다.
모델 경계
모델은 필요한 최소한만 받습니다.
- 모델은 고객의 질문, 검색된 카탈로그 후보, 매장 설정, 관련 정책 문구를 받습니다. 비밀번호, API 인증 정보, 카드 데이터는 받지 않으며 POS에 쓸 수 있는 도구도 없습니다.
“구축됨”은 해당 통제가 오늘 제품에 존재한다는 뜻입니다. 모든 통제가 독립적으로 감사를 받았다는 뜻은 아닙니다. 격차는 이 페이지 하단에 나열되어 있습니다.
인증 정보 및 요청
저장 시 암호화. 전송 시 서명.
보안 검토자가 가장 먼저 요청하는 두 가지 메커니즘입니다.
저장 시 인증 정보
- 알고리즘
- AES-256-GCM, 인증 암호화.
- IV
- 레코드당 12바이트 난수, 재사용하지 않습니다.
- 바인딩
- AAD는 provider:{providerId}:account:{accountId}:credentials입니다. 복사한 레코드는 복호화에 실패합니다.
- 키 교체
- 모든 레코드에 keyVersion이 있으며, 교체 중에는 이전 키를 허용합니다.
- 실패 처리
- 복호화 실패 시 안전하게 차단합니다. 오래된 비밀로 재시도하지 않습니다.
Salewise 요청
마스터 키는 서버 설정 시 한 번 구성됩니다. 모든 요청은 이 키로 서명되며, 서명은 베어러 토큰이 아닙니다.
canonical = method + "\n" + path + "\n" + timestamp + "\n" + nonce + "\n" + sha256(body); signature = HMAC-SHA256(masterKey, canonical);
- 타임스탬프 및 논스 헤더와 함께 X-Sage-Signature로 전송됩니다.
- 상수 시간으로 비교하며 재전송 허용 범위를 둡니다.
- 마스터 키는 서버 측에 보관되고 저장 시 암호화됩니다.
- 브라우저에 반환되거나 로그에 기록되지 않습니다.
데이터, 역할 및 보존
좁은 데이터. 범위가 정해진 접근. 기록.
어시스턴트는 상품 질문에 답하기 위해 고객이 누구인지 알 필요가 없습니다.
세션에 기록되는 것
- 세션 ID, 시작한 QR 코드와 통로.
- 질문, 답변, 추천.
- 직원 연결 이벤트와 타임스탬프.
이름, 계정, 카드 데이터는 없습니다. 데모는 세션을 이름이 있는 고객과 연결하지 않습니다.
접근할 수 있는 사람
- 연결된 매장으로 범위가 제한된 판매자 계정.
- 설정 및 공급자 구성을 위한 서버 관리자.
- 매장 경로를 통한 판매자 간 매장 접근은 없습니다.
초대는 이메일에 바인딩되며 7일 후 만료됩니다.
보관 기간
- 세션 대화 기록: 180일로 설정.
- 이벤트 기록: 365일로 설정.
- 판매자별 조건: DPA에서 정합니다.
삭제는 요청 시 처리합니다. 현재 예약된 자동 삭제는 주장하지 않습니다.
감사 이벤트
가입, 로그인, 로그인 실패, 초대, 설정, 연동 인증 정보 변경은 감사 로그에 기록됩니다. 감사 세부 정보의 이메일은 원문이 아닌 해시로 저장됩니다. 로그는 현재 내부용이며 판매자용 감사 화면으로 제공하지 않습니다.
기여 분석
기록은 감사를 견뎌야 합니다.
매칭된 판매는 정확 매칭이거나 추정 매칭입니다. 판매자는 어느 쪽인지, 그 이유를 확인할 수 있습니다.
결정적
세션에서 판매까지 이어진 교환 코드입니다. 신뢰도 1.0. 추정 매칭이 아니며 판매가 전액 귀속됩니다.
추정
추천 항목이 포함된 2시간 이내 동일 매장 판매입니다. 신뢰도 점수가 저장되며 최대 0.92로 제한되고, 매칭은 보고되는 모든 곳에서 추정으로 표시됩니다.
정확 매칭은 정확합니다. 추정 매칭은 보고되는 모든 곳에서 추정으로 표시됩니다. 구독료가 유일한 비용이며, 기여 분석은 매출로 제시되지 않습니다.
솔직한 한계
우리가 주장하지 않는 것.
격차를 밝혀야 신뢰를 더 쉽게 확인할 수 있습니다.
설문에 이 목록의 항목이 필요하다면 말씀해 주세요.
답변을 둘러대기보다 거래를 잃는 편을 택합니다.
- 01
현재 SOC 2 또는 ISO 27001 인증을 보유하지 않았습니다.
- 02
아직 독립적인 침투 테스트나 보안 감사를 완료하지 않았습니다.
- 03
카드 결제를 처리하지 않으므로 카드 결제에 대한 PCI DSS 범위를 주장하지 않습니다.
- 04
현재 제품에서는 한 판매자의 카탈로그나 대화로 공유 모델을 학습시키지 않습니다.
- 05
위험 없는 AI 시스템은 없습니다. 그라운딩은 창작을 줄이지만 판매자의 검토와 직원 연결 규칙의 필요성을 없애지는 않습니다.
- 06
현재 예약된 보존 기간 자동 삭제(purge)를 운영하지 않으며, 삭제는 DPA에 따른 운영 절차입니다.
- 07
감사 로그는 내부용이며 판매자용 감사 화면으로 노출되지 않습니다.
- 08
이 페이지에서 서비스 수준을 약속하지 않으며, 가용성 약정은 주문서에서 정합니다.
책임 있는 공개
취약점을 발견했다고 생각되면 다음 주소로 연락해 주세요: support@salewise.co.uk 재현에 충분한 정보를 포함해 주세요. 다른 판매자의 데이터에 접근하거나 서비스를 방해하거나, 저희가 대응할 기회를 갖기 전에 공개하지 마세요.