비밀 정보 마스킹
기록은 git에 커밋되므로, 디스크에 쓰기 전에 비밀 정보가 제거됩니다. 마스킹은 기본적으로 활성화되어 있으며, 프록시는 다음 요청/응답 헤더의 값을 [REDACTED]로 바꿉니다.
AuthorizationCookieSet-Cookie
이것은 안전합니다. 재생 매칭은 이 헤더들을 무시하므로 마스킹이 재생을 깨뜨리지 않습니다. .mock.json 기록, WebSocket 기록, .har 파일에 적용됩니다. 마스킹을 끄려면 CLI에서 --no-redact를 전달하거나 설정에서 redaction: false로 설정하세요.
일부 쿠키만 민감한 경우, 무해한 쿠키를 이름으로 허용 목록에 추가하세요(예: theme 또는 A/B 테스트 쿠키). 허용 목록의 쿠키는 Cookie/Set-Cookie 안에서 값을 유지하고, 나머지 쿠키는 여전히 마스킹됩니다.
권장 인증 패턴
섹션 제목: “권장 인증 패턴”로그인 흐름과 자격 증명을 기록에서 완전히 빼려면, 프록시를 transparent 모드로 둔 Playwright setup 프로젝트에서 인증을 실행하고, storageState를 gitignore된 auth-state.json에 저장한 뒤 테스트에서 재사용하세요. 그러면 기록된 요청에는 (마스킹된) 세션 헤더만 담기고 로그인은 절대 담기지 않습니다.
실제 인증 공급자에 대한 동작하는 설정은 인증 앱 예제를 참조하세요.
마스킹 대상 조정
섹션 제목: “마스킹 대상 조정”기본 헤더는 항상 적용되며(마스킹이 켜져 있는 동안), 여기에 더 추가할 수 있습니다.
CLI 플래그
섹션 제목: “CLI 플래그”--no-redact— 비밀 정보 마스킹 비활성화(기본적으로 활성화).--redact— 비밀 정보 마스킹 활성화. 설정에서redaction: false로 되어 있을 때 다시 켤 때만 필요.--redact-headers <names>— 마스킹할 추가 헤더 이름(쉼표로 구분, 기본값과 병합).--redact-body <patterns>— 요청/응답 본문에서 마스킹할 정규식 패턴(쉼표로 구분).--allow-headers <names>— 마스킹에서 제외할 헤더 이름(쉼표로 구분, 예:set-cookie).--allow-cookies <names>—Cookie/Set-Cookie안에서 마스킹하지 않을 쿠키 이름(쉼표로 구분).
# 마스킹은 이미 켜져 있습니다. API 키 헤더와 "sk_live_..." 토큰도 마스킹하고, theme 쿠키는 유지test-proxy-recorder http://localhost:8000 \ --redact-headers x-api-key \ --redact-body "sk_live_[a-zA-Z0-9]+" \ --allow-cookies theme,locale프로그래밍 방식
섹션 제목: “프로그래밍 방식”ProxyServer를 직접 구성하는 경우:
import { ProxyServer } from 'test-proxy-recorder';
// 이 객체를 전달하면 마스킹이 활성화됩니다. 끄려면 `false`(또는 아무것도) 전달하세요.const proxy = new ProxyServer('http://localhost:3000', './recordings', undefined, { headers: ['x-api-key', 'x-auth'], // 추가 헤더 — 기본값과 병합됨 bodyPatterns: [/sk_live_[a-z0-9]+/i], // 요청/응답 본문에서 치환할 정규식 allowHeaders: ['set-cookie'], // 이 헤더는 절대 마스킹하지 않음 allowCookies: ['theme', 'locale'], // 이 쿠키는 Cookie/Set-Cookie 안에 유지 placeholder: '[REDACTED]', // 기본값});기존 기록을 직접 마스킹하고 싶다면 redactSession(session, config)도 내보내져 있습니다.