NOVA per chi gestisce siti
Un cliente ti ha chiesto di aggiungere NOVA al suo sito. Ecco cosa fa il codice, quanto pesa, cosa salva nel browser e come si toglie. Se hai il link che ti ha mandato il cliente, lì trovi il codice già pronto e la verifica.
- Cosa aggiungi
- Quanto pesa
- Cosa salva nel browser del visitatore
- Cosa manda a NOVA
- Privacy
- Content Security Policy
- Come si toglie
- Come sai che ha funzionato
- Segui più attività?
Cosa aggiungi
Un solo tag <script async> che carica nova.js da https://widget.nova.navigoai.it, con la chiave pubblica dell’assistente:
<!-- NOVA chat widget -->
<script async src="https://widget.nova.navigoai.it/nova.js"
data-bot-id="CHIAVE_PUBBLICA"
data-api-origin="https://api.nova.navigoai.it"></script>Lo script registra il web component <nova-chat> e aggiunge un solo elemento in fondo al body, con gli stili chiusi nello shadow DOM: non tocca il CSS del sito, non carica jQuery né altri framework, non modifica il DOM esistente e non lascia variabili globali, a parte il segno di versione di Svelte (__svelte). Niente iframe, immagini o font. Va bene prima di </body> o nell’<head>, in tutte le pagine, anche tramite un tag manager come Google Tag Manager. Per WordPress e PrestaShop c’è anche un plugin, già collegato all’assistente del cliente.
Quanto pesa
Circa 30 KB compressi con gzip, 81 KB senza: la build si ferma se il file supera 50 KB compressi. Il caricamento è async: non blocca il rendering e non entra nel percorso critico; come ogni script async, ritarda solo l’evento load della pagina. Il pulsante della chat compare senza spostare il contenuto: CLS 0, misurato con Lighthouse su mobile e desktop, come la pagina senza widget. Tutta l’interfaccia è già in nova.js: aprire la chat non scarica nulla. Il browser tiene il file e alle pagine successive chiede solo se è cambiato.
Cosa salva nel browser del visitatore
Dal primo messaggio del visitatore, non prima, una voce in localStorage per assistente (nova:conv:<chiave pubblica>) con l’identificativo della conversazione e il suo segreto, così chi torna ritrova la chat; il widget la toglie quando trova la conversazione chiusa o eliminata. All’avvio scrive e cancella subito una voce di prova (__nova_probe__) per sapere se la memoria locale funziona. Nessun cookie, nessun tracciamento tra siti; niente sessionStorage, IndexedDB o service worker.
Cosa manda a NOVA
A ogni pagina lo script fa due chiamate a https://api.nova.navigoai.it con la sola chiave pubblica dell’assistente: una dice al titolare che l’installazione funziona (NOVA tiene solo l’origine della pagina, per esempio https://www.lequerce.example, che il browser aggiunge da sé, e l’ora), l’altra legge titolo, colore e messaggio di benvenuto della chat. Chi ha già scritto riprende la sua conversazione: lo script manda il suo identificativo e il segreto e riceve le risposte su una connessione che resta aperta mentre la pagina è visibile. Quando il visitatore scrive partono i suoi messaggi, sempre verso lo stesso indirizzo. Nessuna chiamata porta cookie.
Privacy
I dati sono conservati su server nell’Unione europea; il testo delle conversazioni è elaborato dai modelli di Anthropic e OpenAI negli Stati Uniti, con clausole contrattuali standard. Nel database NOVA non tiene indirizzo IP, browser o pagina del visitatore, solo i messaggi e i recapiti che lascia; il registro di accesso dell’API, come quello di ogni server web, annota l’indirizzo IP di ogni chiamata. L’avviso che si parla con un’intelligenza artificiale è attivo di serie. Il titolare trova in NOVA il testo da aggiungere alla propria informativa e l’accordo sul trattamento dei dati: tu non devi fare nulla.
Content Security Policy
Se il sito ha una CSP, servono:
script-src https://widget.nova.navigoai.it
connect-src https://api.nova.navigoai.it
style-src 'unsafe-inline'Nient’altro: niente wss:, img-src, font-src, frame-src o worker-src. Se la CSP ha già style-src, aggiungi 'unsafe-inline' a quella riga (basta anche in style-src-elem): serve ai blocchi di stile dello shadow DOM. Nessuno script inline, nessun eval. Se il sito usa Trusted Types con una lista trusted-types, aggiungi svelte-trusted-html.
Come si toglie
Rimuovi il tag (o disattiva il plugin). Sul sito non resta nulla; la voce in localStorage sparisce con la pulizia del browser del visitatore.
Come sai che ha funzionato
Apri il sito: in basso compare il pulsante della chat, nel colore dell’attività. Se è nel viola di NOVA, il sito blocca le chiamate a NOVA: controlla connect-src nella CSP. Nella pagina del link che ti ha mandato il cliente, la riga della verifica diventa verde da sola entro qualche secondo.
Segui più attività?
Stiamo preparando un modo per gestire più siti da un unico accesso e un accordo per chi porta clienti. Scrivici a info@navigoai.it con oggetto «Agenzia»: ti diciamo quando è pronto.
Domande tecniche: info@navigoai.it. Rispondiamo entro un giorno lavorativo.
NOVA