Pular para o conteúdo principal
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.
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.
🔐 Não envie Informações Pessoais Identificáveis (PII) para a AppSignal. Filtre PII (por exemplo, nomes, e-mails) e use um ID, hash ou identificador pseudonimizado no lugar.

Para entidades cobertas pela HIPAA, mais informações sobre como assinar um Business Associate Agreement (BAA) estão disponíveis em nossa documentação de Business Add-Ons.

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:
filter_session_data: ["password"]
Resulta nesta visualização para os dados de sessão de uma requisição web no AppSignal.com:
{
  "password": "[FILTERED]"
}
Este guia mostrará como configurar a denylist de filtragem de sessão do seu aplicativo, com base na linguagem que seu aplicativo usa:

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. 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 é um array de strings.
Appsignal.configure do |config|
  config.filter_session_data += ["name", "email", "api_token", "token"]
end

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. 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 é um array de strings.
config :appsignal, :config,
  filter_session_data: ["name", "email", "api_token", "token"]

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 para selecionar quais chaves de dados de sessão filtrar.
const { Appsignal } = require("@appsignal/nodejs");

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

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 para selecionar quais chaves de dados de sessão filtrar.
from appsignal import Appsignal

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

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 para filtragem de dados de sessão da requisição. Defina a opção 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 para mais informações sobre como configurar o OpenTelemetry para apps Go.
res := resource.NewWithAttributes(
	attribute.StringSlice("appsignal.config.filter_session_data", []string{"password", "cvv"}),
)

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 para filtragem de dados de sessão. Defina a opção 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 para mais informações sobre como configurar o OpenTelemetry para apps Java.
function encode() {
  echo -n "$@" | sed 's/,/%2C/g'
}

export OTEL_RESOURCE_ATTRIBUTES="\
  appsignal.config.filter_request_session_data=$(encode "name,email,api_token,token"),\
  ..."

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 para filtragem de dados de sessão. Defina a opção send_request_session_data como false para evitar o envio de quaisquer dados de sessão.
return [
    'filter_request_session_data' => ['name', 'email', 'api_token', 'token'],
    // ... outras opções
];