Skip to content

Commit f2133c2

Browse files
committed
more improvments, updates that I found doing another pass on the spec
1 parent d7f823c commit f2133c2

2 files changed

Lines changed: 9 additions & 10 deletions

File tree

sentry_sdk/consts.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1434,10 +1434,7 @@ def __init__(
14341434
If you enable this option, be sure to manually remove what you don't want to send using our features for
14351435
managing `Sensitive Data <https://docs.sentry.io/data-management/sensitive-data/>`_.
14361436
1437-
.. deprecated::
1438-
Use `data_collection` instead. `send_default_pii` is still honored when `data_collection` is not set.
1439-
1440-
:param data_collection: Structured configuration controlling what data integrations collect automatically,
1437+
:param data_collection: (EXPERIMENTAL) Structured configuration controlling what data integrations collect automatically,
14411438
superseding `send_default_pii`. Pass a dict to enable or
14421439
restrict collection per category (user identity, cookies, HTTP headers/bodies, query params, generative AI
14431440
inputs/outputs, stack frame variables, source context).

sentry_sdk/data_collection.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
1414
Resolution precedence (see :func:`resolve_data_collection`):
1515
16-
* ``data_collection`` set, ``send_default_pii`` unset -> honor ``data_collection``
16+
* ``data_collection`` set, ``send_default_pii`` unset -> honour ``data_collection``
1717
using the spec defaults for any omitted field.
1818
* ``send_default_pii`` set, ``data_collection`` unset -> derive a
1919
resolved ``DataCollection`` that mirrors what ``send_default_pii`` collects today.
@@ -37,7 +37,7 @@
3737
KeyValueCollectionBehaviour,
3838
)
3939

40-
#: All valid body types. ``http_bodies`` defaults to this (collect everything the
40+
#: ``http_bodies`` defaults to this (collect everything the
4141
#: platform supports); an empty list is the explicit opt-out.
4242
ALL_HTTP_BODY_TYPES = [
4343
"incoming_request",
@@ -90,20 +90,22 @@ def _map_from_send_default_pii(
9090
provided explicitly.
9191
"""
9292
kv_mode: "Literal['deny_list', 'off']" = "deny_list" if send_default_pii else "off"
93+
terms = [] if send_default_pii else ["forwarded", "-ip", "remote-", "via", "-user"]
94+
9395
return {
9496
"provided_by_user": False,
9597
"user_info": send_default_pii,
96-
"cookies": {"mode": kv_mode},
98+
"cookies": {"mode": kv_mode, "terms": terms},
9799
# Headers are collected in both PII modes today (sensitive ones filtered
98100
# when PII is off), so this never maps to "off".
99101
"http_headers": {
100-
"request": {"mode": "deny_list"},
101-
"response": {"mode": "deny_list"},
102+
"request": {"mode": "deny_list", "terms": terms},
103+
"response": {"mode": "deny_list", "terms": terms},
102104
},
103105
# Bodies are collected regardless of PII today, bounded by
104106
# ``max_request_body_size``.
105107
"http_bodies": list(ALL_HTTP_BODY_TYPES),
106-
"query_params": {"mode": kv_mode},
108+
"query_params": {"mode": kv_mode, "terms": terms},
107109
"graphql": {"document": send_default_pii, "variables": send_default_pii},
108110
"gen_ai": {"inputs": send_default_pii, "outputs": send_default_pii},
109111
"database": {"query_params": send_default_pii},

0 commit comments

Comments
 (0)