From 04625a801b847b558c78300754a901418e66dd04 Mon Sep 17 00:00:00 2001 From: Erica Pisani Date: Thu, 1 Oct 2026 09:42:17 -0400 Subject: [PATCH] ref(asgi)!: Drop `send_default_pii` support when setting user IP address Always gate the `user.ip_address` span attribute on `data_collection["user_info"]` instead of falling back to `send_default_pii` when `data_collection` isn't enabled. Update the FastAPI form-data test to use `data_collection` rather than `send_default_pii`. Refs PY-2798 Refs #7566 --- sentry_sdk/integrations/asgi.py | 8 ++------ tests/integrations/fastapi/test_fastapi.py | 2 +- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/sentry_sdk/integrations/asgi.py b/sentry_sdk/integrations/asgi.py index 4191c7388d..33a7f0ed43 100644 --- a/sentry_sdk/integrations/asgi.py +++ b/sentry_sdk/integrations/asgi.py @@ -26,7 +26,7 @@ from sentry_sdk.integrations._wsgi_common import ( DEFAULT_HTTP_METHODS_TO_CAPTURE, ) -from sentry_sdk.scope import Scope, should_send_default_pii +from sentry_sdk.scope import Scope from sentry_sdk.sessions import track_session from sentry_sdk.traces import ( SegmentNameSource, @@ -37,7 +37,6 @@ _is_localhost, capture_internal_exceptions, event_from_exception, - has_data_collection_enabled, logger, reraise, ) @@ -226,10 +225,7 @@ async def _run_app( ip = _get_ip(scope) if ip: client_options = sentry_sdk.get_client().options - if has_data_collection_enabled(client_options): - if client_options["data_collection"]["user_info"]: - sentry_scope.set_attribute(SPANDATA.USER_IP_ADDRESS, ip) - elif should_send_default_pii(): + if client_options["data_collection"]["user_info"]: sentry_scope.set_attribute(SPANDATA.USER_IP_ADDRESS, ip) if ty in ("http", "websocket"): diff --git a/tests/integrations/fastapi/test_fastapi.py b/tests/integrations/fastapi/test_fastapi.py index 15e760032a..ab8f34d982 100644 --- a/tests/integrations/fastapi/test_fastapi.py +++ b/tests/integrations/fastapi/test_fastapi.py @@ -169,7 +169,7 @@ async def test_request_info_json_body(sentry_init, capture_items): async def test_formdata_request_body(sentry_init, capture_items): sentry_init( traces_sample_rate=1.0, - send_default_pii=True, + data_collection={}, max_request_body_size="always", integrations=[StarletteIntegration()], )