아키텍처
규칙은 한 곳에만 작성합니다
탐지, 겹치는 탐지 정리, 정책 적용, 가림 처리는 모두 Rust 코어 하나에서 이루어지고, JavaScript·Python·Rust·CLI는 이 코어를 호출합니다. 이 섹션에서는 코어가 무엇을 판단하는지, 그 판단을 얼마나 잘 측정하는지, 텍스트가 코어에 들어오기까지 무엇을 거치는지 설명합니다.
코어 하나, 사용 방식 넷.
언어마다 얇은 변환 계층만 있고 규칙 사본은 없습니다. 그래서 JavaScript와 Python이 무엇을 시크릿으로 볼지를 두고 몰래 다른 답을 낼 수 없습니다.
엔진
판단하는 곳
근거
그 판단을 믿을 수 있는 이유
03
지원 표기는 어떻게 만들어지나
“무엇을 출시했고, 실제로 어떤 형식이 발급되며, 각각의 측정 결과는 어땠나요?”
세 파일이 서로 다른 세 질문에 답합니다. 지원 표기는 이 셋을 합친 뒤에야 만들어지므로, 사람이 손으로 적어 넣을 자리가 없습니다.
/architecture/support-claims/ 04평가 방법
“틀리는 열 가지 경우”
정답을 먼저 적고 나서 실행합니다. 결과는 통과/실패 두 가지가 아니라 바이트 범위를 기준으로 다섯 가지로 판정하며, 스캐너는 판정에 관여하지 않습니다.
/architecture/evaluation-methods/경계
코어 밖, 별도 저장소에 있는 것
한눈에
네 저장소, 한 방향의 의존
의존성은 한 방향으로만 흐릅니다. 볼트는 코어의 공개 API를 쓸 수 있지만, 코어와 어댑터는 볼트에 의존하지 않습니다. 그래서 스캐너를 설치했다고 복원 가능한 시크릿 사본이 생기는 일은 없습니다.
| 저장소 | 맡는 일 | 맡으면 안 되는 일 |
|---|---|---|
| redact-secret | 탐지, 겹치는 탐지 정리, 정책, 가림 처리, 안전한 메타데이터, 자리표시자 | 복원용 저장, 복원 인가, 볼트에 대한 모든 의존 |
| redact-secret-vault | 매핑 수명 주기, 불투명 토큰, 복원 검사, 저장소 확장 지점 | 탐지 규칙, 개인정보 분류, 코어 정책 변경 |
| redact-secret-adapters | 로그·트레이스·AI 컨텍스트·MCP용 호스트 연동 | 복원, 매핑된 평문을 관측 도구로 내보내기 |
| redact-secret-benchmarks | 탐지 근거와 지원 근거 | 복원 성공을 탐지 정확도로 간주하기 |