Sicurezza e ancoraggio

La fiducia è un meccanismo,
non un badge.

Questa pagina è la prova: cosa impone il sistema, cosa conserva, chi può accedervi e cosa non abbiamo ancora costruito.

Contatto sicurezza

support@salewise.co.uk

Includi i passaggi per riprodurre il problema. Non accedere ai dati di un altro commerciante e non interrompere il servizio.

Stato attuale

  • Nessuna certificazione SOC 2 o ISO 27001.
  • Nessun penetration test indipendente, per ora.
  • Nessun dato carta conservato.

La versione breve

Quattro affermazioni, e dove stanno le prove.

Non aggettivi di marketing. Decisioni di progettazione con codice dietro.

01

Il modello non può impostare un prezzo.

Il recupero avviene prima della generazione. Il modello seleziona tra ID candidati; il server li valida e visualizza autonomamente prezzo, giacenza e varianti.

Leggi il meccanismo

02

I segreti dei provider sono cifrati a riposo.

AES-256-GCM, un IV casuale per record e dati autenticati aggiuntivi che legano ogni testo cifrato al suo provider, account e record di integrazione.

Leggi il meccanismo

03

Nessun dato carta entra in Salewise.

Non esiste una cassa e non viene conservato alcun PAN. Il cliente decide sul telefono e paga alla cassa esistente del commerciante.

Leggi il meccanismo

04

L’accesso è limitato, non condiviso.

La proprietà del negozio viene verificata su ogni rotta del negozio. I token di accesso durano 15 minuti; i refresh token sono sottoposti a hash e ruotati a ogni utilizzo.

Leggi il meccanismo

Ancorato per costruzione

Il modello seleziona. Il server visualizza.

Il recupero avviene prima della generazione. Il modello sceglie tra i candidati; il server esegue i calcoli e la visualizzazione.

01

Prima il recupero

Il server recupera i prodotti candidati dal catalogo del commerciante prima di chiedere qualsiasi cosa al modello. Il modello non cerca mai sul web aperto.

02

Il modello seleziona. Il server visualizza.

Prezzi, giacenze, varianti e offerte sono visualizzati lato server dai record del catalogo. Un numero nel testo del modello non è mai la fonte di verità.

03

Gli ID vengono validati

Ogni prodotto selezionato dal modello deve esistere nell’insieme dei candidati recuperati. Gli ID non validi vengono scartati prima che la risposta raggiunga il cliente.

04

Rifiuto onesto

Se il catalogo non contiene una risposta, l’assistente lo dice e propone il passaggio a un operatore. Quando il modello non è disponibile, l’assistente dichiara di non poter rispondere e il cliente può riprovare o chiedere a un operatore.

Cosa arriva al modello

  • La domanda del cliente.
  • Un insieme di candidati recuperati dal catalogo.
  • Le impostazioni del negozio e il testo delle politiche pertinenti.

Cosa non arriva mai al modello

  • Dati carta o credenziali di pagamento.
  • Password, chiavi API o la chiave principale di Salewise.
  • Uno strumento in grado di scrivere sul POS.

Registro dei controlli

Un registro dei controlli, non un badge di fiducia.

Ogni riga indica il controllo, il meccanismo che lo sostiene e dove si trova il limite. Se un questionario richiede più dettagli, chiedi.

Risposte ancorate al catalogo

Il catalogo è la fonte di verità.

Il server recupera i prodotti candidati prima che il modello venga eseguito. Il modello può selezionare solo ID da quell’insieme. Gli ID non validi vengono scartati e prezzo, giacenza, varianti e offerte sono visualizzati lato server. Se il catalogo non ha una risposta, l’assistente lo dice e propone il passaggio a un operatore.

Credenziali a riposo

I segreti sono cifrati, vincolati e versionati.

Le credenziali dei provider usano AES-256-GCM con un IV casuale di 96 bit per record. I dati autenticati aggiuntivi legano il testo cifrato a provider:{providerId}:account:{accountId}:credentials, così un record copiato su un altro tenant non si decifra. keyVersion supporta la rotazione delle chiavi; una decifratura fallita si chiude in modo sicuro invece di restituire un segreto.

Richieste Salewise

Firmate, non solo token bearer.

Le richieste all’API principale di Salewise portano una firma HMAC-SHA256 su metodo, percorso, timestamp, nonce e SHA-256 del corpo. La firma viene confrontata in tempo costante ed è limitata da una finestra anti-replay. La chiave principale è lato server, configurata una volta, cifrata a riposo e mai restituita a un browser.

Account e ruoli

Un account commerciante non è un amministratore del server.

Sage ha ruoli commerciante e amministratore del server. Le password usano scrypt con salt per account. I token di accesso scadono dopo 15 minuti; i refresh token sono conservati come hash, ruotati a ogni utilizzo e scadono dopo 30 giorni. Gli inviti scadono dopo 7 giorni e sono vincolati all’email invitata.

Isolamento dei tenant

Una ricerca di negozio è una verifica di proprietà.

Ogni rotta del negozio risolve il negozio e verifica che appartenga all’account autenticato prima di restituire dati. I metodi del repository sono limitati per account e negozio, e l’SQL resta dietro il livello repository anziché nei gestori delle rotte.

Dati carta

Nessun pagamento, nessun PAN.

Salewise non prende pagamenti e non conserva dati carta. La PWA per il cliente non ha una cassa e la transazione resta nel POS del commerciante. Non dichiariamo un perimetro PCI DSS per i pagamenti con carta perché non elaboriamo pagamenti con carta.

Conservazione

Configurata, non indefinita.

L’installazione di riferimento è configurata per 180 giorni per le trascrizioni delle sessioni e 365 giorni per i registri degli eventi, impostati tramite ambiente e DPA. La conservazione specifica del commerciante è concordata nel DPA e la cancellazione viene gestita su richiesta. Oggi non dichiariamo l’esecuzione di una cancellazione automatica pianificata.

Registro di audit

Gli eventi rilevanti per la sicurezza lasciano una traccia.

Registrazione, accesso, accesso fallito, inviti, configurazione e modifiche alle credenziali di integrazione vengono scritti in un registro di audit. Le email sono sottoposte a hash nei dettagli di audit anziché conservate in chiaro. Il registro è interno oggi; non esiste ancora una schermata di audit per il commerciante.

Confine del modello

Il modello riceve il minimo necessario.

Il modello riceve la domanda del cliente, i candidati recuperati dal catalogo, le impostazioni del negozio e il testo delle politiche pertinenti. Non riceve password, credenziali API o dati carta e non ha strumenti in grado di scrivere sul POS.

«Realizzato» significa che il controllo esiste oggi nel prodotto. Non significa che ogni controllo sia stato verificato da un revisore indipendente. Le lacune sono elencate in fondo a questa pagina.

Credenziali e richieste

Cifrate a riposo. Firmate in transito.

I due meccanismi che un revisore di sicurezza chiede di solito per primi.

Credenziali a riposo

Algoritmo
AES-256-GCM, cifratura autenticata.
IV
12 byte casuali per record, mai riutilizzati.
Vincolo
AAD provider:{providerId}:account:{accountId}:credentials. Un record copiato non si decifra.
Rotazione
keyVersion su ogni record; la chiave precedente viene accettata durante la rotazione.
Errore
Una decifratura fallita si chiude in modo sicuro. Non riprova con un segreto obsoleto.

Richieste Salewise

La chiave principale viene configurata una volta durante la configurazione del server. Ogni richiesta è firmata con essa; la firma non è un token bearer.

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

signature =
  HMAC-SHA256(masterKey, canonical);
  • Inviata come X-Sage-Signature con header timestamp e nonce.
  • Confrontata in tempo costante, con una finestra anti-replay.
  • Chiave principale mantenuta lato server e cifrata a riposo.
  • Mai restituita a un browser o scritta in un log.

Dati, ruoli e conservazione

Dati ridotti. Accesso limitato. Un registro.

L’assistente non ha bisogno di sapere chi è il cliente per rispondere a una domanda su un prodotto.

Una sessione registra

  • Un ID di sessione, il codice QR e il reparto che hanno avviato la sessione.
  • Le domande, le risposte e i consigli.
  • Gli eventi di passaggio a un operatore e i timestamp.

Nessun nome, account o dato carta. La demo non collega una sessione a un cliente identificato.

Chi può accedervi

  • Un account commerciante, limitato ai negozi collegati.
  • Un amministratore del server, per la configurazione e i provider.
  • Nessun accesso ai negozi di altri commercianti tramite le rotte del negozio.

Gli inviti sono vincolati a un’email e scadono dopo 7 giorni.

Per quanto tempo restano

  • Trascrizioni delle sessioni: configurate per 180 giorni.
  • Registri degli eventi: configurati per 365 giorni.
  • Termini specifici del commerciante: stabiliti nel DPA.

La cancellazione viene gestita su richiesta. Oggi non dichiariamo l’esecuzione di una cancellazione automatica pianificata.

Eventi di audit

Registrazione, accesso, accesso fallito, inviti, configurazione e modifiche alle credenziali di integrazione vengono scritti in un registro di audit. Le email sono sottoposte a hash nei dettagli di audit anziché conservate in chiaro. Il registro è interno oggi; non lo presentiamo come una schermata di audit per il commerciante.

Attribuzione

Il registro deve superare un audit.

Una vendita abbinata è esatta o modellata. Il commerciante può vedere quale delle due, e perché.

Deterministico

Un codice di riscatto portato dalla sessione alla vendita. Confidenza 1.0. Flag modellato: falso. La vendita è attribuita direttamente.

Modellato

Una vendita nello stesso negozio entro una finestra di due ore che contiene articoli consigliati. Viene salvato un punteggio di confidenza, con un limite massimo di 0.92, e la corrispondenza è etichettata come modellata ovunque venga riportata.

Le corrispondenze esatte sono esatte. Quelle modellate sono etichettate come modellate ovunque vengano riportate. L’abbonamento è l’unico costo e l’attribuzione non viene presentata come ricavo.

Limiti dichiarati

Cosa non dichiariamo.

La fiducia è più facile da verificare quando le lacune sono dichiarate.

Se un questionario richiede qualcosa di questa lista, dillo.

Preferiamo perdere l’accordo piuttosto che rispondere aggirando il problema.

  • 01

    Oggi non possediamo certificazioni SOC 2 o ISO 27001.

  • 02

    Oggi non abbiamo completato un penetration test o un audit di sicurezza indipendente.

  • 03

    Non dichiariamo un perimetro PCI DSS per i pagamenti con carta, perché non elaboriamo pagamenti con carta.

  • 04

    Nel prodotto attuale non addestriamo un modello condiviso sul catalogo o sulle conversazioni di un singolo commerciante.

  • 05

    Nessun sistema di IA è privo di rischi. L’ancoraggio riduce le invenzioni; non elimina la necessità di revisione da parte del commerciante e di regole di passaggio a un operatore.

  • 06

    Oggi non eseguiamo una cancellazione automatica pianificata della conservazione; la cancellazione è una procedura operativa prevista dal DPA.

  • 07

    Il nostro registro di audit è interno e non è esposto come schermata di audit per il commerciante.

  • 08

    Non promettiamo un livello di servizio in questa pagina; qualsiasi impegno sulla disponibilità è stabilito nel modulo d’ordine.

Divulgazione responsabile

Se ritieni di aver trovato una vulnerabilità, contatta support@salewise.co.uk con dettagli sufficienti a riprodurla. Non accedere ai dati di altri commercianti, non interrompere il servizio e non divulgare pubblicamente prima che abbiamo avuto modo di rispondere.

Domande sulla sicurezza

Fai la domanda scomoda.

Questionari di sicurezza, termini sul trattamento dei dati e domande sull’architettura sono benvenuti. Risponderemo su ciò che abbiamo e diremo ciò che non abbiamo.