From 5983c67ff974251c6f9286fd131370241f7e648f Mon Sep 17 00:00:00 2001 From: Pablo Deputter Date: Tue, 13 Oct 2026 18:28:22 +0200 Subject: [PATCH] ref(attributes): Scrub S3 object keys by default Change scrubbing from manual to auto on `aws.s3.key`, `aws.s3.copy_source`, and `aws.s3.delete`. Keys can contain personal data, e.g. "customer/alex@example.com/invoice.pdf"; default scrubber should be applied as is done on `url.full` for example. --- .../sentry-conventions/src/attributes.ts | 27 ++++++++++++------- .../attributes/aws/aws__s3__copy_source.json | 6 ++++- model/attributes/aws/aws__s3__delete.json | 6 ++++- model/attributes/aws/aws__s3__key.json | 6 ++++- python/src/sentry_conventions/attributes.py | 24 ++++++++++++----- 5 files changed, 51 insertions(+), 18 deletions(-) diff --git a/javascript/sentry-conventions/src/attributes.ts b/javascript/sentry-conventions/src/attributes.ts index 644461a6..d0cbb3b0 100644 --- a/javascript/sentry-conventions/src/attributes.ts +++ b/javascript/sentry-conventions/src/attributes.ts @@ -3075,7 +3075,7 @@ export type AWS_S3_BUCKET_TYPE = string; * * Attribute Value Type: `string` {@link AWS_S3_COPY_SOURCE_TYPE} * - * Apply Scrubbing: manual + * Apply Scrubbing: auto * * Attribute defined in OTEL: Yes * Visibility: public @@ -3096,7 +3096,7 @@ export type AWS_S3_COPY_SOURCE_TYPE = string; * * Attribute Value Type: `string` {@link AWS_S3_DELETE_TYPE} * - * Apply Scrubbing: manual + * Apply Scrubbing: auto * * Attribute defined in OTEL: Yes * Visibility: public @@ -3117,7 +3117,7 @@ export type AWS_S3_DELETE_TYPE = string; * * Attribute Value Type: `string` {@link AWS_S3_KEY_TYPE} * - * Apply Scrubbing: manual + * Apply Scrubbing: auto * * Attribute defined in OTEL: Yes * Visibility: public @@ -24519,13 +24519,16 @@ export const ATTRIBUTE_METADATA: Record = { type: 'string', keys: ['aws.s3.copy_source'], applyScrubbing: { - key: 'manual', + key: 'auto', }, isInOtel: true, visibility: 'public', example: 'someFile.yml', examples: ['someFile.yml'], - changelog: [{ version: '0.27.0', prs: [672], description: 'Added aws.s3.copy_source attribute' }], + changelog: [ + { version: 'next', description: 'Changed apply_scrubbing from manual to auto' }, + { version: '0.27.0', prs: [672], description: 'Added aws.s3.copy_source attribute' }, + ], additionalContext: [ 'Applicable to the copy-object and upload-part-copy operations, corresponding to the CopySource parameter.', ], @@ -24535,13 +24538,16 @@ export const ATTRIBUTE_METADATA: Record = { type: 'string', keys: ['aws.s3.delete'], applyScrubbing: { - key: 'manual', + key: 'auto', }, isInOtel: true, visibility: 'public', example: 'Objects=[{Key=string,VersionId=string},{Key=string,VersionId=string}],Quiet=boolean', examples: ['Objects=[{Key=string,VersionId=string},{Key=string,VersionId=string}],Quiet=boolean'], - changelog: [{ version: '0.27.0', prs: [672], description: 'Added aws.s3.delete attribute' }], + changelog: [ + { version: 'next', description: 'Changed apply_scrubbing from manual to auto' }, + { version: '0.27.0', prs: [672], description: 'Added aws.s3.delete attribute' }, + ], additionalContext: ['Applicable only to the delete-objects operation, corresponding to its Delete parameter.'], }, 'aws.s3.key': { @@ -24549,13 +24555,16 @@ export const ATTRIBUTE_METADATA: Record = { type: 'string', keys: ['aws.s3.key'], applyScrubbing: { - key: 'manual', + key: 'auto', }, isInOtel: true, visibility: 'public', example: 'someFile.yml', examples: ['someFile.yml'], - changelog: [{ version: '0.27.0', prs: [672], description: 'Added aws.s3.key attribute' }], + changelog: [ + { version: 'next', description: 'Changed apply_scrubbing from manual to auto' }, + { version: '0.27.0', prs: [672], description: 'Added aws.s3.key attribute' }, + ], }, 'aws.s3.part_number': { brief: diff --git a/model/attributes/aws/aws__s3__copy_source.json b/model/attributes/aws/aws__s3__copy_source.json index f009e688..0ab5229a 100644 --- a/model/attributes/aws/aws__s3__copy_source.json +++ b/model/attributes/aws/aws__s3__copy_source.json @@ -6,12 +6,16 @@ ], "type": "string", "apply_scrubbing": { - "key": "manual" + "key": "auto" }, "is_in_otel": true, "visibility": "public", "examples": ["someFile.yml"], "changelog": [ + { + "version": "next", + "description": "Changed apply_scrubbing from manual to auto" + }, { "version": "0.27.0", "prs": [672], diff --git a/model/attributes/aws/aws__s3__delete.json b/model/attributes/aws/aws__s3__delete.json index adf22ee0..4ff7f4eb 100644 --- a/model/attributes/aws/aws__s3__delete.json +++ b/model/attributes/aws/aws__s3__delete.json @@ -4,12 +4,16 @@ "additional_context": ["Applicable only to the delete-objects operation, corresponding to its Delete parameter."], "type": "string", "apply_scrubbing": { - "key": "manual" + "key": "auto" }, "is_in_otel": true, "visibility": "public", "examples": ["Objects=[{Key=string,VersionId=string},{Key=string,VersionId=string}],Quiet=boolean"], "changelog": [ + { + "version": "next", + "description": "Changed apply_scrubbing from manual to auto" + }, { "version": "0.27.0", "prs": [672], diff --git a/model/attributes/aws/aws__s3__key.json b/model/attributes/aws/aws__s3__key.json index f9aba44d..198b480b 100644 --- a/model/attributes/aws/aws__s3__key.json +++ b/model/attributes/aws/aws__s3__key.json @@ -3,12 +3,16 @@ "brief": "The S3 object key the request refers to. Corresponds to the --key parameter of the S3 API operations.", "type": "string", "apply_scrubbing": { - "key": "manual" + "key": "auto" }, "is_in_otel": true, "visibility": "public", "examples": ["someFile.yml"], "changelog": [ + { + "version": "next", + "description": "Changed apply_scrubbing from manual to auto" + }, { "version": "0.27.0", "prs": [672], diff --git a/python/src/sentry_conventions/attributes.py b/python/src/sentry_conventions/attributes.py index 6b1f9e86..489ef1ce 100644 --- a/python/src/sentry_conventions/attributes.py +++ b/python/src/sentry_conventions/attributes.py @@ -2174,7 +2174,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """The source object (in the form bucket/key) for the copy operation. Type: str - Apply Scrubbing: manual + Apply Scrubbing: auto Defined in OTEL: Yes Visibility: public Example: "someFile.yml" @@ -2185,7 +2185,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """The delete request container that specifies the objects to be deleted. Type: str - Apply Scrubbing: manual + Apply Scrubbing: auto Defined in OTEL: Yes Visibility: public Example: "Objects=[{Key=string,VersionId=string},{Key=string,VersionId=string}],Quiet=boolean" @@ -2196,7 +2196,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """The S3 object key the request refers to. Corresponds to the --key parameter of the S3 API operations. Type: str - Apply Scrubbing: manual + Apply Scrubbing: auto Defined in OTEL: Yes Visibility: public Example: "someFile.yml" @@ -14664,12 +14664,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The source object (in the form bucket/key) for the copy operation.", type=AttributeType.STRING, keys=("aws.s3.copy_source",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="someFile.yml", examples=["someFile.yml"], changelog=[ + ChangelogEntry( + version="next", + description="Changed apply_scrubbing from manual to auto", + ), ChangelogEntry( version="0.27.0", prs=[672], @@ -14684,7 +14688,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The delete request container that specifies the objects to be deleted.", type=AttributeType.STRING, keys=("aws.s3.delete",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="Objects=[{Key=string,VersionId=string},{Key=string,VersionId=string}],Quiet=boolean", @@ -14692,6 +14696,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "Objects=[{Key=string,VersionId=string},{Key=string,VersionId=string}],Quiet=boolean" ], changelog=[ + ChangelogEntry( + version="next", + description="Changed apply_scrubbing from manual to auto", + ), ChangelogEntry( version="0.27.0", prs=[672], description="Added aws.s3.delete attribute" ), @@ -14704,12 +14712,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The S3 object key the request refers to. Corresponds to the --key parameter of the S3 API operations.", type=AttributeType.STRING, keys=("aws.s3.key",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="someFile.yml", examples=["someFile.yml"], changelog=[ + ChangelogEntry( + version="next", + description="Changed apply_scrubbing from manual to auto", + ), ChangelogEntry( version="0.27.0", prs=[672], description="Added aws.s3.key attribute" ),