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

# Filtrar dados de sessão

Toda vez que uma requisição é feita em um app web, o AppSignal coleta os dados de sessão que foram enviados com a requisição para frameworks suportados. As sessões contêm dados específicos do seu aplicativo, mas algumas dependências que um app usa também podem armazenar dados aqui. Por exemplo: quando um usuário faz login, alguns dados do usuário que está logado são armazenados em uma sessão.

As sessões podem conter informações sensíveis ou identificáveis pessoalmente que não devem sair do app. Certifique-se de que esses dados sejam filtrados antes de serem enviados aos servidores do AppSignal; dessa forma, o app não vaza nenhum dado sensível.

<Tip>
  Leia mais sobre filtragem de dados de sessão e quais tipos de dados de sessão configurar
  para filtragem em nosso tópico [filtragem de dados de sessão][session data
      filtering].
</Tip>

<Warning>
  🔐 Não envie <strong>Informações Pessoais Identificáveis (PII)</strong> para a AppSignal. Filtre PII (por exemplo, nomes, e-mails) e use um ID, hash ou identificador pseudonimizado no lugar. <br /> <br /> Para <strong>entidades cobertas pela HIPAA</strong>, mais informações sobre como assinar um Business Associate Agreement (BAA) estão disponíveis em nossa <a href="/support/business-add-ons">documentação de Business Add-Ons</a>.
</Warning>

## Filtragem de dados de sessão

A filtragem básica de dados de sessão nas integrações do AppSignal funciona com uma denylist, uma lista de chaves a serem filtradas e não enviadas. Nas integrações, é possível definir uma opção "filter session data" na configuração do AppSignal, com uma lista de chaves de dados de sessão a serem filtradas.

Quaisquer valores de dados de sessão filtrados por esses sistemas serão substituídos por um valor `[FILTERED]`. Dessa forma, a lista de dados de sessão nos dados do app no AppSignal.com ainda inclui a chave dos dados de sessão, mas não o valor. Tornando mais fácil ver que um valor foi enviado, mas os dados potencialmente sensíveis foram filtrados.

### Exemplo

Por exemplo, uma aplicação com esta configuração do AppSignal:

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

Resulta nesta visualização para os dados de sessão de uma requisição web no AppSignal.com:

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

Este guia mostrará como configurar a denylist de filtragem de sessão do seu aplicativo, com base na linguagem que seu aplicativo usa:

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

## Ruby

Na integração Ruby, o AppSignal armazena automaticamente o conteúdo da sessão do usuário para apps Rails e outros frameworks. Valores específicos podem ser filtrados ou pode ser [desabilitado inteiramente][disabled entirely].

Na filtragem de dados de sessão, há suporte para hashes aninhados e hashes aninhados em arrays. Qualquer hash encontrado nos seus dados de sessão será filtrado.

Para usar esta filtragem, adicione o seguinte ao seu arquivo `config/appsignal.yml`, no grupo de ambiente em que você deseja aplicar. O valor de [`filter_session_data`](/ruby/configuration/options#option-filter_session_data) é um array de 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

Na integração Elixir, o AppSignal armazena automaticamente o conteúdo da sessão do usuário para apps Phoenix. Valores específicos podem ser filtrados ou pode ser [desabilitado inteiramente][disabled entirely].

Na filtragem de dados de sessão, há suporte para hashes aninhados e hashes aninhados em arrays. Qualquer hash encontrado nos seus dados de sessão será filtrado.

Para usar esta filtragem, adicione o seguinte ao seu arquivo `config/appsignal.exs`. O valor de [`filter_session_data`](/elixir/configuration/options#option-filter_session_data) é um array de strings.

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

## Node.js

Se uma requisição armazenar dados de sessão na amostra, use o filtro de dados de sessão para filtrar quaisquer dados que você não queira incluir.

Na filtragem de dados de sessão, há suporte para hashes aninhados e hashes aninhados em arrays. Qualquer hash encontrado nos seus dados de sessão será filtrado.

Para usar esta filtragem, use a opção de configuração [`filterSessionData`](/nodejs/3.x/configuration/options#option-filtersessiondata) para selecionar quais chaves de dados de sessão filtrar.

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

  new Appsignal({
    // Outras opções de configuração
    filterSessionData: ["name", "email", "api_token", "token"],
  });
  ```
</CodeGroup>

## Python

Se uma requisição armazenar dados de sessão na amostra, use o filtro de dados de sessão para filtrar quaisquer dados que você não queira incluir.

Na filtragem de dados de sessão, há suporte para hashes aninhados e dicionários aninhados em listas. Qualquer dicionário encontrado nos seus dados de sessão será filtrado.

Para usar esta filtragem, use a opção de configuração [`filter_session_data`](/python/configuration/options#option-filter_session_data) para selecionar quais chaves de dados de sessão filtrar.

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

  appsignal = Appsignal(
      # Outras configurações
      filter_session_data: ["name", "email", "api_token", "token"]
  )
  ```
</CodeGroup>

## Go

Se uma requisição armazenar dados de sessão na amostra, use o filtro de dados de sessão para filtrar quaisquer dados que você não queira incluir.

Na filtragem de dados de sessão, há suporte para slices aninhadas e maps aninhados. Qualquer map encontrado nos seus dados de sessão será filtrado.

Use a [denylist `filter_request_session_data`](/go/configuration/options#option-filter_request_session_data) para filtragem de dados de sessão da requisição. Defina a [opção `send_request_session_data`](/go/configuration/options#option-send_request__session_data) como `false` para não enviar nenhum dado de sessão da requisição.

Veja a [página de configuração do Go](/go/configuration/options) para mais informações sobre como configurar o OpenTelemetry para apps Go.

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

## Java

Se uma requisição armazenar dados de sessão na amostra, use o filtro de dados de sessão para filtrar quaisquer dados que você não queira incluir.

Na filtragem de dados de sessão, há suporte para maps aninhados e arrays. Qualquer map encontrado nos seus dados de sessão será filtrado.

Use a denylist [`filter_request_session_data`](/java/configuration/options#option-filter_request_session_data) para filtragem de dados de sessão. Defina a [opção `send_request_session_data`](/java/configuration/options#option-send_request_session_data) como `false` para evitar o envio de quaisquer dados de sessão.

Veja a [página de configuração do Java](/java/configuration/options) para mais informações sobre como configurar o OpenTelemetry para apps 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

Se uma requisição armazenar dados de sessão na amostra, use o filtro de dados de sessão para filtrar quaisquer dados que você não queira incluir.

Na filtragem de dados de sessão, há suporte para arrays aninhados. Qualquer array encontrado nos seus dados de sessão será filtrado.

Use a denylist [`filter_request_session_data`][php filter_request_session_data] para filtragem de dados de sessão. Defina a opção [`send_request_session_data`][php send_request_session_data] como `false` para evitar o envio de quaisquer dados de sessão.

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