> ## 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.

# Session-Daten filtern

Jedes Mal, wenn eine Anfrage an eine Web-App gestellt wird, erfasst AppSignal die mit der Anfrage gesendeten Session-Daten für unterstützte Frameworks. Sessions enthalten Daten, die für Ihre Anwendung spezifisch sind, aber einige Abhängigkeiten, die eine App verwendet, können hier ebenfalls Daten speichern. Zum Beispiel: Wenn sich ein Benutzer anmeldet, werden einige Daten des angemeldeten Benutzers in einer Session gespeichert.

Sessions können sensible oder personenbezogene Informationen enthalten, die die App nicht verlassen sollten. Stellen Sie sicher, dass diese Daten herausgefiltert werden, bevor sie an die AppSignal-Server gesendet werden, sodass die App keine sensiblen Daten preisgibt.

<Tip>
  Lesen Sie mehr über die Session-Daten-Filterung und welche Arten von Session-Daten Sie filtern sollten in unserem [Session-Daten-Filterungs-Thema][session data filtering].
</Tip>

<Warning>
  🔐 Senden Sie keine <strong>personenbezogenen Daten (Personal Identifiable Information, PII)</strong> an AppSignal. Filtern Sie PII (z. B. Namen, E-Mail-Adressen) und verwenden Sie stattdessen eine ID, einen Hash oder einen pseudonymisierten Bezeichner. <br /> <br /> Für <strong>HIPAA-pflichtige Stellen</strong> finden Sie weitere Informationen zum Abschluss eines Business Associate Agreement (BAA) in unserer <a href="/support/business-add-ons">Business Add-Ons-Dokumentation</a>.
</Warning>

## Session-Daten-Filterung

Die grundlegende Session-Daten-Filterung in den AppSignal-Integrationen funktioniert mit einer Denylist, einer Liste von Schlüsseln, die herausgefiltert und nicht gesendet werden sollen. In den Integrationen ist es möglich, in der AppSignal-Konfiguration eine Option "Session-Daten filtern" mit einer Liste der zu filternden Session-Datenschlüssel zu setzen.

Alle Session-Datenwerte, die durch diese Systeme herausgefiltert werden, werden durch einen `[FILTERED]`-Wert ersetzt. Auf diese Weise enthält die Liste der Session-Daten in den App-Daten auf AppSignal.com weiterhin den Session-Datenschlüssel, aber nicht den Wert. So ist es einfacher zu sehen, dass ein Wert gesendet wurde, die potenziell sensiblen Daten jedoch herausgefiltert wurden.

### Beispiel

Zum Beispiel führt eine Anwendung mit dieser AppSignal-Konfiguration:

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

Zu dieser Ansicht für die Session-Daten einer Web-Anfrage auf AppSignal.com:

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

Dieser Leitfaden zeigt Ihnen, wie Sie die Session-Filterungs-Denylist Ihrer Anwendung basierend auf der von Ihrer Anwendung verwendeten Sprache konfigurieren:

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

## Ruby

In der Ruby-Integration speichert AppSignal den Inhalt der Benutzersitzung für Rails-Apps und andere Frameworks automatisch. Bestimmte Werte können herausgefiltert werden, oder sie kann [vollständig deaktiviert][disabled entirely] werden.

In der Session-Daten-Filterung gibt es Unterstützung für verschachtelte Hashes und verschachtelte Hashes in Arrays. Jeder Hash, dem wir in Ihren Session-Daten begegnen, wird gefiltert.

Um diese Filterung zu verwenden, fügen Sie Folgendes zu Ihrer `config/appsignal.yml`-Datei in der Umgebungsgruppe hinzu, in der sie gelten soll. Der [`filter_session_data`](/ruby/configuration/options#option-filter_session_data)-Wert ist ein Array von Strings.

<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

In der Elixir-Integration speichert AppSignal den Inhalt der Benutzersitzung für Phoenix-Apps automatisch. Bestimmte Werte können herausgefiltert werden, oder sie kann [vollständig deaktiviert][disabled entirely] werden.

In der Session-Daten-Filterung gibt es Unterstützung für verschachtelte Hashes und verschachtelte Hashes in Arrays. Jeder Hash, dem wir in Ihren Session-Daten begegnen, wird gefiltert.

Um diese Filterung zu verwenden, fügen Sie Folgendes zu Ihrer `config/appsignal.exs`-Datei hinzu. Der [`filter_session_data`](/elixir/configuration/options#option-filter_session_data)-Wert ist ein Array von Strings.

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

## Node.js

Wenn eine Anfrage Session-Daten am Sample speichert, verwenden Sie den Session-Daten-Filter, um alle Daten herauszufiltern, die Sie nicht einbeziehen möchten.

In der Session-Daten-Filterung gibt es Unterstützung für verschachtelte Hashes und verschachtelte Hashes in Arrays. Jeder Hash, dem wir in Ihren Session-Daten begegnen, wird gefiltert.

Um diese Filterung zu verwenden, verwenden Sie die [`filterSessionData`](/nodejs/3.x/configuration/options#option-filtersessiondata)-Konfigurationsoption, um auszuwählen, welche Session-Datenschlüssel herausgefiltert werden sollen.

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

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

## Python

Wenn eine Anfrage Session-Daten am Sample speichert, verwenden Sie den Session-Daten-Filter, um alle Daten herauszufiltern, die Sie nicht einbeziehen möchten.

In der Session-Daten-Filterung gibt es Unterstützung für verschachtelte Hashes und verschachtelte Dictionaries in Listen. Jedes Dictionary, dem wir in Ihren Session-Daten begegnen, wird gefiltert.

Um diese Filterung zu verwenden, verwenden Sie die [`filter_session_data`](/python/configuration/options#option-filter_session_data)-Konfigurationsoption, um auszuwählen, welche Session-Datenschlüssel herausgefiltert werden sollen.

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

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

## Go

Wenn eine Anfrage Session-Daten am Sample speichert, verwenden Sie den Session-Daten-Filter, um alle Daten herauszufiltern, die Sie nicht einbeziehen möchten.

In der Session-Daten-Filterung gibt es Unterstützung für verschachtelte Slices und verschachtelte Maps. Jede Map, der wir in Ihren Session-Daten begegnen, wird gefiltert.

Verwenden Sie die [`filter_request_session_data`-Denylist](/go/configuration/options#option-filter_request_session_data) für die Filterung von Request-Session-Daten. Setzen Sie die [`send_request_session_data`-Option](/go/configuration/options#option-send_request__session_data) auf `false`, um überhaupt keine Request-Session-Daten zu senden.

Weitere Informationen zur Konfiguration von OpenTelemetry für Go-Apps finden Sie auf der [Go-Konfigurationsseite](/go/configuration/options).

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

## Java

Wenn eine Anfrage Session-Daten am Sample speichert, verwenden Sie den Session-Daten-Filter, um alle Daten herauszufiltern, die Sie nicht einbeziehen möchten.

In der Session-Daten-Filterung gibt es Unterstützung für verschachtelte Maps und Arrays. Jede Map, der in Ihren Session-Daten begegnet wird, wird gefiltert.

Verwenden Sie die [`filter_request_session_data`](/java/configuration/options#option-filter_request_session_data)-Denylist für die Filterung von Session-Daten. Setzen Sie die [`send_request_session_data`-Option](/java/configuration/options#option-send_request_session_data) auf `false`, um keine Session-Daten zu senden.

Weitere Informationen zur Konfiguration von OpenTelemetry für Java-Apps finden Sie auf der [Java-Konfigurationsseite](/java/configuration/options).

<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

Wenn eine Anfrage Session-Daten am Sample speichert, verwenden Sie den Session-Daten-Filter, um alle Daten herauszufiltern, die Sie nicht einbeziehen möchten.

In der Session-Daten-Filterung gibt es Unterstützung für verschachtelte Arrays. Jedes Array, dem in Ihren Session-Daten begegnet wird, wird gefiltert.

Verwenden Sie die [`filter_request_session_data`][php filter_request_session_data]-Denylist für die Filterung von Session-Daten. Setzen Sie die [`send_request_session_data`][php send_request_session_data]-Option auf `false`, um keine Session-Daten zu senden.

<CodeGroup>
  ```php PHP theme={null}
  return [
      'filter_request_session_data' => ['name', 'email', 'api_token', 'token'],
      // ... andere Optionen
  ];
  ```
</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
