# Tag Firewall

{% hint style="info" %}
TagFirewall est une extension payante qui peut être installée avec Commanders Act TMS ou exécutée en mode autonome. Veuillez contacter un consultant ou un account manager Commanders Act pour l’activer.
{% endhint %}

## Vue d'ensemble

TagFirewall bloque en temps réel les tags non autorisés (domains). Cela peut par exemple aider à bloquer et à réduire le risque de piggybacking tags. TagFirewall est hautement dynamique et peut donc enrichir une configuration Content Security Policy (CSP) existante pour résoudre en quelques minutes des problèmes critiques liés aux tags, ou remplacer entièrement le besoin d’une Content Security Policy (CSP). TagFirewall propose deux modes :

### Blacklist Mode

Ce mode bloque la communication des tags avec une liste configurable de domains. La communication avec tous les autres domains reste autorisée.

### Whitelist Mode

Ce mode bloque la communication des tags avec tous les domains, sauf une whitelist configurée.

## Configuration

### Commanders Act

TagFirewall peut être configuré à l’aide du tag template "Commanders Act - TagFirewall" dans la tag library de Commanders Act TMS.

| Option                | Description                                                                                                                                                                   |
| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Mode**              | Permet de sélectionner le mode Blacklist ou Whitelist.                                                                                                                        |
| **Blacklist domains** | Domains qui doivent être blacklistés. Encadrés par `"` et et séparés par`,` . (*Uniquement pour Blacklist Mode*)                                                              |
| **Internal domains**  | Domains des tags qui doivent être whitelistés. Encadrés par `"` et et séparés par`,` . (*Uniquement pour Whitelist Mode*)                                                     |
| **Tag domains**       | Internal domains (domain dont le site web a besoin pour fonctionner) qui doivent être whitelistés. Encadrés par `"` et et séparés par`,` . (*Uniquement pour Whitelist Mode*) |
| **Check SSL**         | Cette option permet de bloquer tous les `http` script hits (elle n’autorisera que les `https` script hits).                                                                   |

<figure><img src="/files/fd3000691209f1eafbf2bed89fd5f647b87f7c81" alt=""><figcaption><p>Exemple d’une configuration TagFirewall.</p></figcaption></figure>

### Standalone

TagFirewall peut être configuré à l’aide d’un tag JavaScript personnalisé pour toutes les autres installations. Le tag propose les options suivantes.

| Option                     | Description                                                                                                                                         |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| **\<whitelist\_tags>**     | Tableau de domains utilisés par des tags qui ne doivent pas être bloqués. (*Uniquement pour Whitelist Mode*)                                        |
| **\<whitelist\_internal>** | Tableau de internal domains (domain dont le site web a besoin pour fonctionner) qui ne doivent pas être bloqués. (*Uniquement pour Whitelist Mode*) |
| **\<blacklist\_tags>**     | Tableau de domains utilisés par des tags qui doivent être blacklistés. (*Uniquement pour Blacklist Mode*)                                           |
| **\<active\_flag>**        | Cette option active TagFirewall. Définir sur `true` pour activer TagFirewall.                                                                       |
| **\<check\_ssl>**          | Cette option permet de bloquer tous les `http` script hits (elle n’autorisera que les `https` script hits). Définir sur `true` pour l’activer.      |
| **\<script\_url>**         | URL du fichier JavaScript de la bibliothèque TagFirewall. Cette URL sera fournie par un Consultant ou un Account Manager Commanders Act.            |

{% tabs %}
{% tab title="Blacklist Mode" %}

```markup
<script>
tC = tC || {};
tC.tagFirewall = tC.tagFirewall || {};

tC.tagFirewall.list = {
    "blacklist": {
        "tags": <blacklist_tags>
    }
};

tC.tagFirewall.checkSSL = <check_ssl>;
tC.tagFirewall.blocked  = <active_flag>;  
</script>
<script src="<script_url>"></script>
```

{% endtab %}

{% tab title="Whitelist Mode" %}

```markup
<script>
tC = tC || {};
tC.tagFirewall = tC.tagFirewall || {};

tC.tagFirewall.list = {
    "whitelist": {
        "internal": <whitelist_internal>,
        "tags": <whitelist_tags>
    }
};

tC.tagFirewall.checkSSL = <check_ssl>;
tC.tagFirewall.blocked  = <active_flag>; 
</script>
<script src="<script_url>"></script> 
```

{% endtab %}
{% endtabs %}

#### Exemples

{% tabs %}
{% tab title="Blacklist Mode" %}

```markup
<script>
tC = tC || {};
tC.tagFirewall = tC.tagFirewall || {};

tC.tagFirewall.list = {
    "blacklist": {
        "tags": ["bad-domain1.com", "bad-domain2.com"]
    }
};

tC.tagFirewall.checkSSL = true;
tC.tagFirewall.blocked  = true;  
</script>
<script src="<script_url>"></script>
```

{% endtab %}

{% tab title="Whitelist Mode" %}

```markup
<script>
tC = tC || {};
tC.tagFirewall = tC.tagFirewall || {};

tC.tagFirewall.list = {
    "whitelist": {
        "internal": ["cdn.yourdomain.com", "cdn.yourdomain2.com"],
        "tags": ["facebook.com","twitter.com"]
    }
};

tC.tagFirewall.checkSSL = true;
tC.tagFirewall.blocked  = true;
</script>
<script src="<script_url>"></script>
```

{% endtab %}
{% endtabs %}

{% hint style="warning" %}
Le tag doit être inclus dans le `<head>` de votre document. Il ne peut bloquer que les tags chargés **après** le tag TagFirewall et le fichier JavaScript de la bibliothèque.
{% endhint %}


---

# 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://doc.commandersact.com/fr/fonctionnalites/consent-management/extensions/tag-firewall.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.
