From 8f927b600600291a38ea076768aefa3532fce877 Mon Sep 17 00:00:00 2001 From: Sebastian Zivota Date: Wed, 13 May 2026 13:34:16 +0200 Subject: [PATCH 1/3] fix(attributes): Increase some PII values --- .../sentry-conventions/src/attributes.ts | 20 +++++++++---------- .../gen_ai/gen_ai__response__streaming.json | 2 +- model/attributes/http/http__query.json | 2 +- model/attributes/thread/thread__id.json | 2 +- model/attributes/url/url__full.json | 2 +- model/attributes/url/url__query.json | 2 +- python/src/sentry_conventions/attributes.py | 20 +++++++++---------- 7 files changed, 25 insertions(+), 25 deletions(-) diff --git a/javascript/sentry-conventions/src/attributes.ts b/javascript/sentry-conventions/src/attributes.ts index e74c1197..5865ab1d 100644 --- a/javascript/sentry-conventions/src/attributes.ts +++ b/javascript/sentry-conventions/src/attributes.ts @@ -4631,7 +4631,7 @@ export type GEN_AI_RESPONSE_MODEL_TYPE = string; * * Attribute Value Type: `boolean` {@link GEN_AI_RESPONSE_STREAMING_TYPE} * - * Contains PII: false + * Contains PII: maybe * * Attribute defined in OTEL: No * @@ -5364,7 +5364,7 @@ export type HTTP_METHOD_TYPE = string; * * Attribute Value Type: `string` {@link HTTP_QUERY_TYPE} * - * Contains PII: maybe - Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information. + * Contains PII: true - Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information. * * Attribute defined in OTEL: No * @@ -10293,7 +10293,7 @@ export type SERVICE_VERSION_TYPE = string; * * Attribute Value Type: `number` {@link THREAD_ID_TYPE} * - * Contains PII: false + * Contains PII: maybe * * Attribute defined in OTEL: Yes * @@ -10791,7 +10791,7 @@ export type URL_FRAGMENT_TYPE = string; * * Attribute Value Type: `string` {@link URL_FULL_TYPE} * - * Contains PII: maybe + * Contains PII: true * * Attribute defined in OTEL: Yes * @@ -10877,7 +10877,7 @@ export type URL_PORT_TYPE = number; * * Attribute Value Type: `string` {@link URL_QUERY_TYPE} * - * Contains PII: maybe - Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information. + * Contains PII: true - Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information. * * Attribute defined in OTEL: Yes * @@ -15928,7 +15928,7 @@ export const ATTRIBUTE_METADATA: Record = { brief: "Whether or not the AI model call's response was streamed back asynchronously", type: 'boolean', pii: { - isPii: 'false', + isPii: 'maybe', }, isInOtel: false, example: true, @@ -16400,7 +16400,7 @@ export const ATTRIBUTE_METADATA: Record = { 'The query string present in the URL. Note that this contains the leading ? character, while the `url.query` attribute does not.', type: 'string', pii: { - isPii: 'maybe', + isPii: 'true', reason: 'Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information.', }, @@ -19197,7 +19197,7 @@ export const ATTRIBUTE_METADATA: Record = { brief: 'Current “managed” thread ID.', type: 'integer', pii: { - isPii: 'false', + isPii: 'maybe', }, isInOtel: true, example: 56, @@ -19498,7 +19498,7 @@ export const ATTRIBUTE_METADATA: Record = { brief: 'The URL of the resource that was fetched.', type: 'string', pii: { - isPii: 'maybe', + isPii: 'true', }, isInOtel: true, example: 'https://example.com/test?foo=bar#buzz', @@ -19543,7 +19543,7 @@ export const ATTRIBUTE_METADATA: Record = { 'The query string present in the URL. Note that this does not contain the leading ? character, while the `http.query` attribute does.', type: 'string', pii: { - isPii: 'maybe', + isPii: 'true', reason: 'Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information.', }, diff --git a/model/attributes/gen_ai/gen_ai__response__streaming.json b/model/attributes/gen_ai/gen_ai__response__streaming.json index 25b3aab1..e1b536bb 100644 --- a/model/attributes/gen_ai/gen_ai__response__streaming.json +++ b/model/attributes/gen_ai/gen_ai__response__streaming.json @@ -3,7 +3,7 @@ "brief": "Whether or not the AI model call's response was streamed back asynchronously", "type": "boolean", "pii": { - "key": "false" + "key": "maybe" }, "is_in_otel": false, "example": true, diff --git a/model/attributes/http/http__query.json b/model/attributes/http/http__query.json index 3af85d70..7d22ea33 100644 --- a/model/attributes/http/http__query.json +++ b/model/attributes/http/http__query.json @@ -3,7 +3,7 @@ "brief": "The query string present in the URL. Note that this contains the leading ? character, while the `url.query` attribute does not.", "type": "string", "pii": { - "key": "maybe", + "key": "true", "reason": "Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information." }, "is_in_otel": false, diff --git a/model/attributes/thread/thread__id.json b/model/attributes/thread/thread__id.json index d0c34ed6..ce82ab98 100644 --- a/model/attributes/thread/thread__id.json +++ b/model/attributes/thread/thread__id.json @@ -3,7 +3,7 @@ "brief": "Current “managed” thread ID.", "type": "integer", "pii": { - "key": "false" + "key": "maybe" }, "is_in_otel": true, "example": 56, diff --git a/model/attributes/url/url__full.json b/model/attributes/url/url__full.json index f0e6cc1d..7ab1505e 100644 --- a/model/attributes/url/url__full.json +++ b/model/attributes/url/url__full.json @@ -3,7 +3,7 @@ "brief": "The URL of the resource that was fetched.", "type": "string", "pii": { - "key": "maybe" + "key": "true" }, "is_in_otel": true, "example": "https://example.com/test?foo=bar#buzz", diff --git a/model/attributes/url/url__query.json b/model/attributes/url/url__query.json index 26220b36..9c055a42 100644 --- a/model/attributes/url/url__query.json +++ b/model/attributes/url/url__query.json @@ -3,7 +3,7 @@ "brief": "The query string present in the URL. Note that this does not contain the leading ? character, while the `http.query` attribute does.", "type": "string", "pii": { - "key": "maybe", + "key": "true", "reason": "Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information." }, "is_in_otel": true, diff --git a/python/src/sentry_conventions/attributes.py b/python/src/sentry_conventions/attributes.py index 5563bd91..ec5d10b5 100644 --- a/python/src/sentry_conventions/attributes.py +++ b/python/src/sentry_conventions/attributes.py @@ -2716,7 +2716,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """Whether or not the AI model call's response was streamed back asynchronously Type: bool - Contains PII: false + Contains PII: maybe Defined in OTEL: No Aliases: ai.streaming Example: true @@ -3124,7 +3124,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """The query string present in the URL. Note that this contains the leading ? character, while the `url.query` attribute does not. Type: str - Contains PII: maybe - Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information. + Contains PII: true - Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information. Defined in OTEL: No Example: "?foo=bar&bar=baz" """ @@ -5761,7 +5761,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """Current “managed” thread ID. Type: int - Contains PII: false + Contains PII: maybe Defined in OTEL: Yes Example: 56 """ @@ -6003,7 +6003,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """The URL of the resource that was fetched. Type: str - Contains PII: maybe + Contains PII: true Defined in OTEL: Yes Aliases: http.url, url Example: "https://example.com/test?foo=bar#buzz" @@ -6048,7 +6048,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """The query string present in the URL. Note that this does not contain the leading ? character, while the `http.query` attribute does. Type: str - Contains PII: maybe - Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information. + Contains PII: true - Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information. Defined in OTEL: Yes Example: "foo=bar&bar=baz" """ @@ -9685,7 +9685,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.response.streaming": AttributeMetadata( brief="Whether or not the AI model call's response was streamed back asynchronously", type=AttributeType.BOOLEAN, - pii=PiiInfo(isPii=IsPii.FALSE), + pii=PiiInfo(isPii=IsPii.MAYBE), is_in_otel=False, example=True, aliases=["ai.streaming"], @@ -10131,7 +10131,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The query string present in the URL. Note that this contains the leading ? character, while the `url.query` attribute does not.", type=AttributeType.STRING, pii=PiiInfo( - isPii=IsPii.MAYBE, + isPii=IsPii.TRUE, reason="Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information.", ), is_in_otel=False, @@ -13012,7 +13012,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "thread.id": AttributeMetadata( brief="Current “managed” thread ID.", type=AttributeType.INTEGER, - pii=PiiInfo(isPii=IsPii.FALSE), + pii=PiiInfo(isPii=IsPii.MAYBE), is_in_otel=True, example=56, changelog=[ @@ -13344,7 +13344,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "url.full": AttributeMetadata( brief="The URL of the resource that was fetched.", type=AttributeType.STRING, - pii=PiiInfo(isPii=IsPii.MAYBE), + pii=PiiInfo(isPii=IsPii.TRUE), is_in_otel=True, example="https://example.com/test?foo=bar#buzz", aliases=["http.url", "url"], @@ -13390,7 +13390,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The query string present in the URL. Note that this does not contain the leading ? character, while the `http.query` attribute does.", type=AttributeType.STRING, pii=PiiInfo( - isPii=IsPii.MAYBE, + isPii=IsPii.TRUE, reason="Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information.", ), is_in_otel=True, From fb34ac6704aedc19386f918fa48e5262e66cd793 Mon Sep 17 00:00:00 2001 From: Sebastian Zivota Date: Wed, 13 May 2026 13:46:38 +0200 Subject: [PATCH 2/3] Also handle aliases --- model/attributes/ai/ai__streaming.json | 2 +- model/attributes/http/http__url.json | 2 +- model/attributes/url.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/model/attributes/ai/ai__streaming.json b/model/attributes/ai/ai__streaming.json index 28dc9f46..343c1ead 100644 --- a/model/attributes/ai/ai__streaming.json +++ b/model/attributes/ai/ai__streaming.json @@ -3,7 +3,7 @@ "brief": "Whether the request was streamed back.", "type": "boolean", "pii": { - "key": "false" + "key": "maybe" }, "is_in_otel": false, "example": true, diff --git a/model/attributes/http/http__url.json b/model/attributes/http/http__url.json index 07ebb898..6d13f9ab 100644 --- a/model/attributes/http/http__url.json +++ b/model/attributes/http/http__url.json @@ -3,7 +3,7 @@ "brief": "The URL of the resource that was fetched.", "type": "string", "pii": { - "key": "maybe" + "key": "true" }, "is_in_otel": true, "example": "https://example.com/test?foo=bar#buzz", diff --git a/model/attributes/url.json b/model/attributes/url.json index 132ce9bd..dd358265 100644 --- a/model/attributes/url.json +++ b/model/attributes/url.json @@ -3,7 +3,7 @@ "brief": "The URL of the resource that was fetched.", "type": "string", "pii": { - "key": "maybe" + "key": "true" }, "is_in_otel": false, "example": "https://example.com/test?foo=bar#buzz", From 6c0a80cc06176fd21b5f4ab072bd14a2c6be3494 Mon Sep 17 00:00:00 2001 From: Sebastian Zivota Date: Wed, 13 May 2026 13:52:28 +0200 Subject: [PATCH 3/3] yarn generate --- javascript/sentry-conventions/src/attributes.ts | 12 ++++++------ python/src/sentry_conventions/attributes.py | 12 ++++++------ shared/deprecated_attributes.json | 6 +++--- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/javascript/sentry-conventions/src/attributes.ts b/javascript/sentry-conventions/src/attributes.ts index 5865ab1d..8e7aa029 100644 --- a/javascript/sentry-conventions/src/attributes.ts +++ b/javascript/sentry-conventions/src/attributes.ts @@ -495,7 +495,7 @@ export type AI_SEED_TYPE = string; * * Attribute Value Type: `boolean` {@link AI_STREAMING_TYPE} * - * Contains PII: false + * Contains PII: maybe * * Attribute defined in OTEL: No * @@ -6039,7 +6039,7 @@ export type HTTP_TARGET_TYPE = string; * * Attribute Value Type: `string` {@link HTTP_URL_TYPE} * - * Contains PII: maybe + * Contains PII: true * * Attribute defined in OTEL: Yes * @@ -10728,7 +10728,7 @@ export type UI_ELEMENT_WIDTH_TYPE = number; * * Attribute Value Type: `string` {@link URL_TYPE} * - * Contains PII: maybe + * Contains PII: true * * Attribute defined in OTEL: No * @@ -13427,7 +13427,7 @@ export const ATTRIBUTE_METADATA: Record = { brief: 'Whether the request was streamed back.', type: 'boolean', pii: { - isPii: 'false', + isPii: 'maybe', }, isInOtel: false, example: true, @@ -16801,7 +16801,7 @@ export const ATTRIBUTE_METADATA: Record = { brief: 'The URL of the resource that was fetched.', type: 'string', pii: { - isPii: 'maybe', + isPii: 'true', }, isInOtel: true, example: 'https://example.com/test?foo=bar#buzz', @@ -19461,7 +19461,7 @@ export const ATTRIBUTE_METADATA: Record = { brief: 'The URL of the resource that was fetched.', type: 'string', pii: { - isPii: 'maybe', + isPii: 'true', }, isInOtel: false, example: 'https://example.com/test?foo=bar#buzz', diff --git a/python/src/sentry_conventions/attributes.py b/python/src/sentry_conventions/attributes.py index ec5d10b5..4100b101 100644 --- a/python/src/sentry_conventions/attributes.py +++ b/python/src/sentry_conventions/attributes.py @@ -518,7 +518,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """Whether the request was streamed back. Type: bool - Contains PII: false + Contains PII: maybe Defined in OTEL: No Aliases: gen_ai.response.streaming DEPRECATED: Use gen_ai.response.streaming instead @@ -3509,7 +3509,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """The URL of the resource that was fetched. Type: str - Contains PII: maybe + Contains PII: true Defined in OTEL: Yes Aliases: url.full, url DEPRECATED: Use url.full instead @@ -6080,7 +6080,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """The URL of the resource that was fetched. Type: str - Contains PII: maybe + Contains PII: true Defined in OTEL: No Aliases: url.full, http.url DEPRECATED: Use url.full instead @@ -6901,7 +6901,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.streaming": AttributeMetadata( brief="Whether the request was streamed back.", type=AttributeType.BOOLEAN, - pii=PiiInfo(isPii=IsPii.FALSE), + pii=PiiInfo(isPii=IsPii.MAYBE), is_in_otel=False, example=True, deprecation=DeprecationInfo( @@ -10547,7 +10547,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "http.url": AttributeMetadata( brief="The URL of the resource that was fetched.", type=AttributeType.STRING, - pii=PiiInfo(isPii=IsPii.MAYBE), + pii=PiiInfo(isPii=IsPii.TRUE), is_in_otel=True, example="https://example.com/test?foo=bar#buzz", deprecation=DeprecationInfo(replacement="url.full"), @@ -13426,7 +13426,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "url": AttributeMetadata( brief="The URL of the resource that was fetched.", type=AttributeType.STRING, - pii=PiiInfo(isPii=IsPii.MAYBE), + pii=PiiInfo(isPii=IsPii.TRUE), is_in_otel=False, example="https://example.com/test?foo=bar#buzz", deprecation=DeprecationInfo(replacement="url.full"), diff --git a/shared/deprecated_attributes.json b/shared/deprecated_attributes.json index 8d676293..dacc9e2d 100644 --- a/shared/deprecated_attributes.json +++ b/shared/deprecated_attributes.json @@ -545,7 +545,7 @@ "brief": "The URL of the resource that was fetched.", "type": "string", "pii": { - "key": "maybe" + "key": "true" }, "is_in_otel": false, "example": "https://example.com/test?foo=bar#buzz", @@ -1091,7 +1091,7 @@ "brief": "Whether the request was streamed back.", "type": "boolean", "pii": { - "key": "false" + "key": "maybe" }, "is_in_otel": false, "example": true, @@ -2454,7 +2454,7 @@ "brief": "The URL of the resource that was fetched.", "type": "string", "pii": { - "key": "maybe" + "key": "true" }, "is_in_otel": true, "example": "https://example.com/test?foo=bar#buzz",