@@ -22,6 +22,12 @@ export function redactSensitiveInfo(message: string): string {
2222 / B e a r e r \s + ( [ a - z A - Z 0 - 9 _ - ] { 20 , } ) / gi,
2323 // Generic tokens
2424 / T O K E N [ = \s ] * [ " ' ] ? ( [ a - z A - Z 0 - 9 _ - ] { 20 , } ) / gi,
25+ // Vercel Team IDs (team_xxxx or alphanumeric strings after VERCEL_TEAM_ID)
26+ / V E R C E L _ T E A M _ I D [ = \s : ] * [ " ' ] ? ( [ a - z A - Z 0 - 9 _ - ] { 8 , } ) / gi,
27+ // Vercel Project IDs (prj_xxxx or alphanumeric strings after VERCEL_PROJECT_ID)
28+ / V E R C E L _ P R O J E C T _ I D [ = \s : ] * [ " ' ] ? ( [ a - z A - Z 0 - 9 _ - ] { 8 , } ) / gi,
29+ // Vercel tokens (any alphanumeric strings after VERCEL_TOKEN)
30+ / V E R C E L _ T O K E N [ = \s : ] * [ " ' ] ? ( [ a - z A - Z 0 - 9 _ - ] { 20 , } ) / gi,
2531 ]
2632
2733 // Apply redaction patterns
@@ -47,9 +53,14 @@ export function redactSensitiveInfo(message: string): string {
4753 } )
4854 } )
4955
56+ // Redact JSON field patterns (for teamId, projectId in JSON objects)
57+ redacted = redacted . replace ( / " ( t e a m I d | p r o j e c t I d ) " [ \s : ] * " ( [ ^ " ] + ) " / gi, ( match , fieldName ) => {
58+ return `"${ fieldName } ": "[REDACTED]"`
59+ } )
60+
5061 // Redact environment variable assignments with sensitive values
5162 redacted = redacted . replace (
52- / ( [ A - Z _ ] * (?: K E Y | T O K E N | S E C R E T | P A S S W O R D ) [ A - Z _ ] * ) [ = \s ] * [ " ' ] ? ( [ a - z A - Z 0 - 9 _ - ] { 8 , } ) [ " ' ] ? / gi,
63+ / ( [ A - Z _ ] * (?: K E Y | T O K E N | S E C R E T | P A S S W O R D | T E A M _ I D | P R O J E C T _ I D ) [ A - Z _ ] * ) [ = \s : ] * [ " ' ] ? ( [ a - z A - Z 0 - 9 _ - ] { 8 , } ) [ " ' ] ? / gi,
5364 ( match , varName , value ) => {
5465 const redactedValue =
5566 value . length > 8
0 commit comments