Skip to content

Commit 6c91d53

Browse files
committed
Drop scrubbed user IP addresses
1 parent cff08d0 commit 6c91d53

3 files changed

Lines changed: 7 additions & 18 deletions

File tree

sentry_sdk/scrubber.py

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ def __init__(
6666
recursive: bool = False,
6767
send_default_pii: bool = False,
6868
pii_denylist: "Optional[List[str]]" = None,
69-
remove_user_ip_address: bool = False,
7069
) -> None:
7170
"""
7271
A scrubber that goes through the event payload and removes sensitive data configured through denylists.
@@ -75,7 +74,6 @@ def __init__(
7574
:param recursive: Whether to scrub the event payload recursively, default False.
7675
:param send_default_pii: Whether pii is sending is on, pii fields are not scrubbed.
7776
:param pii_denylist: The denylist to use for scrubbing when pii is not sent, defaults to DEFAULT_PII_DENYLIST.
78-
:param remove_user_ip_address: Whether to remove ``user.ip_address`` instead of replacing it with ``[Filtered]``.
7977
"""
8078
self.denylist = DEFAULT_DENYLIST.copy() if denylist is None else denylist
8179

@@ -87,7 +85,6 @@ def __init__(
8785

8886
self.denylist = [x.lower() for x in self.denylist]
8987
self.recursive = recursive
90-
self.remove_user_ip_address = remove_user_ip_address
9188

9289
def scrub_list(self, lst: object) -> None:
9390
"""
@@ -141,11 +138,7 @@ def scrub_user(self, event: "Event") -> None:
141138
with capture_internal_exceptions():
142139
if "user" in event:
143140
user = event["user"]
144-
if (
145-
"ip_address" in self.denylist
146-
and self.remove_user_ip_address
147-
and isinstance(user, dict)
148-
):
141+
if "ip_address" in self.denylist and isinstance(user, dict):
149142
user.pop("ip_address", None)
150143
self.scrub_dict(user)
151144

tests/new_scopes_compat/test_new_scopes_compat_event.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,6 @@ def create_expected_error_event(trx, span):
102102
"user": {
103103
"id": "123",
104104
"email": "[email protected]",
105-
"ip_address": "[Filtered]",
106105
},
107106
"transaction": "test_transaction",
108107
"transaction_info": {"source": "custom"},
@@ -137,7 +136,6 @@ def create_expected_error_event(trx, span):
137136
},
138137
"platform": "python",
139138
"_meta": {
140-
"user": {"ip_address": {"": {"rem": [["!config", "s"]]}}},
141139
"extra": {
142140
"should_be_removed_by_event_scrubber": {
143141
"": {"rem": [["!config", "s"]]}
@@ -207,7 +205,6 @@ def create_expected_transaction_event(trx, span):
207205
"user": {
208206
"id": "123",
209207
"email": "[email protected]",
210-
"ip_address": "[Filtered]",
211208
},
212209
"extra": {
213210
"extra1": "extra1_value",
@@ -226,7 +223,6 @@ def create_expected_transaction_event(trx, span):
226223
},
227224
"platform": "python",
228225
"_meta": {
229-
"user": {"ip_address": {"": {"rem": [["!config", "s"]]}}},
230226
"extra": {
231227
"should_be_removed_by_event_scrubber": {
232228
"": {"rem": [["!config", "s"]]}

tests/test_scrubber.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ def test_ip_address_not_scrubbed_when_pii_enabled(sentry_init, capture_events):
8989
}
9090

9191

92-
def test_user_ip_address_scrubbed_when_pii_disabled(sentry_init, capture_events):
92+
def test_user_ip_address_removed_when_pii_disabled(sentry_init, capture_events):
9393
sentry_init()
9494
events = capture_events()
9595

@@ -103,12 +103,12 @@ def test_user_ip_address_scrubbed_when_pii_disabled(sentry_init, capture_events)
103103

104104
(event,) = events
105105

106-
assert event["user"] == {"id": "42", "ip_address": "[Filtered]"}
107-
assert event["_meta"]["user"] == {"ip_address": {"": {"rem": [["!config", "s"]]}}}
106+
assert event["user"] == {"id": "42"}
107+
assert "user" not in event.get("_meta", {})
108108

109109

110-
def test_user_ip_address_removed_when_configured(sentry_init, capture_events):
111-
sentry_init(event_scrubber=EventScrubber(remove_user_ip_address=True))
110+
def test_user_ip_address_not_removed_when_pii_enabled(sentry_init, capture_events):
111+
sentry_init(send_default_pii=True)
112112
events = capture_events()
113113

114114
try:
@@ -121,7 +121,7 @@ def test_user_ip_address_removed_when_configured(sentry_init, capture_events):
121121

122122
(event,) = events
123123

124-
assert event["user"] == {"id": "42"}
124+
assert event["user"] == {"id": "42", "ip_address": "127.0.0.1"}
125125
assert "user" not in event.get("_meta", {})
126126

127127

0 commit comments

Comments
 (0)