Skip to content

Commit 72c1f71

Browse files
committed
chore: remove sensitive headers from traces
1 parent bf2fad4 commit 72c1f71

File tree

1 file changed

+21
-8
lines changed

1 file changed

+21
-8
lines changed

src/server/sentry.ts

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,34 @@ const captureOptions: Sentry.NodeOptions =
1717
profilesSampleRate: 1.0,
1818
}
1919

20+
const sensitiveKeys = ['pg', 'x-connection-encrypted']
21+
22+
function redactSensitiveData(data: any) {
23+
if (data && typeof data === 'object') {
24+
for (const key of sensitiveKeys) {
25+
if (key in data) {
26+
data[key] = '[REDACTED]'
27+
}
28+
}
29+
}
30+
}
31+
2032
export default Sentry.init({
2133
enabled: Boolean(dsn),
2234
dsn: dsn,
2335
environment: sentryEnvironment,
2436
integrations: [nodeProfilingIntegration()],
25-
beforeSend: (event) => {
26-
if (event.request?.headers?.['Pg']) {
27-
event.request.headers['Pg'] = String(event.request.headers['Pg'].length)
37+
beforeSendTransaction(transaction) {
38+
if (transaction.contexts?.trace?.data) {
39+
redactSensitiveData(transaction.contexts.trace.data)
2840
}
29-
if (event.request?.headers && event.request.headers['X-connection-encrypted']) {
30-
event.request.headers['X-connection-encrypted'] = String(
31-
event.request.headers['X-connection-encrypted'].length
32-
)
41+
return transaction
42+
},
43+
beforeSendSpan(span) {
44+
if (span.data) {
45+
redactSensitiveData(span.data)
3346
}
34-
return event
47+
return span
3548
},
3649
...captureOptions,
3750
})

0 commit comments

Comments
 (0)