> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Filtrer les données de session

Chaque fois qu'une requête est effectuée sur une application web, AppSignal collecte les données de session envoyées avec la requête pour les frameworks pris en charge. Les sessions contiennent des données spécifiques à votre application, mais certaines dépendances qu'une application utilise peuvent également y stocker des données. Par exemple : lorsqu'un utilisateur se connecte, certaines données de l'utilisateur connecté sont stockées dans une session.

Les sessions peuvent contenir des informations sensibles ou personnellement identifiables qui ne devraient pas quitter l'application. Assurez-vous que ces données sont filtrées avant d'être envoyées aux serveurs AppSignal, ainsi l'application ne fuite aucune donnée sensible.

<Tip>
  En savoir plus sur le filtrage des données de session et les types de
  données de session pour lesquels configurer le filtrage dans notre [rubrique
  filtrage des données de session][session data filtering].
</Tip>

<Warning>
  🔐 N'envoyez pas d'<strong>informations personnelles identifiables (PII)</strong> à AppSignal. Filtrez les PII (par exemple, noms, e-mails) et utilisez un identifiant, un hash ou un identifiant pseudonymisé à la place. <br /> <br /> Pour les <strong>entités couvertes par la HIPAA</strong>, plus d'informations sur la signature d'un Business Associate Agreement (BAA) sont disponibles dans notre <a href="/support/business-add-ons">documentation Business Add-Ons</a>.
</Warning>

## Filtrage des données de session

Le filtrage de base des données de session dans les intégrations AppSignal fonctionne avec une liste de blocage, une liste de clés à filtrer et à ne pas envoyer. Dans les intégrations, il est possible de définir une option « filter session data » dans la configuration AppSignal avec une liste de clés de données de session à filtrer.

Toutes les valeurs de données de session filtrées par ces systèmes seront remplacées par une valeur `[FILTERED]`. De cette façon, la liste des données de session dans les données de l'application sur AppSignal.com inclut toujours la clé des données de session, mais pas la valeur. Cela permet de voir plus facilement qu'une valeur a été envoyée, mais que les données potentiellement sensibles ont été filtrées.

### Exemple

Par exemple, une application avec cette configuration AppSignal :

<CodeGroup>
  ```yaml YAML theme={null}
  filter_session_data: ["password"]
  ```
</CodeGroup>

Donne cette vue pour les données de session d'une requête web sur AppSignal.com :

<CodeGroup>
  ```json JSON theme={null}
  {
    "password": "[FILTERED]"
  }
  ```
</CodeGroup>

Ce guide vous montrera comment configurer la liste de blocage de filtrage de session de votre application en fonction du langage qu'elle utilise :

* [Ruby](#ruby)
* [Elixir](#elixir)
* [Node.js](#nodejs)
* [Python](#python)
* [Go](#go)
* [Java](#java)
* [PHP](#php)

## Ruby

Dans l'intégration Ruby, AppSignal stocke automatiquement le contenu de la session de l'utilisateur pour les applications Rails et autres frameworks. Des valeurs spécifiques peuvent être filtrées ou cela peut être [entièrement désactivé][disabled entirely].

Dans le filtrage des données de session, les hashes imbriqués et les hashes imbriqués dans des arrays sont pris en charge. Tout hash que nous rencontrons dans vos données de session sera filtré.

Pour utiliser ce filtrage, ajoutez ce qui suit à votre fichier `config/appsignal.yml` dans le groupe d'environnement où vous souhaitez l'appliquer. La valeur [`filter_session_data`](/ruby/configuration/options#option-filter_session_data) est un tableau de chaînes.

<CodeGroup>
  ```ruby Ruby theme={null}
  Appsignal.configure do |config|
    config.filter_session_data += ["name", "email", "api_token", "token"]
  end
  ```

  ```yaml YAML theme={null}
  production:
    filter_session_data:
      - name
      - email
      - api_token
      - token
  ```
</CodeGroup>

## Elixir

Dans l'intégration Elixir, AppSignal stocke automatiquement le contenu de la session de l'utilisateur pour les applications Phoenix. Des valeurs spécifiques peuvent être filtrées ou cela peut être [entièrement désactivé][disabled entirely].

Dans le filtrage des données de session, les hashes imbriqués et les hashes imbriqués dans des arrays sont pris en charge. Tout hash que nous rencontrons dans vos données de session sera filtré.

Pour utiliser ce filtrage, ajoutez ce qui suit à votre fichier `config/appsignal.exs`. La valeur [`filter_session_data`](/elixir/configuration/options#option-filter_session_data) est un tableau de chaînes.

<CodeGroup>
  ```elixir Elixir theme={null}
  config :appsignal, :config,
    filter_session_data: ["name", "email", "api_token", "token"]
  ```
</CodeGroup>

## Node.js

Si une requête stocke des données de session sur l'échantillon, utilisez le filtre de données de session pour filtrer les données que vous ne souhaitez pas inclure.

Dans le filtrage des données de session, les hashes imbriqués et les hashes imbriqués dans des arrays sont pris en charge. Tout hash que nous rencontrons dans vos données de session sera filtré.

Pour utiliser ce filtrage, utilisez l'option de configuration [`filterSessionData`](/nodejs/3.x/configuration/options#option-filtersessiondata) pour sélectionner les clés de données de session à filtrer.

<CodeGroup>
  ```javascript Node.js theme={null}
  const { Appsignal } = require("@appsignal/nodejs");

  new Appsignal({
    // Other config options
    filterSessionData: ["name", "email", "api_token", "token"],
  });
  ```
</CodeGroup>

## Python

Si une requête stocke des données de session sur l'échantillon, utilisez le filtre de données de session pour filtrer les données que vous ne souhaitez pas inclure.

Dans le filtrage des données de session, les hashes imbriqués et les dictionnaires imbriqués dans des listes sont pris en charge. Tout dictionnaire que nous rencontrons dans vos données de session sera filtré.

Pour utiliser ce filtrage, utilisez l'option de configuration [`filter_session_data`](/python/configuration/options#option-filter_session_data) pour sélectionner les clés de données de session à filtrer.

<CodeGroup>
  ```python Python theme={null}
  from appsignal import Appsignal

  appsignal = Appsignal(
      # Other config
      filter_session_data: ["name", "email", "api_token", "token"]
  )
  ```
</CodeGroup>

## Go

Si une requête stocke des données de session sur l'échantillon, utilisez le filtre de données de session pour filtrer les données que vous ne souhaitez pas inclure.

Dans le filtrage des données de session, les slices imbriquées et les maps imbriquées sont pris en charge. Toute map que nous rencontrons dans vos données de session sera filtrée.

Utilisez la [liste de blocage `filter_request_session_data`](/go/configuration/options#option-filter_request_session_data) pour le filtrage des données de session de requête. Définissez l'[option `send_request_session_data`](/go/configuration/options#option-send_request__session_data) sur `false` pour ne pas envoyer du tout de données de session de requête.

Consultez la [page de configuration Go](/go/configuration/options) pour plus d'informations sur la façon de configurer OpenTelemetry pour les applications Go.

<CodeGroup>
  ```go Go theme={null}
  res := resource.NewWithAttributes(
  	attribute.StringSlice("appsignal.config.filter_session_data", []string{"password", "cvv"}),
  )
  ```
</CodeGroup>

## Java

Si une requête stocke des données de session sur l'échantillon, utilisez le filtre de données de session pour filtrer les données que vous ne souhaitez pas inclure.

Dans le filtrage des données de session, les maps et tableaux imbriqués sont pris en charge. Toute map rencontrée dans vos données de session sera filtrée.

Utilisez la liste de blocage [`filter_request_session_data`](/java/configuration/options#option-filter_request_session_data) pour le filtrage des données de session. Définissez l'[option `send_request_session_data`](/java/configuration/options#option-send_request_session_data) sur `false` pour éviter d'envoyer des données de session.

Consultez la [page de configuration Java](/java/configuration/options) pour plus d'informations sur la façon de configurer OpenTelemetry pour les applications Java.

<CodeGroup>
  ```bash Bash theme={null}
  function encode() {
    echo -n "$@" | sed 's/,/%2C/g'
  }

  export OTEL_RESOURCE_ATTRIBUTES="\
    appsignal.config.filter_request_session_data=$(encode "name,email,api_token,token"),\
    ..."
  ```
</CodeGroup>

## PHP

Si une requête stocke des données de session sur l'échantillon, utilisez le filtre de données de session pour filtrer les données que vous ne souhaitez pas inclure.

Dans le filtrage des données de session, les arrays imbriqués sont pris en charge. Tout array rencontré dans vos données de session sera filtré.

Utilisez la liste de blocage [`filter_request_session_data`][php filter_request_session_data] pour le filtrage des données de session. Définissez l'option [`send_request_session_data`][php send_request_session_data] sur `false` pour éviter d'envoyer des données de session.

<CodeGroup>
  ```php PHP theme={null}
  return [
      'filter_request_session_data' => ['name', 'email', 'api_token', 'token'],
      // ... other options
  ];
  ```
</CodeGroup>

[session data filtering]: /application/session-data-filtering.html

[disabled entirely]: /application/session-data-filtering.html#filter-all-session-data

[php filter_request_session_data]: /php/configuration/options.html#option-filter_request_session_data

[php send_request_session_data]: /php/configuration/options.html#option-send_request_session_data
