# Content Security Policy (CSP)

### ✅ Pourquoi ma CMP ne s'affiche pas sur mon site ?

Si votre Consent Management Platform (CMP) ne s'affiche pas, il y a de fortes chances qu'elle soit bloquée par votre politique de sécurité des contenus (**Content Security Policy - CSP**).

La CSP est une mesure de sécurité qui restreint le chargement de scripts externes. Si votre site n'a pas explicitement autorisé le domaine de la CMP, elle ne pourra tout simplement pas se charger.

### ⚙ Comment corriger ce problème ?

Bonne nouvelle : il suffit d'ajouter le domaine de la CMP à votre liste blanche (**whitelist**) dans votre CSP. Voici comment faire :

#### 2. Modifier votre CSP

Ajoutez l'URL de la CMP dans votre politique de sécurité. Exemple d'ajout dans l'en-tête HTTP :

```
Content-Security-Policy: script-src 'self' https://*.consentframework.com;
```

**Ajouter les images inline si nécessaire (optionnel)**

Certaines CMP (dont celle de Sirdata) peuvent utiliser des images encodées en base64 (`data:image/...`) pour afficher des icônes ou des logos. Si ces images sont bloquées, vous verrez une erreur similaire à :

```
Refused to load the image 'data:image/png;base64,...' because it violates the Content Security Policy...
```

Pour corriger cela, vous pouvez élargir votre politique CSP en ajoutant la directive suivante :

**Exemple :**

```http
Content-Security-Policy: 
  script-src 'self' https://*.consentframework.com;
  img-src 'self' data: https:;
```

💡 Cela autorise uniquement les images encodées en base64 dans les balises `<img>`, sans affaiblir significativement la sécurité de votre site.

**ATTENTION !** Ne supprimez pas vos CSP actuels, vous devez simplement ajouter les nouvelles règles.

#### 3. Tester et valider

Après modification, rechargez votre page (Ctrl + Shift + R) et vérifiez que la CMP s'affiche bien. Vous pouvez aussi réexaminer la console pour voir si les erreurs CSP ont disparu.

### 🌟 TL;DR

* **Votre CMP est bloquée** ✖ par votre politique de sécurité (CSP)
* **Solution : ajouter son domaine** ✔ à la liste blanche
* **Où ?** Dans l'en-tête HTTP de votre site
* **Testez, rechargez, profitez !** 🚀

Si vous avez un doute, envoyez à votre développeur cette FAQ (il va comprendre tout de suite). Besoin d’aide ? On est là pour vous ! 💡


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://cmp.docs.sirdata.net/faq/content-security-policy-csp.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
