NudgeDocs
Installation

Content Security Policy (CSP)

Si votre site envoie une Content-Security-Policy, autorisez https://app.asknudge.ai dans script-src, connect-src et frame-src, et autorisez les styles inline.

Quand cette page vous concerne

Seulement si votre site envoie une Content Security Policy (CSP), soit en en-tête HTTP Content-Security-Policy, soit en balise <meta http-equiv="Content-Security-Policy"> dans la page. Sans politique, le widget n’a besoin de rien d’autre que du snippet.

Quand Nudge détecte une politique qui bloque le widget, le statut d’installation affiche Bloqué par la CSP, avec les sources exactes à ajouter à chaque directive et un bouton Copier toutes les directives.

Une seule origine à autoriser

Tout ce que le widget charge sur votre page vient d’une seule origine : https://app.asknudge.ai. Aucun CDN, aucun hébergeur de polices, aucun domaine tiers n’est chargé sur votre page.

Les directives

DirectiveÀ ajouterPourquoi
script-srchttps://app.asknudge.aiLe snippet (/widget/loader.js) et le code du widget qu’il charge (/widget/r/…/runtime.js, ou /widget/runtime.js).
connect-srchttps://app.asknudge.aiLes réglages du widget, lus à chaque chargement de page, les créneaux disponibles et le signal de visite qui permet à Nudge de détecter l’installation.
frame-srchttps://app.asknudge.aiLe chat, le pop-up et le formulaire de RDV s’ouvrent dans une iframe.
style-src'unsafe-inline'Le widget ajoute un élément <style> à la page pour positionner la barre et le pop-up. Sans cela, le widget se charge mais n’est pas positionné.

Si une directive existe déjà dans votre politique, ajoutez-y la source. Ne remplacez pas vos sources existantes.

Quelle directive s’applique

Les navigateurs remontent de la directive la plus précise à la plus générale. La première présente dans votre politique est celle qui compte : c’est là que la source doit aller.

RequêteDirectives consultées, dans l’ordre
Scriptsscript-src-elem, puis script-src, puis default-src
Connexionsconnect-src, puis default-src
Iframesframe-src, puis child-src, puis default-src
Stylesstyle-src-elem, puis style-src, puis default-src

Par exemple, si votre politique contient script-src-elem, ajouter Nudge à script-src ne change rien : ajoutez-le à script-src-elem.

Exemple

Une politique qui autorise Nudge, fusionnée dans une politique existante typique :

Content-Security-Policy:
  default-src 'self';
  script-src 'self' https://app.asknudge.ai;
  connect-src 'self' https://app.asknudge.ai;
  frame-src https://app.asknudge.ai;
  style-src 'self' 'unsafe-inline'

Fusionnez ces valeurs dans votre propre politique plutôt que de copier celle-ci : gardez les sources dont votre site a déjà besoin (statistiques, polices, paiement…).

Cas particuliers

Cloudflare Turnstile

Le chat vérifie qu’il parle à un vrai visiteur avec Cloudflare Turnstile. Cette vérification s’exécute dans l’iframe Nudge, sous la politique de Nudge. Votre site n’a pas besoin d’autoriser challenges.cloudflare.com pour le widget. Ne l’autorisez que si vos propres pages utilisent Turnstile.

Il en va de même pour tout le reste du chat (polices, images) : tout se charge dans l’iframe et ne dépend pas de votre politique.

Trouver votre politique actuelle

  1. Ouvrez votre site, puis les outils de développement du navigateur.
  2. La Console nomme ce qui est bloqué : cherchez les messages Refused to load…, Refused to connect… ou Refused to frame… qui citent app.asknudge.ai.
  3. L’onglet Réseau montre les en-têtes de réponse de la page : cherchez Content-Security-Policy.
  4. Le code source de la page peut contenir une balise <meta http-equiv="Content-Security-Policy">.

L’en-tête est en général posé par votre serveur, votre hébergeur, un CDN ou un proxy placé devant votre site, ou une extension de sécurité. Sur Framer, voir Content Security Policy sur Framer.

Tester sans rien casser

  1. Envoyez d’abord la nouvelle politique en Content-Security-Policy-Report-Only. Le navigateur signale ce qu’il bloquerait, sans le bloquer.
  2. Ouvrez une page avec le widget et la console. Cherchez les messages qui concernent app.asknudge.ai.
  3. Plus aucun message : repassez l’en-tête en Content-Security-Policy.

La vérification d’installation de Nudge ignore Content-Security-Policy-Report-Only, puisque cet en-tête ne bloque rien.

Revérifier

Une fois votre site publié avec la nouvelle politique, cliquez dans Nudge sur Revérifier l’installation. Le statut passe de Bloqué par la CSP à En ligne dès qu’une page de votre site a chargé le widget. Voir Vérifier l’installation.

Sur cette page