For the complete documentation index, see llms.txt.

Content Security Policy (CSP)

Si votre site utilise une Content Security Policy (CSP), vous devez autoriser les sources utilisées par le Tag Contentsquare pour qu'il puisse collecter des données.

Les directives requises sont détaillées par produit. Chaque section présente la politique CSP complète pour ce produit, fondée sur la politique de base Experience Analytics et mettant en évidence les directives qui lui sont spécifiques.

Les directives de la politique de base constituent le socle de votre configuration Contentsquare. Elles permettent au tag principal de s'installer et de se charger, et activent les fonctionnalités essentielles telles que la collecte de données, le Session Replay et la gestion des ressources statiques :

Content-Security-Policy: script-src 'unsafe-inline' *.contentsquare.net; img-src *.contentsquare.net; connect-src *.contentsquare.net *.contentsquare.com
DirectiveCe qu'elle autoriseCe qui ne fonctionne plus sans elle
script-src *.contentsquare.netLe chargement du tag Contentsquare et des scripts hébergés par Contentsquare qu'il charge à l'exécution (par exemple le widget Voice of Customer)Le tag ne se charge pas — rien n'est collecté
script-src 'unsafe-inline'L'exécution du snippet d'installation inline et de tout code d'implémentation personnalisé que vous ajoutez dans une balise <script> (par exemple pour déclencher des pages vues artificielles, définir des variables personnalisées ou pousser des événements)Le snippet d'installation et votre code d'implémentation inline sont bloqués — le tag ne s'initialise pas
img-src *.contentsquare.netL'envoi des données collectées via des requêtes pixel (image)Les données collectées ne sont pas envoyées à Contentsquare
connect-src *.contentsquare.net *.contentsquare.comL'envoi des données via XMLHttpRequest/fetch, ainsi que la vérification du tag (*.contentsquare.com)Les données ne sont pas envoyées et la vérification du tag échoue

Pourquoi script-src 'unsafe-inline' est requis

Section titled Pourquoi script-src &#39;unsafe-inline&#39; est requis

La directive 'unsafe-inline' est incluse dans notre politique de base pour tenir compte de la façon dont le tag est intégré à votre site, et non de son fonctionnement à l'exécution. Le tag Contentsquare lui-même n'injecte aucun script inline et n'utilise aucun gestionnaire d'événement inline. L'exigence provient plutôt de deux points d'intégration :

  • Snippet d'installation : lorsque le tag est ajouté directement à votre HTML sous forme de bloc <script> inline.
  • Code d'implémentation personnalisé : lorsque des scripts inline gèrent des événements personnalisés, déclenchent des pages vues artificielles ou définissent des variables personnalisées.

Supprimer 'unsafe-inline' pour les CSP strictes

Section titled Supprimer &#39;unsafe-inline&#39; pour les CSP strictes

Si votre organisation applique une CSP stricte et souhaite supprimer 'unsafe-inline', déplacez le snippet d'installation du tag Contentsquare et le code d'implémentation associé dans un fichier externe, ou sécurisez-les avec un nonce CSP.

Comme la meilleure approche dépend de l'architecture de votre site et de vos outils de déploiement, sa configuration sort du cadre de cette documentation. Vous devriez examiner le workflow de déploiement de votre site avec votre équipe d'ingénierie pour déterminer la meilleure marche à suivre.

La mise en place du tracking cross-domaine n'introduit pas d'exigence 'unsafe-inline'. Comme l'iframe cross-domaine constitue une origine distincte, elle est régie par sa propre politique de sécurité.

Pour activer cette fonctionnalité, ajoutez la directive frame-src pointant vers csxd.<domaine>.

Ajoutez ces directives uniquement si vous utilisez la fonctionnalité correspondante :

FonctionnalitéÀ ajouter à votre CSPCe qui ne fonctionne plus sans elle
Tracking cross-domaineframe-src csxd.<domaine> — une entrée par hôte cross-domaine, par exemple frame-src csxd.domain1.com csxd.domain2.com. Si vous utilisez l'iframe unique hébergée par Contentsquare, ajoutez plutôt frame-src csxd.contentsquare.net.Les sessions ne sont pas reliées entre vos domaines
Zoning / snapshot depuis l'application Contentsquarescript-src app.contentsquare.comLes utilisateurs Contentsquare ne peuvent pas créer de zoning ou de snapshot depuis l'application. Aucun impact sur la collecte des données des visiteurs.

Voice of Customer inclut la politique de base et style-src 'unsafe-inline' :

Content-Security-Policy: script-src 'unsafe-inline' *.contentsquare.net; img-src *.contentsquare.net; connect-src *.contentsquare.net *.contentsquare.com; style-src 'unsafe-inline'
DirectiveCe qu'elle autoriseCe qui ne fonctionne plus sans elle
style-src 'unsafe-inline'Voice of Customer applique des styles en ligne lors du rendu d'un sondageLes sondages s'affichent sans leur mise en forme

Product Analytics introduit deux composants d'intégration :

  • SDK Heap (heap.js) : chargé sur vos pages par le tag Contentsquare lorsque votre projet est configuré pour charger également Heap, et servi depuis *.heap-api.com. Si votre projet n'est pas configuré pour charger le SDK Heap, ces hôtes ne sont pas nécessaires.
  • Visual Labeler : chargé uniquement lorsque votre site est ouvert dans l'application Contentsquare pour le tagging d'événements, et servi depuis heapanalytics.com.

La politique Product Analytics inclut la politique de base et les directives suivantes :

  • 'unsafe-eval' : requise uniquement par le Visual Labeler pour le tagging d'événements dans l'application — jamais par le tag principal, ni pour la collecte de données des visiteurs. Elle ne s'applique que lorsqu'un utilisateur Contentsquare a votre site ouvert dans l'application.
  • app.contentsquare.com : le Visual Labeler s'exécute dans l'application Contentsquare, la directive optionnelle app.contentsquare.com s'applique donc également.
Content-Security-Policy: script-src 'unsafe-inline' *.contentsquare.net 'unsafe-eval' https://cdn.us.heap-api.com https://heapanalytics.com; img-src *.contentsquare.net https://heapanalytics.com; connect-src *.contentsquare.net *.contentsquare.com https://c.us.heap-api.com https://heapanalytics.com; style-src https://heapanalytics.com; font-src https://heapanalytics.com
DirectiveCe qu'elle autoriseCe qui ne fonctionne plus sans elle
script-src https://cdn.us.heap-api.comLe chargement du script de configuration Heap heap_config.js et du script du SDK Heap heap.jsLe SDK Heap ne se charge pas
script-src https://heapanalytics.comLe chargement du script du Visual LabelerLe Visual Labeler ne se charge pas
script-src 'unsafe-eval'Le rendu du Visual LabelerLe Visual Labeler ne s'affiche pas
img-src https://heapanalytics.comLe chargement des ressources d'images du Visual LabelerLes ressources d'images du Visual Labeler ne se chargent pas
connect-src https://c.us.heap-api.comL'envoi des événements par le SDK HeapLes événements du SDK Heap ne sont pas envoyés
connect-src https://heapanalytics.comLa récupération des paramètres d'environnement par le Visual LabelerLe Visual Labeler ne peut pas récupérer les paramètres d'environnement
style-src https://heapanalytics.comLe chargement des feuilles de style du Visual LabelerLe Visual Labeler s'affiche sans sa mise en forme
font-src https://heapanalytics.comLe chargement des polices personnalisées du Visual LabelerLe Visual Labeler utilise les polices par défaut