Keamanan & pijakan katalog

Kepercayaan adalah mekanisme,
bukan lencana.

Halaman ini adalah buktinya: apa yang ditegakkan sistem, apa yang disimpan, siapa yang dapat mengaksesnya, dan apa yang belum kami bangun.

Kontak keamanan

support@salewise.co.uk

Sertakan langkah reproduksi. Mohon jangan mengakses data peritel lain atau mengganggu layanan.

Posisi saat ini

  • Tidak ada sertifikasi SOC 2 atau ISO 27001.
  • Belum ada uji penetrasi independen.
  • Tidak ada data kartu yang disimpan.

Versi singkat

Empat klaim, dan di mana buktinya.

Bukan kata sifat pemasaran. Keputusan desain dengan kode di belakangnya.

01

Model tidak dapat menetapkan harga.

Pencarian berjalan sebelum generasi. Model memilih dari ID kandidat; server memvalidasinya dan merender harga, stok, serta varian sendiri.

Baca mekanismenya

02

Rahasia penyedia dienkripsi saat disimpan.

AES-256-GCM, IV acak per catatan, dan data terautentikasi tambahan yang mengikat setiap ciphertext ke penyedia, akun, dan catatan integrasinya.

Baca mekanismenya

03

Tidak ada data kartu yang masuk ke Salewise.

Tidak ada proses pembayaran dan tidak ada penyimpanan PAN. Pembeli memutuskan di ponsel dan membayar di kasir peritel yang ada.

Baca mekanismenya

04

Akses dibatasi lingkupnya, bukan dibagikan.

Kepemilikan toko diperiksa pada setiap rute toko. Token akses berlaku 15 menit; token penyegaran di-hash dan dirotasi saat digunakan.

Baca mekanismenya

Berpijak pada katalog secara struktural

Model memilih. Server merender.

Pencarian berjalan sebelum generasi. Model memilih dari kandidat; server melakukan perhitungan dan rendering.

01

Pencarian katalog lebih dulu

Server mengambil kandidat produk dari katalog peritel sebelum model diminta apa pun. Model tidak pernah menelusuri web terbuka.

02

Model memilih. Server merender.

Harga, stok, varian, dan penawaran dirender di sisi server dari catatan katalog. Angka dalam narasi model bukan sumber kebenaran.

03

ID divalidasi

Setiap produk yang dipilih model harus ada dalam kumpulan kandidat yang diambil. ID tidak valid dibuang sebelum jawaban sampai ke pembeli.

04

Penolakan yang jujur

Jika katalog tidak memuat jawaban, agen mengatakannya dan menawarkan serah terima. Jika model tidak tersedia, asisten mengatakan tidak bisa menjawab dan pembeli dapat mencoba lagi atau bertanya kepada staf.

Yang dikirim ke model

  • Pertanyaan pembeli.
  • Sekumpulan kandidat katalog yang diambil.
  • Pengaturan toko dan teks kebijakan yang relevan.

Yang tidak pernah dikirim ke model

  • Data kartu atau kredensial pembayaran.
  • Kata sandi, kunci API, atau kunci utama Salewise.
  • Alat yang dapat menulis ke POS.

Catatan kontrol

Catatan kontrol, bukan lencana kepercayaan.

Setiap baris menyebutkan kontrol, mekanisme di belakangnya, dan di mana batasnya. Jika kuesioner membutuhkan detail lebih, tanyakan.

Jawaban berpijak katalog

Katalog adalah sumber kebenaran.

Server mengambil kandidat produk sebelum model berjalan. Model hanya boleh memilih ID dari kumpulan itu. ID tidak valid dibuang, dan harga, stok, varian, serta penawaran dirender di sisi server. Jika katalog tidak punya jawaban, agen mengatakannya dan menawarkan serah terima.

Kredensial saat disimpan

Rahasia dienkripsi, diikat, dan diberi versi.

Kredensial penyedia menggunakan AES-256-GCM dengan IV 96-bit acak per catatan. Data terautentikasi tambahan mengikat ciphertext ke provider:{providerId}:account:{accountId}:credentials, sehingga catatan yang disalin ke penyewa lain gagal didekripsi. keyVersion mendukung rotasi kunci; dekripsi yang gagal menutup akses alih-alih mengembalikan rahasia.

Permintaan Salewise

Ditandatangani, bukan hanya bearer.

Permintaan ke API utama Salewise membawa tanda tangan HMAC-SHA256 atas metode, jalur, stempel waktu, nonce, dan SHA-256 isi. Tanda tangan dibandingkan dalam waktu konstan dan dibatasi jendela pengulangan. Kunci utama berada di sisi server, dikonfigurasi sekali, dienkripsi saat disimpan, dan tidak pernah dikembalikan ke browser.

Akun dan peran

Akun peritel bukan admin server.

Sage memiliki peran peritel dan admin server. Kata sandi menggunakan scrypt dengan salt per akun. Token akses kedaluwarsa setelah 15 menit; token penyegaran disimpan sebagai hash, dirotasi saat digunakan, dan kedaluwarsa setelah 30 hari. Undangan kedaluwarsa setelah 7 hari dan terikat pada email yang diundang.

Isolasi penyewa

Pencarian toko adalah pemeriksaan kepemilikan.

Setiap rute toko menyelesaikan toko dan memeriksa bahwa toko itu milik akun terautentikasi sebelum mengembalikan data. Metode repositori dibatasi berdasarkan akun dan toko, dan SQL berada di balik lapisan repositori, bukan di handler rute.

Data kartu

Tanpa pembayaran, tanpa PAN.

Salewise tidak menerima pembayaran dan tidak menyimpan data kartu. PWA pembeli tidak memiliki alur pembayaran, dan transaksi tetap di dalam POS peritel. Kami tidak mengklaim cakupan PCI DSS untuk pembayaran kartu karena kami tidak memproses pembayaran kartu.

Retensi

Dikonfigurasi, bukan tanpa batas.

Penerapan referensi dikonfigurasi untuk 180 hari untuk transkrip sesi dan 365 hari untuk catatan peristiwa, ditetapkan melalui environment dan DPA. Retensi khusus peritel disepakati dalam DPA, dan penghapusan ditangani berdasarkan permintaan. Pembersihan terjadwal belum kami klaim saat ini.

Jejak audit

Peristiwa terkait keamanan meninggalkan catatan.

Pendaftaran, masuk, masuk yang gagal, undangan, penyiapan, dan perubahan kredensial integrasi ditulis ke log audit. Email di-hash dalam detail audit, bukan disimpan mentah. Log bersifat internal saat ini; belum ada layar audit untuk peritel.

Batas model

Model menerima seminimal yang diperlukan.

Model menerima pertanyaan pembeli, kandidat katalog yang diambil, pengaturan toko, dan teks kebijakan yang relevan. Model tidak menerima kata sandi, kredensial API, atau data kartu, dan tidak memiliki alat yang dapat menulis ke POS.

“Dibangun” berarti kontrol tersebut sudah ada di produk hari ini. Bukan berarti setiap kontrol telah diaudit secara independen. Kesenjangannya tercantum di bagian bawah halaman ini.

Kredensial & permintaan

Dienkripsi saat disimpan. Ditandatangani saat transit.

Dua mekanisme yang biasanya pertama ditanyakan peninjau keamanan.

Kredensial saat disimpan

Algoritma
AES-256-GCM, enkripsi terautentikasi.
IV
12 byte acak per catatan, tidak pernah digunakan ulang.
Ikatan
AAD provider:{providerId}:account:{accountId}:credentials. Catatan yang disalin gagal didekripsi.
Rotasi
keyVersion pada setiap catatan; kunci sebelumnya diterima selama rotasi.
Kegagalan
Dekripsi yang gagal menutup akses. Tidak mencoba ulang dengan rahasia lama.

Permintaan Salewise

Kunci utama dikonfigurasi sekali selama penyiapan server. Setiap permintaan ditandatangani dengannya; tanda tangan bukan token bearer.

canonical =
  method + "\n" +
  path + "\n" +
  timestamp + "\n" +
  nonce + "\n" +
  sha256(body);

signature =
  HMAC-SHA256(masterKey, canonical);
  • Terkirim sebagai X-Sage-Signature dengan header timestamp dan nonce.
  • Dibandingkan dalam waktu konstan, dengan jendela pengulangan.
  • Kunci utama disimpan di sisi server dan dienkripsi saat disimpan.
  • Tidak pernah dikembalikan ke browser atau ditulis ke log.

Data, peran & retensi

Data sempit. Akses terbatas. Sebuah catatan.

Asisten tidak perlu tahu siapa pembeli untuk menjawab pertanyaan produk.

Sesi mencatat

  • ID sesi, kode QR, dan lorong yang memulainya.
  • Pertanyaan, jawaban, dan rekomendasi.
  • Peristiwa pengalihan dan stempel waktu.

Tanpa nama, akun, atau data kartu. Demo tidak menautkan sesi ke pembeli bernama.

Siapa yang dapat mengaksesnya

  • Akun peritel, dibatasi pada toko yang tertaut padanya.
  • Admin server, untuk penyiapan dan konfigurasi penyedia.
  • Tidak ada akses toko lintas peritel melalui rute toko.

Undangan terikat pada email dan kedaluwarsa setelah 7 hari.

Berapa lama disimpan

  • Transkrip sesi: dikonfigurasi 180 hari.
  • Catatan peristiwa: dikonfigurasi 365 hari.
  • Ketentuan khusus peritel: ditetapkan dalam DPA.

Penghapusan ditangani berdasarkan permintaan. Pembersihan terjadwal belum kami klaim saat ini.

Peristiwa audit

Pendaftaran, masuk, masuk yang gagal, undangan, penyiapan, dan perubahan kredensial integrasi ditulis ke log audit. Email di-hash dalam detail audit, bukan disimpan mentah. Log bersifat internal saat ini; kami tidak menyajikannya sebagai layar audit untuk peritel.

Atribusi

Catatan harus bertahan dalam audit.

Penjualan yang cocok bersifat tepat atau dimodelkan. Peretail dapat melihat yang mana, dan mengapa.

Deterministik

Kode penukaran dibawa dari sesi ke penjualan. Keyakinan 1,0. Status dimodelkan: salah. Penjualan diatribusikan langsung.

Dimodelkan

Penjualan di toko yang sama dalam jendela dua jam yang memuat item yang direkomendasikan. Skor keyakinan disimpan, dibatasi 0,92, dan kecocokan diberi label dimodelkan di mana pun dilaporkan.

Kecocokan tepat tetap tepat. Kecocokan yang dimodelkan diberi label dimodelkan di mana pun dilaporkan. Langganan adalah satu-satunya biaya, dan atribusi tidak disajikan sebagai pendapatan.

Batas yang jujur

Apa yang tidak kami klaim.

Kepercayaan lebih mudah diperiksa ketika celahnya dinyatakan.

Jika kuesioner mensyaratkan sesuatu dalam daftar ini, katakan saja.

Kami lebih suka kehilangan kesepakatan daripada menjawab dengan berbelit.

  • 01

    Kami belum memiliki sertifikasi SOC 2 atau ISO 27001 hari ini.

  • 02

    Kami belum menyelesaikan uji penetrasi atau audit keamanan independen hari ini.

  • 03

    Kami tidak mengklaim cakupan PCI DSS untuk pembayaran kartu, karena kami tidak memproses pembayaran kartu.

  • 04

    Kami tidak melatih model bersama menggunakan katalog atau percakapan satu peritel dalam produk saat ini.

  • 05

    Tidak ada sistem AI yang bebas risiko. Pijakan katalog mengurangi karangan; itu tidak menghilangkan kebutuhan akan tinjauan peritel dan aturan serah terima.

  • 06

    Kami belum menjalankan pembersihan retensi terjadwal hari ini; penghapusan adalah prosedur operasional berdasarkan DPA.

  • 07

    Log audit kami bersifat internal dan tidak disediakan sebagai layar audit untuk peritel.

  • 08

    Kami tidak menjanjikan tingkat layanan di halaman ini; komitmen ketersediaan apa pun ditetapkan dalam formulir pesanan.

Pengungkapan yang bertanggung jawab

Jika Anda yakin telah menemukan kerentanan, hubungi support@salewise.co.uk dengan detail yang cukup untuk mereproduksinya. Mohon jangan mengakses data peritel lain, mengganggu layanan, atau mengungkapkan secara publik sebelum kami memiliki kesempatan untuk merespons.

Pertanyaan keamanan

Ajukan pertanyaan yang canggung.

Kuesioner keamanan, ketentuan pemrosesan data, dan pertanyaan arsitektur dipersilakan. Kami akan menjawab apa yang kami miliki dan mengatakan apa yang tidak.