From 418b67818a632067402a3522b8936963b24efb23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20P=C3=B6lz?= <38893694+Flash0ver@users.noreply.github.com> Date: Mon, 28 Apr 2025 14:19:46 +0200 Subject: [PATCH 01/10] docs(dotnet): add Data Collected pilot page --- .../common/data-management/data-collected.mdx | 79 +++++++++++++++++++ .../data-management/data-collected.mdx | 79 +++++++++++++++++++ .../unity/data-management/data-collected.mdx | 79 +++++++++++++++++++ 3 files changed, 237 insertions(+) create mode 100644 docs/platforms/dotnet/common/data-management/data-collected.mdx create mode 100644 docs/platforms/powershell/data-management/data-collected.mdx create mode 100644 docs/platforms/unity/data-management/data-collected.mdx diff --git a/docs/platforms/dotnet/common/data-management/data-collected.mdx b/docs/platforms/dotnet/common/data-management/data-collected.mdx new file mode 100644 index 00000000000000..b271e1e9a65e29 --- /dev/null +++ b/docs/platforms/dotnet/common/data-management/data-collected.mdx @@ -0,0 +1,79 @@ +--- +title: Data Collected +description: "See what data is collected by the Sentry SDK." +sidebar_order: 1 +--- + +Sentry takes data privacy very seriously and has default settings in place that prioritize data safety, especially when it comes to personally identifiable information (PII) data. When you add the Sentry SDK to your application, you allow it to collect data and send it to Sentry during the runtime of your application. + +The category types and amount of data collected vary, depending on the integrations you've enabled in the Sentry SDK. Here's a list of data categories the Sentry Python SDK collects: + +## HTTP Headers + +By default, the Sentry SDK sends HTTP headers to Sentry but filters out any headers that contain sensitive data. (See the [list of headers](https://github.com/getsentry/sentry-python/blob/master/sentry_sdk/integrations/_wsgi_common.py#L28-L35) that are filtered). + +To send all HTTP headers, set `send_default_pii=True` in the `sentry_sdk.init()` call. + +Additionally a [data scrubber](/platforms/python/data-management/sensitive-data/) removes sensitive data from headers (and a lot of other fields) right before sending data to Sentry. + +## Cookies + +By default, the Sentry SDK doesn't send cookies. Sentry tries to remove any cookies that contain sensitive information, such as the Session ID and CSRF Token cookies in Django. + +If you want to send cookies, set `send_default_pii=True` in the `sentry_sdk.init()` call. + +Additionally a [data scrubber](/platforms/python/data-management/sensitive-data/) removes sensitive data from cookies (and a lot of other fields) right before sending data to Sentry. + +## Information About Logged-in User + +By default, the Sentry SDK doesn't send any information about the logged-in user, such as email address, user ID, or username. Even if enabled, the type of logged-in user information you'll be able to send depends on the integrations you enable in Sentry's SDK. Most integrations won't send any user information. Some will only set the user ID, but there are a few that will set the user ID, username, and email address. + +To start sending logged-in user information, set `send_default_pii=True` in the `sentry_sdk.init()` call. + +## Users' IP Address + +By default, the Sentry SDK doesn't send the user's IP address. Even if enabled, whether you're able to send the user's IP address or not, will depend on the integrations you enable in Sentry's SDK. Most integrations won't set the user's IP address at all. + +To enable sending the user's IP address, set `send_default_pii=True` in the `sentry_sdk.init()` call. + +## Request URL + +The full request URL of outgoing and incoming HTTP requests is **always sent to Sentry**. Depending on your application, this could contain PII data. + +## Request Query String + +The full request query string of outgoing and incoming HTTP requests is **always sent to Sentry**. Depending on your application, this could contain PII data. + +## Request Body + +The request body of incoming HTTP requests can be sent to Sentry. Whether it's sent or not, depends on the type and size of request body as described below: + +- **The type of the request body:** + - JSON and form bodies are sent + - Raw request bodies are always removed + - Uploaded files in the request bodies are never sent to Sentry +- **The size of the request body:** There's a ["max_request_body_size"](/platforms/python/configuration/options/#max-request-body-size) option that's set to `medium` by default. This means that larger request bodies aren't sent to Sentry. + +If you want to prevent bodies from being sent to Sentry altogether, set `max_request_body_size` to `"never"`. + +## Source Context + +When an unhandled exception is sent to Sentry, a snapshot of the source code surrounding the line where the error originates is sent with it. + +To opt out of sending this source context to Sentry, set `include_source_context` to `False`. + +## Local Variables In Stack Trace + +When unhandled errors and exceptions are sent to Sentry, the names and values of local variables that were set when the errors occurred are sent at the same time. + +You can stop sending local variables to Sentry by setting `include_local_variables=False` in the `sentry_sdk.init()` call. + +## SQL Queries + +While SQL queries are sent to Sentry, neither the full SQL query (`UPDATE app_user SET password='supersecret' WHERE id=1;`), nor the values of its parameters will ever be sent. A parameterized version of the query (`UPDATE app_user SET password='%s' WHERE id=%s;`) is sent instead. + +## LLM Inputs And Responses + +When using Sentry in your AI apps, the SDK by default won't add data like LLM inputs and responses to spans. To start recording these, add `send_default_pii=True` to your `sentry_sdk.init()` call. + +Most AI integrations have an additional parameter to control whether prompts should be included called `include_prompts`. See the documentation for the specific AI framework for more information. diff --git a/docs/platforms/powershell/data-management/data-collected.mdx b/docs/platforms/powershell/data-management/data-collected.mdx new file mode 100644 index 00000000000000..b271e1e9a65e29 --- /dev/null +++ b/docs/platforms/powershell/data-management/data-collected.mdx @@ -0,0 +1,79 @@ +--- +title: Data Collected +description: "See what data is collected by the Sentry SDK." +sidebar_order: 1 +--- + +Sentry takes data privacy very seriously and has default settings in place that prioritize data safety, especially when it comes to personally identifiable information (PII) data. When you add the Sentry SDK to your application, you allow it to collect data and send it to Sentry during the runtime of your application. + +The category types and amount of data collected vary, depending on the integrations you've enabled in the Sentry SDK. Here's a list of data categories the Sentry Python SDK collects: + +## HTTP Headers + +By default, the Sentry SDK sends HTTP headers to Sentry but filters out any headers that contain sensitive data. (See the [list of headers](https://github.com/getsentry/sentry-python/blob/master/sentry_sdk/integrations/_wsgi_common.py#L28-L35) that are filtered). + +To send all HTTP headers, set `send_default_pii=True` in the `sentry_sdk.init()` call. + +Additionally a [data scrubber](/platforms/python/data-management/sensitive-data/) removes sensitive data from headers (and a lot of other fields) right before sending data to Sentry. + +## Cookies + +By default, the Sentry SDK doesn't send cookies. Sentry tries to remove any cookies that contain sensitive information, such as the Session ID and CSRF Token cookies in Django. + +If you want to send cookies, set `send_default_pii=True` in the `sentry_sdk.init()` call. + +Additionally a [data scrubber](/platforms/python/data-management/sensitive-data/) removes sensitive data from cookies (and a lot of other fields) right before sending data to Sentry. + +## Information About Logged-in User + +By default, the Sentry SDK doesn't send any information about the logged-in user, such as email address, user ID, or username. Even if enabled, the type of logged-in user information you'll be able to send depends on the integrations you enable in Sentry's SDK. Most integrations won't send any user information. Some will only set the user ID, but there are a few that will set the user ID, username, and email address. + +To start sending logged-in user information, set `send_default_pii=True` in the `sentry_sdk.init()` call. + +## Users' IP Address + +By default, the Sentry SDK doesn't send the user's IP address. Even if enabled, whether you're able to send the user's IP address or not, will depend on the integrations you enable in Sentry's SDK. Most integrations won't set the user's IP address at all. + +To enable sending the user's IP address, set `send_default_pii=True` in the `sentry_sdk.init()` call. + +## Request URL + +The full request URL of outgoing and incoming HTTP requests is **always sent to Sentry**. Depending on your application, this could contain PII data. + +## Request Query String + +The full request query string of outgoing and incoming HTTP requests is **always sent to Sentry**. Depending on your application, this could contain PII data. + +## Request Body + +The request body of incoming HTTP requests can be sent to Sentry. Whether it's sent or not, depends on the type and size of request body as described below: + +- **The type of the request body:** + - JSON and form bodies are sent + - Raw request bodies are always removed + - Uploaded files in the request bodies are never sent to Sentry +- **The size of the request body:** There's a ["max_request_body_size"](/platforms/python/configuration/options/#max-request-body-size) option that's set to `medium` by default. This means that larger request bodies aren't sent to Sentry. + +If you want to prevent bodies from being sent to Sentry altogether, set `max_request_body_size` to `"never"`. + +## Source Context + +When an unhandled exception is sent to Sentry, a snapshot of the source code surrounding the line where the error originates is sent with it. + +To opt out of sending this source context to Sentry, set `include_source_context` to `False`. + +## Local Variables In Stack Trace + +When unhandled errors and exceptions are sent to Sentry, the names and values of local variables that were set when the errors occurred are sent at the same time. + +You can stop sending local variables to Sentry by setting `include_local_variables=False` in the `sentry_sdk.init()` call. + +## SQL Queries + +While SQL queries are sent to Sentry, neither the full SQL query (`UPDATE app_user SET password='supersecret' WHERE id=1;`), nor the values of its parameters will ever be sent. A parameterized version of the query (`UPDATE app_user SET password='%s' WHERE id=%s;`) is sent instead. + +## LLM Inputs And Responses + +When using Sentry in your AI apps, the SDK by default won't add data like LLM inputs and responses to spans. To start recording these, add `send_default_pii=True` to your `sentry_sdk.init()` call. + +Most AI integrations have an additional parameter to control whether prompts should be included called `include_prompts`. See the documentation for the specific AI framework for more information. diff --git a/docs/platforms/unity/data-management/data-collected.mdx b/docs/platforms/unity/data-management/data-collected.mdx new file mode 100644 index 00000000000000..b271e1e9a65e29 --- /dev/null +++ b/docs/platforms/unity/data-management/data-collected.mdx @@ -0,0 +1,79 @@ +--- +title: Data Collected +description: "See what data is collected by the Sentry SDK." +sidebar_order: 1 +--- + +Sentry takes data privacy very seriously and has default settings in place that prioritize data safety, especially when it comes to personally identifiable information (PII) data. When you add the Sentry SDK to your application, you allow it to collect data and send it to Sentry during the runtime of your application. + +The category types and amount of data collected vary, depending on the integrations you've enabled in the Sentry SDK. Here's a list of data categories the Sentry Python SDK collects: + +## HTTP Headers + +By default, the Sentry SDK sends HTTP headers to Sentry but filters out any headers that contain sensitive data. (See the [list of headers](https://github.com/getsentry/sentry-python/blob/master/sentry_sdk/integrations/_wsgi_common.py#L28-L35) that are filtered). + +To send all HTTP headers, set `send_default_pii=True` in the `sentry_sdk.init()` call. + +Additionally a [data scrubber](/platforms/python/data-management/sensitive-data/) removes sensitive data from headers (and a lot of other fields) right before sending data to Sentry. + +## Cookies + +By default, the Sentry SDK doesn't send cookies. Sentry tries to remove any cookies that contain sensitive information, such as the Session ID and CSRF Token cookies in Django. + +If you want to send cookies, set `send_default_pii=True` in the `sentry_sdk.init()` call. + +Additionally a [data scrubber](/platforms/python/data-management/sensitive-data/) removes sensitive data from cookies (and a lot of other fields) right before sending data to Sentry. + +## Information About Logged-in User + +By default, the Sentry SDK doesn't send any information about the logged-in user, such as email address, user ID, or username. Even if enabled, the type of logged-in user information you'll be able to send depends on the integrations you enable in Sentry's SDK. Most integrations won't send any user information. Some will only set the user ID, but there are a few that will set the user ID, username, and email address. + +To start sending logged-in user information, set `send_default_pii=True` in the `sentry_sdk.init()` call. + +## Users' IP Address + +By default, the Sentry SDK doesn't send the user's IP address. Even if enabled, whether you're able to send the user's IP address or not, will depend on the integrations you enable in Sentry's SDK. Most integrations won't set the user's IP address at all. + +To enable sending the user's IP address, set `send_default_pii=True` in the `sentry_sdk.init()` call. + +## Request URL + +The full request URL of outgoing and incoming HTTP requests is **always sent to Sentry**. Depending on your application, this could contain PII data. + +## Request Query String + +The full request query string of outgoing and incoming HTTP requests is **always sent to Sentry**. Depending on your application, this could contain PII data. + +## Request Body + +The request body of incoming HTTP requests can be sent to Sentry. Whether it's sent or not, depends on the type and size of request body as described below: + +- **The type of the request body:** + - JSON and form bodies are sent + - Raw request bodies are always removed + - Uploaded files in the request bodies are never sent to Sentry +- **The size of the request body:** There's a ["max_request_body_size"](/platforms/python/configuration/options/#max-request-body-size) option that's set to `medium` by default. This means that larger request bodies aren't sent to Sentry. + +If you want to prevent bodies from being sent to Sentry altogether, set `max_request_body_size` to `"never"`. + +## Source Context + +When an unhandled exception is sent to Sentry, a snapshot of the source code surrounding the line where the error originates is sent with it. + +To opt out of sending this source context to Sentry, set `include_source_context` to `False`. + +## Local Variables In Stack Trace + +When unhandled errors and exceptions are sent to Sentry, the names and values of local variables that were set when the errors occurred are sent at the same time. + +You can stop sending local variables to Sentry by setting `include_local_variables=False` in the `sentry_sdk.init()` call. + +## SQL Queries + +While SQL queries are sent to Sentry, neither the full SQL query (`UPDATE app_user SET password='supersecret' WHERE id=1;`), nor the values of its parameters will ever be sent. A parameterized version of the query (`UPDATE app_user SET password='%s' WHERE id=%s;`) is sent instead. + +## LLM Inputs And Responses + +When using Sentry in your AI apps, the SDK by default won't add data like LLM inputs and responses to spans. To start recording these, add `send_default_pii=True` to your `sentry_sdk.init()` call. + +Most AI integrations have an additional parameter to control whether prompts should be included called `include_prompts`. See the documentation for the specific AI framework for more information. From a7d35192b689dced5c7a16b126e69aba1f1d5f48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20P=C3=B6lz?= <38893694+Flash0ver@users.noreply.github.com> Date: Mon, 28 Apr 2025 15:18:19 +0200 Subject: [PATCH 02/10] docs(dotnet): apply .NET SDK lingo to pilot Data Collected pages --- .../common/data-management/data-collected.mdx | 14 +++++++------- .../powershell/data-management/data-collected.mdx | 14 +++++++------- .../unity/data-management/data-collected.mdx | 6 +++--- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/platforms/dotnet/common/data-management/data-collected.mdx b/docs/platforms/dotnet/common/data-management/data-collected.mdx index b271e1e9a65e29..2d279fa80e8490 100644 --- a/docs/platforms/dotnet/common/data-management/data-collected.mdx +++ b/docs/platforms/dotnet/common/data-management/data-collected.mdx @@ -6,35 +6,35 @@ sidebar_order: 1 Sentry takes data privacy very seriously and has default settings in place that prioritize data safety, especially when it comes to personally identifiable information (PII) data. When you add the Sentry SDK to your application, you allow it to collect data and send it to Sentry during the runtime of your application. -The category types and amount of data collected vary, depending on the integrations you've enabled in the Sentry SDK. Here's a list of data categories the Sentry Python SDK collects: +The category types and amount of data collected vary, depending on the integrations you've enabled in the Sentry SDK. Here's a list of data categories the Sentry .NET SDK collects: ## HTTP Headers By default, the Sentry SDK sends HTTP headers to Sentry but filters out any headers that contain sensitive data. (See the [list of headers](https://github.com/getsentry/sentry-python/blob/master/sentry_sdk/integrations/_wsgi_common.py#L28-L35) that are filtered). -To send all HTTP headers, set `send_default_pii=True` in the `sentry_sdk.init()` call. +To send all HTTP headers, set the option `SendDefaultPii = true` in the configuration callback of the Sentry SDK initialization. -Additionally a [data scrubber](/platforms/python/data-management/sensitive-data/) removes sensitive data from headers (and a lot of other fields) right before sending data to Sentry. +Additionally a [data scrubber](/platforms/dotnet/data-management/sensitive-data/) removes sensitive data from headers (and a lot of other fields) right before sending data to Sentry. ## Cookies By default, the Sentry SDK doesn't send cookies. Sentry tries to remove any cookies that contain sensitive information, such as the Session ID and CSRF Token cookies in Django. -If you want to send cookies, set `send_default_pii=True` in the `sentry_sdk.init()` call. +If you want to send cookies, set the option `SendDefaultPii = true` in the configuration callback of the Sentry SDK initialization. -Additionally a [data scrubber](/platforms/python/data-management/sensitive-data/) removes sensitive data from cookies (and a lot of other fields) right before sending data to Sentry. +Additionally a [data scrubber](/platforms/dotnet/data-management/sensitive-data/) removes sensitive data from cookies (and a lot of other fields) right before sending data to Sentry. ## Information About Logged-in User By default, the Sentry SDK doesn't send any information about the logged-in user, such as email address, user ID, or username. Even if enabled, the type of logged-in user information you'll be able to send depends on the integrations you enable in Sentry's SDK. Most integrations won't send any user information. Some will only set the user ID, but there are a few that will set the user ID, username, and email address. -To start sending logged-in user information, set `send_default_pii=True` in the `sentry_sdk.init()` call. +To start sending logged-in user information, set the option `SendDefaultPii = true` in the configuration callback of the Sentry SDK initialization. ## Users' IP Address By default, the Sentry SDK doesn't send the user's IP address. Even if enabled, whether you're able to send the user's IP address or not, will depend on the integrations you enable in Sentry's SDK. Most integrations won't set the user's IP address at all. -To enable sending the user's IP address, set `send_default_pii=True` in the `sentry_sdk.init()` call. +To enable sending the user's IP address, set the option `SendDefaultPii = true` in the configuration callback of the Sentry SDK initialization. ## Request URL diff --git a/docs/platforms/powershell/data-management/data-collected.mdx b/docs/platforms/powershell/data-management/data-collected.mdx index b271e1e9a65e29..5d860974d5e800 100644 --- a/docs/platforms/powershell/data-management/data-collected.mdx +++ b/docs/platforms/powershell/data-management/data-collected.mdx @@ -6,35 +6,35 @@ sidebar_order: 1 Sentry takes data privacy very seriously and has default settings in place that prioritize data safety, especially when it comes to personally identifiable information (PII) data. When you add the Sentry SDK to your application, you allow it to collect data and send it to Sentry during the runtime of your application. -The category types and amount of data collected vary, depending on the integrations you've enabled in the Sentry SDK. Here's a list of data categories the Sentry Python SDK collects: +The category types and amount of data collected vary, depending on the integrations you've enabled in the Sentry SDK. Here's a list of data categories the Sentry PowerShell SDK collects: ## HTTP Headers By default, the Sentry SDK sends HTTP headers to Sentry but filters out any headers that contain sensitive data. (See the [list of headers](https://github.com/getsentry/sentry-python/blob/master/sentry_sdk/integrations/_wsgi_common.py#L28-L35) that are filtered). -To send all HTTP headers, set `send_default_pii=True` in the `sentry_sdk.init()` call. +To send all HTTP headers, set `$_.SendDefaultPii = true` in the `Start-Sentry` command. -Additionally a [data scrubber](/platforms/python/data-management/sensitive-data/) removes sensitive data from headers (and a lot of other fields) right before sending data to Sentry. +Additionally a [data scrubber](/platforms/powershell/data-management/sensitive-data/) removes sensitive data from headers (and a lot of other fields) right before sending data to Sentry. ## Cookies By default, the Sentry SDK doesn't send cookies. Sentry tries to remove any cookies that contain sensitive information, such as the Session ID and CSRF Token cookies in Django. -If you want to send cookies, set `send_default_pii=True` in the `sentry_sdk.init()` call. +If you want to send cookies, set `$_.SendDefaultPii = true` in the `Start-Sentry` command. -Additionally a [data scrubber](/platforms/python/data-management/sensitive-data/) removes sensitive data from cookies (and a lot of other fields) right before sending data to Sentry. +Additionally a [data scrubber](/platforms/powershell/data-management/sensitive-data/) removes sensitive data from cookies (and a lot of other fields) right before sending data to Sentry. ## Information About Logged-in User By default, the Sentry SDK doesn't send any information about the logged-in user, such as email address, user ID, or username. Even if enabled, the type of logged-in user information you'll be able to send depends on the integrations you enable in Sentry's SDK. Most integrations won't send any user information. Some will only set the user ID, but there are a few that will set the user ID, username, and email address. -To start sending logged-in user information, set `send_default_pii=True` in the `sentry_sdk.init()` call. +To start sending logged-in user information, set `$_.SendDefaultPii = true` in the `Start-Sentry` command. ## Users' IP Address By default, the Sentry SDK doesn't send the user's IP address. Even if enabled, whether you're able to send the user's IP address or not, will depend on the integrations you enable in Sentry's SDK. Most integrations won't set the user's IP address at all. -To enable sending the user's IP address, set `send_default_pii=True` in the `sentry_sdk.init()` call. +To enable sending the user's IP address, set `$_.SendDefaultPii = true` in the `Start-Sentry` command. ## Request URL diff --git a/docs/platforms/unity/data-management/data-collected.mdx b/docs/platforms/unity/data-management/data-collected.mdx index b271e1e9a65e29..5f5f3714071015 100644 --- a/docs/platforms/unity/data-management/data-collected.mdx +++ b/docs/platforms/unity/data-management/data-collected.mdx @@ -6,7 +6,7 @@ sidebar_order: 1 Sentry takes data privacy very seriously and has default settings in place that prioritize data safety, especially when it comes to personally identifiable information (PII) data. When you add the Sentry SDK to your application, you allow it to collect data and send it to Sentry during the runtime of your application. -The category types and amount of data collected vary, depending on the integrations you've enabled in the Sentry SDK. Here's a list of data categories the Sentry Python SDK collects: +The category types and amount of data collected vary, depending on the integrations you've enabled in the Sentry SDK. Here's a list of data categories the Sentry Unity SDK collects: ## HTTP Headers @@ -14,7 +14,7 @@ By default, the Sentry SDK sends HTTP headers to Sentry but filters out any head To send all HTTP headers, set `send_default_pii=True` in the `sentry_sdk.init()` call. -Additionally a [data scrubber](/platforms/python/data-management/sensitive-data/) removes sensitive data from headers (and a lot of other fields) right before sending data to Sentry. +Additionally a [data scrubber](/platforms/unity/data-management/sensitive-data/) removes sensitive data from headers (and a lot of other fields) right before sending data to Sentry. ## Cookies @@ -22,7 +22,7 @@ By default, the Sentry SDK doesn't send cookies. Sentry tries to remove any cook If you want to send cookies, set `send_default_pii=True` in the `sentry_sdk.init()` call. -Additionally a [data scrubber](/platforms/python/data-management/sensitive-data/) removes sensitive data from cookies (and a lot of other fields) right before sending data to Sentry. +Additionally a [data scrubber](/platforms/unity/data-management/sensitive-data/) removes sensitive data from cookies (and a lot of other fields) right before sending data to Sentry. ## Information About Logged-in User From 4c53a9df6a874eb3535920662a04cf0a6c361779 Mon Sep 17 00:00:00 2001 From: James Crosswell Date: Thu, 8 May 2025 14:51:08 +1200 Subject: [PATCH 03/10] Update data-collected.mdx --- .../common/data-management/data-collected.mdx | 54 +++++++++---------- 1 file changed, 24 insertions(+), 30 deletions(-) diff --git a/docs/platforms/dotnet/common/data-management/data-collected.mdx b/docs/platforms/dotnet/common/data-management/data-collected.mdx index 2d279fa80e8490..6810d392cfe324 100644 --- a/docs/platforms/dotnet/common/data-management/data-collected.mdx +++ b/docs/platforms/dotnet/common/data-management/data-collected.mdx @@ -10,70 +10,64 @@ The category types and amount of data collected vary, depending on the integrati ## HTTP Headers -By default, the Sentry SDK sends HTTP headers to Sentry but filters out any headers that contain sensitive data. (See the [list of headers](https://github.com/getsentry/sentry-python/blob/master/sentry_sdk/integrations/_wsgi_common.py#L28-L35) that are filtered). - -To send all HTTP headers, set the option `SendDefaultPii = true` in the configuration callback of the Sentry SDK initialization. - -Additionally a [data scrubber](/platforms/dotnet/data-management/sensitive-data/) removes sensitive data from headers (and a lot of other fields) right before sending data to Sentry. +By default, the Sentry SDK sends HTTP headers to Sentry but redacts any headers that may contain sensitive data. (See the [list of headers](https://github.com/getsentry/sentry-dotnet/blob/main/src/Sentry/Internal/RedactedHeaders.cs#L7) that are redacted). ## Cookies -By default, the Sentry SDK doesn't send cookies. Sentry tries to remove any cookies that contain sensitive information, such as the Session ID and CSRF Token cookies in Django. +By default, the Sentry SDK doesn't send cookies. -If you want to send cookies, set the option `SendDefaultPii = true` in the configuration callback of the Sentry SDK initialization. +If you want to send cookies, set the option `SendDefaultPii = true` when initializing the Sentry SDK. -Additionally a [data scrubber](/platforms/dotnet/data-management/sensitive-data/) removes sensitive data from cookies (and a lot of other fields) right before sending data to Sentry. +A [data scrubber](/platforms/dotnet/data-management/sensitive-data/) can be used to filter information before sending data to Sentry. ## Information About Logged-in User By default, the Sentry SDK doesn't send any information about the logged-in user, such as email address, user ID, or username. Even if enabled, the type of logged-in user information you'll be able to send depends on the integrations you enable in Sentry's SDK. Most integrations won't send any user information. Some will only set the user ID, but there are a few that will set the user ID, username, and email address. -To start sending logged-in user information, set the option `SendDefaultPii = true` in the configuration callback of the Sentry SDK initialization. +To start sending logged-in user information, set the option `SendDefaultPii = true` when initializing the Sentry SDK. ## Users' IP Address By default, the Sentry SDK doesn't send the user's IP address. Even if enabled, whether you're able to send the user's IP address or not, will depend on the integrations you enable in Sentry's SDK. Most integrations won't set the user's IP address at all. -To enable sending the user's IP address, set the option `SendDefaultPii = true` in the configuration callback of the Sentry SDK initialization. +To enable sending the user's IP address, set the option `SendDefaultPii = true` when initializing the Sentry SDK. ## Request URL -The full request URL of outgoing and incoming HTTP requests is **always sent to Sentry**. Depending on your application, this could contain PII data. +By default, the [HttpRequestUrl](https://learn.microsoft.com/en-us/dotnet/api/System.UriComponents) of outgoing and incoming HTTP requests is **always sent to Sentry**. This includes the Scheme, Host, Port, LocalPath, and Query data. + +If `SendDefaultPii` is set to `true` then the [AbsoluteUri](https://learn.microsoft.com/en-us/dotnet/api/System.UriComponents) of outgoing and incoming HTTP requests will be sent to Sentry (including the Scheme, UserInfo, Host, Port, LocalPath, Query, and Fragment data). + +Depending on your application, this could contain PII data. ## Request Query String The full request query string of outgoing and incoming HTTP requests is **always sent to Sentry**. Depending on your application, this could contain PII data. -## Request Body + -The request body of incoming HTTP requests can be sent to Sentry. Whether it's sent or not, depends on the type and size of request body as described below: - -- **The type of the request body:** - - JSON and form bodies are sent - - Raw request bodies are always removed - - Uploaded files in the request bodies are never sent to Sentry -- **The size of the request body:** There's a ["max_request_body_size"](/platforms/python/configuration/options/#max-request-body-size) option that's set to `medium` by default. This means that larger request bodies aren't sent to Sentry. +## Request Body -If you want to prevent bodies from being sent to Sentry altogether, set `max_request_body_size` to `"never"`. +The MaxRequestBodySize option can be used to configure whether the request body of incoming HTTP requests will be sent to Sentry. -## Source Context +By default this is sent to `RequestSize.None`, which means that the request body is not sent to Sentry. -When an unhandled exception is sent to Sentry, a snapshot of the source code surrounding the line where the error originates is sent with it. +If you want request bodies to be sent to Sentry then this should be set instead to `RequestSize.Small`, `RequestSize.Medium`, or `RequestSize.Always`. -To opt out of sending this source context to Sentry, set `include_source_context` to `False`. + ## Local Variables In Stack Trace -When unhandled errors and exceptions are sent to Sentry, the names and values of local variables that were set when the errors occurred are sent at the same time. - -You can stop sending local variables to Sentry by setting `include_local_variables=False` in the `sentry_sdk.init()` call. +When unhandled errors and exceptions are captured, a stack trace including the names and values of local variables at the time of the error will be sent to Sentry. ## SQL Queries -While SQL queries are sent to Sentry, neither the full SQL query (`UPDATE app_user SET password='supersecret' WHERE id=1;`), nor the values of its parameters will ever be sent. A parameterized version of the query (`UPDATE app_user SET password='%s' WHERE id=%s;`) is sent instead. +While SQL queries are sent to Sentry, neither the full SQL query (`UPDATE app_user SET password='supersecret' WHERE id=1;`), nor the values of its parameters will ever be sent. A parameterized version of the query (`UPDATE app_user SET password='CONN.password' WHERE id=CONN.id;`) is sent instead. + +## Machine Name -## LLM Inputs And Responses +The Sentry SDK does not send the machine name by default. -When using Sentry in your AI apps, the SDK by default won't add data like LLM inputs and responses to spans. To start recording these, add `send_default_pii=True` to your `sentry_sdk.init()` call. +If you assign a value to the `ServerName` in the Sentry options then Sentry SDK will send this with any events. -Most AI integrations have an additional parameter to control whether prompts should be included called `include_prompts`. See the documentation for the specific AI framework for more information. +Otherwise, if `SendDefaultPii` is set to true then the Sentry SDK will capture the `Environment.MachineName` automatically and send this with any events. From 7448e7b31f286243e0f8daa9605337f6fc239283 Mon Sep 17 00:00:00 2001 From: James Crosswell Date: Thu, 8 May 2025 15:04:10 +1200 Subject: [PATCH 04/10] Update data-collected.mdx --- .../common/data-management/data-collected.mdx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/docs/platforms/dotnet/common/data-management/data-collected.mdx b/docs/platforms/dotnet/common/data-management/data-collected.mdx index 6810d392cfe324..9c77cf4bb367ec 100644 --- a/docs/platforms/dotnet/common/data-management/data-collected.mdx +++ b/docs/platforms/dotnet/common/data-management/data-collected.mdx @@ -71,3 +71,22 @@ The Sentry SDK does not send the machine name by default. If you assign a value to the `ServerName` in the Sentry options then Sentry SDK will send this with any events. Otherwise, if `SendDefaultPii` is set to true then the Sentry SDK will capture the `Environment.MachineName` automatically and send this with any events. + +## General Device Information + +The Sentry SDK collects information about the device, such as the version and build of your operating system, CPU and GPU details etc. This information is sent to Sentry by default. + + + +## Data captured by Mobile SDKs + +On mobile platforms, the Sentry SDK for .NET can also capture data indirectly via the Android and iOS SDKs. You should refer to the documentation for those SDKs for more information on what data is captured. + +- [Android](/platforms/android/data-management/data-collected/) +- [iOS](/platforms/apple/data-management/data-collected/) + + + +## Native Crash Reporting + +When compiling .NET applications Ahead-Of-Time (AOT), native crashes may also be captured. You should refer to [data captured by the Native SDK](/platforms/native/data-management/data-collected/) to understand what data is sent with those events. From cae4f1412b52606ff3f9a673697bc567aef2eaed Mon Sep 17 00:00:00 2001 From: James Crosswell Date: Thu, 8 May 2025 16:05:37 +1200 Subject: [PATCH 05/10] Update powershell and unity docs (best guess) --- .../common/data-management/data-collected.mdx | 2 +- .../data-management/data-collected.mdx | 58 +++++++----------- .../unity/data-management/data-collected.mdx | 59 +++++++++---------- 3 files changed, 51 insertions(+), 68 deletions(-) diff --git a/docs/platforms/dotnet/common/data-management/data-collected.mdx b/docs/platforms/dotnet/common/data-management/data-collected.mdx index 9c77cf4bb367ec..63afac47f5a930 100644 --- a/docs/platforms/dotnet/common/data-management/data-collected.mdx +++ b/docs/platforms/dotnet/common/data-management/data-collected.mdx @@ -62,7 +62,7 @@ When unhandled errors and exceptions are captured, a stack trace including the n ## SQL Queries -While SQL queries are sent to Sentry, neither the full SQL query (`UPDATE app_user SET password='supersecret' WHERE id=1;`), nor the values of its parameters will ever be sent. A parameterized version of the query (`UPDATE app_user SET password='CONN.password' WHERE id=CONN.id;`) is sent instead. +While SQL queries are sent to Sentry, neither the full SQL query (`SELECT * FROM users WHERE email = 'joe@shmoe.com'`), nor the values of its parameters will ever be sent. A parameterized version of the query (`SELECT * FROM users WHERE email = @email`) is sent instead. ## Machine Name diff --git a/docs/platforms/powershell/data-management/data-collected.mdx b/docs/platforms/powershell/data-management/data-collected.mdx index 5d860974d5e800..7148f77d20231a 100644 --- a/docs/platforms/powershell/data-management/data-collected.mdx +++ b/docs/platforms/powershell/data-management/data-collected.mdx @@ -6,74 +6,60 @@ sidebar_order: 1 Sentry takes data privacy very seriously and has default settings in place that prioritize data safety, especially when it comes to personally identifiable information (PII) data. When you add the Sentry SDK to your application, you allow it to collect data and send it to Sentry during the runtime of your application. -The category types and amount of data collected vary, depending on the integrations you've enabled in the Sentry SDK. Here's a list of data categories the Sentry PowerShell SDK collects: +The category types and amount of data collected vary, depending on the integrations you've enabled in the Sentry SDK. Here's a list of data categories the Sentry .NET SDK collects: ## HTTP Headers -By default, the Sentry SDK sends HTTP headers to Sentry but filters out any headers that contain sensitive data. (See the [list of headers](https://github.com/getsentry/sentry-python/blob/master/sentry_sdk/integrations/_wsgi_common.py#L28-L35) that are filtered). - -To send all HTTP headers, set `$_.SendDefaultPii = true` in the `Start-Sentry` command. - -Additionally a [data scrubber](/platforms/powershell/data-management/sensitive-data/) removes sensitive data from headers (and a lot of other fields) right before sending data to Sentry. +By default, the Sentry SDK sends HTTP headers to Sentry but redacts any headers that may contain sensitive data. (See the [list of headers](https://github.com/getsentry/sentry-dotnet/blob/main/src/Sentry/Internal/RedactedHeaders.cs#L7) that are redacted). ## Cookies -By default, the Sentry SDK doesn't send cookies. Sentry tries to remove any cookies that contain sensitive information, such as the Session ID and CSRF Token cookies in Django. +By default, the Sentry SDK doesn't send cookies. -If you want to send cookies, set `$_.SendDefaultPii = true` in the `Start-Sentry` command. +If you want to send cookies, set the option `SendDefaultPii = true` when initializing the Sentry SDK. -Additionally a [data scrubber](/platforms/powershell/data-management/sensitive-data/) removes sensitive data from cookies (and a lot of other fields) right before sending data to Sentry. +A [data scrubber](/platforms/dotnet/data-management/sensitive-data/) can be used to filter information before sending data to Sentry. ## Information About Logged-in User By default, the Sentry SDK doesn't send any information about the logged-in user, such as email address, user ID, or username. Even if enabled, the type of logged-in user information you'll be able to send depends on the integrations you enable in Sentry's SDK. Most integrations won't send any user information. Some will only set the user ID, but there are a few that will set the user ID, username, and email address. -To start sending logged-in user information, set `$_.SendDefaultPii = true` in the `Start-Sentry` command. +To start sending logged-in user information, set the option `SendDefaultPii = true` when initializing the Sentry SDK. ## Users' IP Address By default, the Sentry SDK doesn't send the user's IP address. Even if enabled, whether you're able to send the user's IP address or not, will depend on the integrations you enable in Sentry's SDK. Most integrations won't set the user's IP address at all. -To enable sending the user's IP address, set `$_.SendDefaultPii = true` in the `Start-Sentry` command. +To enable sending the user's IP address, set the option `SendDefaultPii = true` when initializing the Sentry SDK. ## Request URL -The full request URL of outgoing and incoming HTTP requests is **always sent to Sentry**. Depending on your application, this could contain PII data. - -## Request Query String - -The full request query string of outgoing and incoming HTTP requests is **always sent to Sentry**. Depending on your application, this could contain PII data. - -## Request Body +By default, the [HttpRequestUrl](https://learn.microsoft.com/en-us/dotnet/api/System.UriComponents) of outgoing and incoming HTTP requests is **always sent to Sentry**. This includes the Scheme, Host, Port, LocalPath, and Query data. -The request body of incoming HTTP requests can be sent to Sentry. Whether it's sent or not, depends on the type and size of request body as described below: +If `SendDefaultPii` is set to `true` then the [AbsoluteUri](https://learn.microsoft.com/en-us/dotnet/api/System.UriComponents) of outgoing and incoming HTTP requests will be sent to Sentry (including the Scheme, UserInfo, Host, Port, LocalPath, Query, and Fragment data). -- **The type of the request body:** - - JSON and form bodies are sent - - Raw request bodies are always removed - - Uploaded files in the request bodies are never sent to Sentry -- **The size of the request body:** There's a ["max_request_body_size"](/platforms/python/configuration/options/#max-request-body-size) option that's set to `medium` by default. This means that larger request bodies aren't sent to Sentry. +Depending on your application, this could contain PII data. -If you want to prevent bodies from being sent to Sentry altogether, set `max_request_body_size` to `"never"`. +## Request Query String -## Source Context +The full request query string of outgoing and incoming HTTP requests is **always sent to Sentry**. Depending on your application, this could contain PII data. -When an unhandled exception is sent to Sentry, a snapshot of the source code surrounding the line where the error originates is sent with it. +## Local Variables In Stack Trace -To opt out of sending this source context to Sentry, set `include_source_context` to `False`. +When unhandled errors and exceptions are captured, a stack trace including the names and values of local variables at the time of the error will be sent to Sentry. -## Local Variables In Stack Trace +## SQL Queries -When unhandled errors and exceptions are sent to Sentry, the names and values of local variables that were set when the errors occurred are sent at the same time. +While SQL queries are sent to Sentry, neither the full SQL query (`SELECT * FROM users WHERE email = 'joe@shmoe.com'`), nor the values of its parameters will ever be sent. A parameterized version of the query (`SELECT * FROM users WHERE email = @email`) is sent instead. -You can stop sending local variables to Sentry by setting `include_local_variables=False` in the `sentry_sdk.init()` call. +## Machine Name -## SQL Queries +The Sentry SDK does not send the machine name by default. -While SQL queries are sent to Sentry, neither the full SQL query (`UPDATE app_user SET password='supersecret' WHERE id=1;`), nor the values of its parameters will ever be sent. A parameterized version of the query (`UPDATE app_user SET password='%s' WHERE id=%s;`) is sent instead. +If you assign a value to the `ServerName` in the Sentry options then Sentry SDK will send this with any events. -## LLM Inputs And Responses +Otherwise, if `SendDefaultPii` is set to true then the Sentry SDK will capture the `Environment.MachineName` automatically and send this with any events. -When using Sentry in your AI apps, the SDK by default won't add data like LLM inputs and responses to spans. To start recording these, add `send_default_pii=True` to your `sentry_sdk.init()` call. +## General Device Information -Most AI integrations have an additional parameter to control whether prompts should be included called `include_prompts`. See the documentation for the specific AI framework for more information. +The Sentry SDK collects information about the device, such as the version and build of your operating system, CPU and GPU details etc. This information is sent to Sentry by default. diff --git a/docs/platforms/unity/data-management/data-collected.mdx b/docs/platforms/unity/data-management/data-collected.mdx index 5f5f3714071015..f3c98afde3d3af 100644 --- a/docs/platforms/unity/data-management/data-collected.mdx +++ b/docs/platforms/unity/data-management/data-collected.mdx @@ -6,74 +6,71 @@ sidebar_order: 1 Sentry takes data privacy very seriously and has default settings in place that prioritize data safety, especially when it comes to personally identifiable information (PII) data. When you add the Sentry SDK to your application, you allow it to collect data and send it to Sentry during the runtime of your application. -The category types and amount of data collected vary, depending on the integrations you've enabled in the Sentry SDK. Here's a list of data categories the Sentry Unity SDK collects: +The category types and amount of data collected vary, depending on the integrations you've enabled in the Sentry SDK. Here's a list of data categories the Sentry .NET SDK collects: ## HTTP Headers -By default, the Sentry SDK sends HTTP headers to Sentry but filters out any headers that contain sensitive data. (See the [list of headers](https://github.com/getsentry/sentry-python/blob/master/sentry_sdk/integrations/_wsgi_common.py#L28-L35) that are filtered). - -To send all HTTP headers, set `send_default_pii=True` in the `sentry_sdk.init()` call. - -Additionally a [data scrubber](/platforms/unity/data-management/sensitive-data/) removes sensitive data from headers (and a lot of other fields) right before sending data to Sentry. +By default, the Sentry SDK sends HTTP headers to Sentry but redacts any headers that may contain sensitive data. (See the [list of headers](https://github.com/getsentry/sentry-dotnet/blob/main/src/Sentry/Internal/RedactedHeaders.cs#L7) that are redacted). ## Cookies -By default, the Sentry SDK doesn't send cookies. Sentry tries to remove any cookies that contain sensitive information, such as the Session ID and CSRF Token cookies in Django. +By default, the Sentry SDK doesn't send cookies. -If you want to send cookies, set `send_default_pii=True` in the `sentry_sdk.init()` call. +If you want to send cookies, set the option `SendDefaultPii = true` when initializing the Sentry SDK. -Additionally a [data scrubber](/platforms/unity/data-management/sensitive-data/) removes sensitive data from cookies (and a lot of other fields) right before sending data to Sentry. +A [data scrubber](/platforms/dotnet/data-management/sensitive-data/) can be used to filter information before sending data to Sentry. ## Information About Logged-in User By default, the Sentry SDK doesn't send any information about the logged-in user, such as email address, user ID, or username. Even if enabled, the type of logged-in user information you'll be able to send depends on the integrations you enable in Sentry's SDK. Most integrations won't send any user information. Some will only set the user ID, but there are a few that will set the user ID, username, and email address. -To start sending logged-in user information, set `send_default_pii=True` in the `sentry_sdk.init()` call. +To start sending logged-in user information, set the option `SendDefaultPii = true` when initializing the Sentry SDK. ## Users' IP Address By default, the Sentry SDK doesn't send the user's IP address. Even if enabled, whether you're able to send the user's IP address or not, will depend on the integrations you enable in Sentry's SDK. Most integrations won't set the user's IP address at all. -To enable sending the user's IP address, set `send_default_pii=True` in the `sentry_sdk.init()` call. +To enable sending the user's IP address, set the option `SendDefaultPii = true` when initializing the Sentry SDK. ## Request URL -The full request URL of outgoing and incoming HTTP requests is **always sent to Sentry**. Depending on your application, this could contain PII data. +By default, the [HttpRequestUrl](https://learn.microsoft.com/en-us/dotnet/api/System.UriComponents) of outgoing and incoming HTTP requests is **always sent to Sentry**. This includes the Scheme, Host, Port, LocalPath, and Query data. + +If `SendDefaultPii` is set to `true` then the [AbsoluteUri](https://learn.microsoft.com/en-us/dotnet/api/System.UriComponents) of outgoing and incoming HTTP requests will be sent to Sentry (including the Scheme, UserInfo, Host, Port, LocalPath, Query, and Fragment data). + +Depending on your application, this could contain PII data. ## Request Query String The full request query string of outgoing and incoming HTTP requests is **always sent to Sentry**. Depending on your application, this could contain PII data. -## Request Body +## Local Variables In Stack Trace -The request body of incoming HTTP requests can be sent to Sentry. Whether it's sent or not, depends on the type and size of request body as described below: +When unhandled errors and exceptions are captured, a stack trace including the names and values of local variables at the time of the error will be sent to Sentry. -- **The type of the request body:** - - JSON and form bodies are sent - - Raw request bodies are always removed - - Uploaded files in the request bodies are never sent to Sentry -- **The size of the request body:** There's a ["max_request_body_size"](/platforms/python/configuration/options/#max-request-body-size) option that's set to `medium` by default. This means that larger request bodies aren't sent to Sentry. +## SQL Queries -If you want to prevent bodies from being sent to Sentry altogether, set `max_request_body_size` to `"never"`. +While SQL queries are sent to Sentry, neither the full SQL query (`SELECT * FROM users WHERE email = 'joe@shmoe.com'`), nor the values of its parameters will ever be sent. A parameterized version of the query (`SELECT * FROM users WHERE email = @email`) is sent instead. -## Source Context +## Machine Name -When an unhandled exception is sent to Sentry, a snapshot of the source code surrounding the line where the error originates is sent with it. +The Sentry SDK does not send the machine name by default. -To opt out of sending this source context to Sentry, set `include_source_context` to `False`. +If you assign a value to the `ServerName` in the Sentry options then Sentry SDK will send this with any events. -## Local Variables In Stack Trace +Otherwise, if `SendDefaultPii` is set to true then the Sentry SDK will capture the `Environment.MachineName` automatically and send this with any events. -When unhandled errors and exceptions are sent to Sentry, the names and values of local variables that were set when the errors occurred are sent at the same time. +## General Device Information -You can stop sending local variables to Sentry by setting `include_local_variables=False` in the `sentry_sdk.init()` call. +The Sentry SDK collects information about the device, such as the version and build of your operating system, CPU and GPU details etc. This information is sent to Sentry by default. -## SQL Queries +## Data captured by Mobile SDKs -While SQL queries are sent to Sentry, neither the full SQL query (`UPDATE app_user SET password='supersecret' WHERE id=1;`), nor the values of its parameters will ever be sent. A parameterized version of the query (`UPDATE app_user SET password='%s' WHERE id=%s;`) is sent instead. +On mobile platforms, the Sentry SDK for .NET can also capture data indirectly via the Android and iOS SDKs. You should refer to the documentation for those SDKs for more information on what data is captured. -## LLM Inputs And Responses +- [Android](/platforms/android/data-management/data-collected/) +- [iOS](/platforms/apple/data-management/data-collected/) -When using Sentry in your AI apps, the SDK by default won't add data like LLM inputs and responses to spans. To start recording these, add `send_default_pii=True` to your `sentry_sdk.init()` call. +## Native Crash Reporting -Most AI integrations have an additional parameter to control whether prompts should be included called `include_prompts`. See the documentation for the specific AI framework for more information. +When compiling .NET applications Ahead-Of-Time (AOT), native crashes may also be captured. You should refer to [data captured by the Native SDK](/platforms/native/data-management/data-collected/) to understand what data is sent with those events. From a5bd5ad1af77d7414769522827fb9641b72ba726 Mon Sep 17 00:00:00 2001 From: James Crosswell Date: Sat, 10 May 2025 11:00:01 +1200 Subject: [PATCH 06/10] Review feedback --- .../common/data-management/data-collected.mdx | 12 +++++++----- .../powershell/data-management/data-collected.mdx | 14 ++++++++------ .../unity/data-management/data-collected.mdx | 12 +++++++----- 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/docs/platforms/dotnet/common/data-management/data-collected.mdx b/docs/platforms/dotnet/common/data-management/data-collected.mdx index 63afac47f5a930..4bfbeddbe8e0a8 100644 --- a/docs/platforms/dotnet/common/data-management/data-collected.mdx +++ b/docs/platforms/dotnet/common/data-management/data-collected.mdx @@ -20,6 +20,8 @@ If you want to send cookies, set the option `SendDefaultPii = true` when initial A [data scrubber](/platforms/dotnet/data-management/sensitive-data/) can be used to filter information before sending data to Sentry. +Any [sensitive cookies](https://github.com/getsentry/relay/blob/249971e1702991c64cf0f7f89773fb019ffb4a95/relay-pii/src/convert.rs#L235-L263) that the SDK does send will be stripped by Relay before Sentry stores these. + ## Information About Logged-in User By default, the Sentry SDK doesn't send any information about the logged-in user, such as email address, user ID, or username. Even if enabled, the type of logged-in user information you'll be able to send depends on the integrations you enable in Sentry's SDK. Most integrations won't send any user information. Some will only set the user ID, but there are a few that will set the user ID, username, and email address. @@ -28,10 +30,14 @@ To start sending logged-in user information, set the option `SendDefaultPii = tr ## Users' IP Address -By default, the Sentry SDK doesn't send the user's IP address. Even if enabled, whether you're able to send the user's IP address or not, will depend on the integrations you enable in Sentry's SDK. Most integrations won't set the user's IP address at all. +By default, the Sentry SDK doesn't send the user's IP address. To enable sending the user's IP address, set the option `SendDefaultPii = true` when initializing the Sentry SDK. +Even if enabled, whether you're able to send the user's IP address or not, will depend on the integrations you enable in Sentry's SDK. Most integrations won't set the user's IP address at all. + +You can [prevent Sentry from storing IP Addresses](https://docs.sentry.io/platforms/native/enriching-events/identify-user/#ip_address) either by configuring this in the "Security & Privacy" settings of your Sentry project or using [server-side data scrubbing](https://docs.sentry.io/security-legal-pii/scrubbing/server-side-scrubbing/). + ## Request URL By default, the [HttpRequestUrl](https://learn.microsoft.com/en-us/dotnet/api/System.UriComponents) of outgoing and incoming HTTP requests is **always sent to Sentry**. This includes the Scheme, Host, Port, LocalPath, and Query data. @@ -56,10 +62,6 @@ If you want request bodies to be sent to Sentry then this should be set instead -## Local Variables In Stack Trace - -When unhandled errors and exceptions are captured, a stack trace including the names and values of local variables at the time of the error will be sent to Sentry. - ## SQL Queries While SQL queries are sent to Sentry, neither the full SQL query (`SELECT * FROM users WHERE email = 'joe@shmoe.com'`), nor the values of its parameters will ever be sent. A parameterized version of the query (`SELECT * FROM users WHERE email = @email`) is sent instead. diff --git a/docs/platforms/powershell/data-management/data-collected.mdx b/docs/platforms/powershell/data-management/data-collected.mdx index 7148f77d20231a..e888406496abc1 100644 --- a/docs/platforms/powershell/data-management/data-collected.mdx +++ b/docs/platforms/powershell/data-management/data-collected.mdx @@ -1,6 +1,6 @@ --- title: Data Collected -description: "See what data is collected by the Sentry SDK." +description: "See what data is collected by the Sentry SDK for PowerShell." sidebar_order: 1 --- @@ -20,6 +20,8 @@ If you want to send cookies, set the option `SendDefaultPii = true` when initial A [data scrubber](/platforms/dotnet/data-management/sensitive-data/) can be used to filter information before sending data to Sentry. +Any [sensitive cookies](https://github.com/getsentry/relay/blob/249971e1702991c64cf0f7f89773fb019ffb4a95/relay-pii/src/convert.rs#L235-L263) that the SDK does send will be stripped by Relay before Sentry stores these. + ## Information About Logged-in User By default, the Sentry SDK doesn't send any information about the logged-in user, such as email address, user ID, or username. Even if enabled, the type of logged-in user information you'll be able to send depends on the integrations you enable in Sentry's SDK. Most integrations won't send any user information. Some will only set the user ID, but there are a few that will set the user ID, username, and email address. @@ -28,10 +30,14 @@ To start sending logged-in user information, set the option `SendDefaultPii = tr ## Users' IP Address -By default, the Sentry SDK doesn't send the user's IP address. Even if enabled, whether you're able to send the user's IP address or not, will depend on the integrations you enable in Sentry's SDK. Most integrations won't set the user's IP address at all. +By default, the Sentry SDK doesn't send the user's IP address. To enable sending the user's IP address, set the option `SendDefaultPii = true` when initializing the Sentry SDK. +Even if enabled, whether you're able to send the user's IP address or not, will depend on the integrations you enable in Sentry's SDK. Most integrations won't set the user's IP address at all. + +You can [prevent Sentry from storing IP Addresses](https://docs.sentry.io/platforms/native/enriching-events/identify-user/#ip_address) either by configuring this in the "Security & Privacy" settings of your Sentry project or using [server-side data scrubbing](https://docs.sentry.io/security-legal-pii/scrubbing/server-side-scrubbing/). + ## Request URL By default, the [HttpRequestUrl](https://learn.microsoft.com/en-us/dotnet/api/System.UriComponents) of outgoing and incoming HTTP requests is **always sent to Sentry**. This includes the Scheme, Host, Port, LocalPath, and Query data. @@ -44,10 +50,6 @@ Depending on your application, this could contain PII data. The full request query string of outgoing and incoming HTTP requests is **always sent to Sentry**. Depending on your application, this could contain PII data. -## Local Variables In Stack Trace - -When unhandled errors and exceptions are captured, a stack trace including the names and values of local variables at the time of the error will be sent to Sentry. - ## SQL Queries While SQL queries are sent to Sentry, neither the full SQL query (`SELECT * FROM users WHERE email = 'joe@shmoe.com'`), nor the values of its parameters will ever be sent. A parameterized version of the query (`SELECT * FROM users WHERE email = @email`) is sent instead. diff --git a/docs/platforms/unity/data-management/data-collected.mdx b/docs/platforms/unity/data-management/data-collected.mdx index f3c98afde3d3af..a9f4faba3e4d4d 100644 --- a/docs/platforms/unity/data-management/data-collected.mdx +++ b/docs/platforms/unity/data-management/data-collected.mdx @@ -20,6 +20,8 @@ If you want to send cookies, set the option `SendDefaultPii = true` when initial A [data scrubber](/platforms/dotnet/data-management/sensitive-data/) can be used to filter information before sending data to Sentry. +Any [sensitive cookies](https://github.com/getsentry/relay/blob/249971e1702991c64cf0f7f89773fb019ffb4a95/relay-pii/src/convert.rs#L235-L263) that the SDK does send will be stripped by Relay before Sentry stores these. + ## Information About Logged-in User By default, the Sentry SDK doesn't send any information about the logged-in user, such as email address, user ID, or username. Even if enabled, the type of logged-in user information you'll be able to send depends on the integrations you enable in Sentry's SDK. Most integrations won't send any user information. Some will only set the user ID, but there are a few that will set the user ID, username, and email address. @@ -28,10 +30,14 @@ To start sending logged-in user information, set the option `SendDefaultPii = tr ## Users' IP Address -By default, the Sentry SDK doesn't send the user's IP address. Even if enabled, whether you're able to send the user's IP address or not, will depend on the integrations you enable in Sentry's SDK. Most integrations won't set the user's IP address at all. +By default, the Sentry SDK doesn't send the user's IP address. To enable sending the user's IP address, set the option `SendDefaultPii = true` when initializing the Sentry SDK. +Even if enabled, whether you're able to send the user's IP address or not, will depend on the integrations you enable in Sentry's SDK. Most integrations won't set the user's IP address at all. + +You can [prevent Sentry from storing IP Addresses](https://docs.sentry.io/platforms/native/enriching-events/identify-user/#ip_address) either by configuring this in the "Security & Privacy" settings of your Sentry project or using [server-side data scrubbing](https://docs.sentry.io/security-legal-pii/scrubbing/server-side-scrubbing/). + ## Request URL By default, the [HttpRequestUrl](https://learn.microsoft.com/en-us/dotnet/api/System.UriComponents) of outgoing and incoming HTTP requests is **always sent to Sentry**. This includes the Scheme, Host, Port, LocalPath, and Query data. @@ -44,10 +50,6 @@ Depending on your application, this could contain PII data. The full request query string of outgoing and incoming HTTP requests is **always sent to Sentry**. Depending on your application, this could contain PII data. -## Local Variables In Stack Trace - -When unhandled errors and exceptions are captured, a stack trace including the names and values of local variables at the time of the error will be sent to Sentry. - ## SQL Queries While SQL queries are sent to Sentry, neither the full SQL query (`SELECT * FROM users WHERE email = 'joe@shmoe.com'`), nor the values of its parameters will ever be sent. A parameterized version of the query (`SELECT * FROM users WHERE email = @email`) is sent instead. From 52d6d88ed3eb6f7e03ebf314e98ffb0e69a7ddcb Mon Sep 17 00:00:00 2001 From: James Crosswell Date: Sat, 10 May 2025 11:06:53 +1200 Subject: [PATCH 07/10] Update data-collected.mdx --- .../data-management/data-collected.mdx | 62 +------------------ 1 file changed, 1 insertion(+), 61 deletions(-) diff --git a/docs/platforms/powershell/data-management/data-collected.mdx b/docs/platforms/powershell/data-management/data-collected.mdx index e888406496abc1..93ac53edbd0e79 100644 --- a/docs/platforms/powershell/data-management/data-collected.mdx +++ b/docs/platforms/powershell/data-management/data-collected.mdx @@ -4,64 +4,4 @@ description: "See what data is collected by the Sentry SDK for PowerShell." sidebar_order: 1 --- -Sentry takes data privacy very seriously and has default settings in place that prioritize data safety, especially when it comes to personally identifiable information (PII) data. When you add the Sentry SDK to your application, you allow it to collect data and send it to Sentry during the runtime of your application. - -The category types and amount of data collected vary, depending on the integrations you've enabled in the Sentry SDK. Here's a list of data categories the Sentry .NET SDK collects: - -## HTTP Headers - -By default, the Sentry SDK sends HTTP headers to Sentry but redacts any headers that may contain sensitive data. (See the [list of headers](https://github.com/getsentry/sentry-dotnet/blob/main/src/Sentry/Internal/RedactedHeaders.cs#L7) that are redacted). - -## Cookies - -By default, the Sentry SDK doesn't send cookies. - -If you want to send cookies, set the option `SendDefaultPii = true` when initializing the Sentry SDK. - -A [data scrubber](/platforms/dotnet/data-management/sensitive-data/) can be used to filter information before sending data to Sentry. - -Any [sensitive cookies](https://github.com/getsentry/relay/blob/249971e1702991c64cf0f7f89773fb019ffb4a95/relay-pii/src/convert.rs#L235-L263) that the SDK does send will be stripped by Relay before Sentry stores these. - -## Information About Logged-in User - -By default, the Sentry SDK doesn't send any information about the logged-in user, such as email address, user ID, or username. Even if enabled, the type of logged-in user information you'll be able to send depends on the integrations you enable in Sentry's SDK. Most integrations won't send any user information. Some will only set the user ID, but there are a few that will set the user ID, username, and email address. - -To start sending logged-in user information, set the option `SendDefaultPii = true` when initializing the Sentry SDK. - -## Users' IP Address - -By default, the Sentry SDK doesn't send the user's IP address. - -To enable sending the user's IP address, set the option `SendDefaultPii = true` when initializing the Sentry SDK. - -Even if enabled, whether you're able to send the user's IP address or not, will depend on the integrations you enable in Sentry's SDK. Most integrations won't set the user's IP address at all. - -You can [prevent Sentry from storing IP Addresses](https://docs.sentry.io/platforms/native/enriching-events/identify-user/#ip_address) either by configuring this in the "Security & Privacy" settings of your Sentry project or using [server-side data scrubbing](https://docs.sentry.io/security-legal-pii/scrubbing/server-side-scrubbing/). - -## Request URL - -By default, the [HttpRequestUrl](https://learn.microsoft.com/en-us/dotnet/api/System.UriComponents) of outgoing and incoming HTTP requests is **always sent to Sentry**. This includes the Scheme, Host, Port, LocalPath, and Query data. - -If `SendDefaultPii` is set to `true` then the [AbsoluteUri](https://learn.microsoft.com/en-us/dotnet/api/System.UriComponents) of outgoing and incoming HTTP requests will be sent to Sentry (including the Scheme, UserInfo, Host, Port, LocalPath, Query, and Fragment data). - -Depending on your application, this could contain PII data. - -## Request Query String - -The full request query string of outgoing and incoming HTTP requests is **always sent to Sentry**. Depending on your application, this could contain PII data. - -## SQL Queries - -While SQL queries are sent to Sentry, neither the full SQL query (`SELECT * FROM users WHERE email = 'joe@shmoe.com'`), nor the values of its parameters will ever be sent. A parameterized version of the query (`SELECT * FROM users WHERE email = @email`) is sent instead. - -## Machine Name - -The Sentry SDK does not send the machine name by default. - -If you assign a value to the `ServerName` in the Sentry options then Sentry SDK will send this with any events. - -Otherwise, if `SendDefaultPii` is set to true then the Sentry SDK will capture the `Environment.MachineName` automatically and send this with any events. - -## General Device Information - -The Sentry SDK collects information about the device, such as the version and build of your operating system, CPU and GPU details etc. This information is sent to Sentry by default. +The Sentry SDK for PowerShell is a wrapper around the Sentry SDK for .NET. The data collected by the Sentry SDK for PowerShell is the same as the data collected by the Sentry SDK for .NET. For details, see [Data Collected by the Sentry SDK for .NET](/platforms/dotnet/data-management/data-collected/). From c4680c6b9e418cbe71c19f217f9f25e1c88791ff Mon Sep 17 00:00:00 2001 From: James Crosswell Date: Sat, 10 May 2025 11:10:05 +1200 Subject: [PATCH 08/10] Update data-collected.mdx --- docs/platforms/unity/data-management/data-collected.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/platforms/unity/data-management/data-collected.mdx b/docs/platforms/unity/data-management/data-collected.mdx index a9f4faba3e4d4d..dbb435c19fd7ee 100644 --- a/docs/platforms/unity/data-management/data-collected.mdx +++ b/docs/platforms/unity/data-management/data-collected.mdx @@ -73,6 +73,6 @@ On mobile platforms, the Sentry SDK for .NET can also capture data indirectly vi - [Android](/platforms/android/data-management/data-collected/) - [iOS](/platforms/apple/data-management/data-collected/) -## Native Crash Reporting +## Data captured by the Native SDK -When compiling .NET applications Ahead-Of-Time (AOT), native crashes may also be captured. You should refer to [data captured by the Native SDK](/platforms/native/data-management/data-collected/) to understand what data is sent with those events. +When compiling for Windows, Linux or other platforms that use Sentry Native, you should refer to [data captured by the Native SDK](/platforms/native/data-management/data-collected/) to understand what data is sent with those events. From c320450623917fd7b8d6dc367975702776555343 Mon Sep 17 00:00:00 2001 From: Stefan Jandl Date: Mon, 12 May 2025 15:31:09 +0200 Subject: [PATCH 09/10] Update docs/platforms/unity/data-management/data-collected.mdx --- docs/platforms/unity/data-management/data-collected.mdx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/platforms/unity/data-management/data-collected.mdx b/docs/platforms/unity/data-management/data-collected.mdx index dbb435c19fd7ee..015c9f8a956411 100644 --- a/docs/platforms/unity/data-management/data-collected.mdx +++ b/docs/platforms/unity/data-management/data-collected.mdx @@ -54,6 +54,12 @@ The full request query string of outgoing and incoming HTTP requests is **always While SQL queries are sent to Sentry, neither the full SQL query (`SELECT * FROM users WHERE email = 'joe@shmoe.com'`), nor the values of its parameters will ever be sent. A parameterized version of the query (`SELECT * FROM users WHERE email = @email`) is sent instead. +## Device Unique Identifier + +The Sentry SDK does not set the `Device Unique Identifier` by default. + +If `SendDefaultPii` is set to `true` then the SDK will capture `SystemInfo.deviceUniqueIdentifier` automatically and send this with any event. + ## Machine Name The Sentry SDK does not send the machine name by default. From d0ab859bb385109bd6efbe485c47d1aa314ee8d3 Mon Sep 17 00:00:00 2001 From: Stefan Jandl Date: Mon, 12 May 2025 15:31:55 +0200 Subject: [PATCH 10/10] Update docs/platforms/unity/data-management/data-collected.mdx --- docs/platforms/unity/data-management/data-collected.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/platforms/unity/data-management/data-collected.mdx b/docs/platforms/unity/data-management/data-collected.mdx index 015c9f8a956411..d85a5af244f8c7 100644 --- a/docs/platforms/unity/data-management/data-collected.mdx +++ b/docs/platforms/unity/data-management/data-collected.mdx @@ -56,7 +56,7 @@ While SQL queries are sent to Sentry, neither the full SQL query (`SELECT * FROM ## Device Unique Identifier -The Sentry SDK does not set the `Device Unique Identifier` by default. +The Sentry SDK does not set the `Device Unique Identifier` by default. If `SendDefaultPii` is set to `true` then the SDK will capture `SystemInfo.deviceUniqueIdentifier` automatically and send this with any event.