메인 콘텐츠로 건너뛰기
에이전트에게 무언가가 잘못되었을 때, 첫 질문은 늘 동일합니다: 그것이 실제로 무엇을 했고, 그것을 허용한 정책을 누가 바꿨는가? 추적이 없으면 둘 다 답할 수 없습니다. 문제의 그날 컨트롤이 효력을 발휘했음을 감사인에게 보여줄 수 없고, 실제 공격을 시끄러운 오탐과 구별할 수 없으며, 행을 유출한 실행을 재구성할 수 없습니다. OrcaRouter는 진행하면서 답을 기록합니다. 검사된 모든 프롬프트, 모든 툴 호출, 모든 승인, 그리고 모든 정책 편집이 워크스페이스 범위의 질의 가능한 레코드에 떨어집니다 — 그것을 만든 에이전트 실행 및 세션으로 다시 상관 지어집니다. 이 페이지는 그 레코드를 ai 에이전트 감사 추적으로 사용하는 방법을 보여줍니다: 단일 의심 실행에서 감사인에게 건네는 서명된 보고서까지.
여기 모든 것은 워크스페이스 범위입니다. 멤버는 자기 워크스페이스의 추적을 봅니다; 어느 것도 테넌트 경계를 넘지 않습니다. 추적은 여러분이 이미 구성하는 기능 — GuardrailsFirewall — 에 의해 생성되므로, 강제를 켜는 것이 동시에 포렌식을 켭니다.

1. ai 에이전트 감사 추적 뒤의 네 가지 레코드

귀속은 네 개의 독립적인 스트림에서 나오며, 각각 동일한 실행과 세션에 상관 지어져 있어 그 사이를 피벗할 수 있습니다:

Guardrail Matches

요청이나 응답에 발동한 모든 콘텐츠 규칙 — 규칙 타입, 액션, 스테이지, 그리고 detail 문자열. Member 읽기 가능.

Firewall Events & Runs

모든 툴 호출 판정 — allow, audit, deny, sanitize, pending_approval(승인 대기 보류), 그리고 cap_cost 규칙의 해석된 판정 — 에이전트 실행과 세션별로 롤업됨. Developer+.

승인 결정

보류된 각 툴 호출을 누가 승인하거나 거부했는지, 감사 액션으로 기록됨.

정책 변경 히스토리

모든 guardrail 및 firewall 편집 — 버전 지정, 비교 가능, 되돌리기 가능 — 그리고 변경당 워크스페이스 감사 행.
연결 조직은 에이전트 실행세션 id입니다. 동일한 대화의 guardrail 매치와 firewall 이벤트는 동일한 실행 계보를 실어 나르므로, “이 실행이 이메일을 마스킹하고, 그다음 우리가 거부한 fetch를 시도하고, 그다음 쓰기를 승인받았다”가 세 개의 분리된 로그 대신 하나의 이야기로 읽힙니다.

2. Guardrail Matches — 무엇이 검사되었나 (Member)

guardrail 규칙이 발동할 때마다, 게이트웨이는 매치를 씁니다. 피드는 Guardrails 페이지(Matches 탭)에 존재하며 모든 워크스페이스 멤버가 읽을 수 있습니다. 각 매치는 규칙 타입, 취한 액션(block / mask / flag / annotate / spotlight), 스테이지(input / output), detail 문자열, 그리고 그것을 유발한 요청의 실행 계보를 기록합니다. 그것을 나열하고, guardrail이나 규칙 타입별로 그룹화하고, 액션으로 필터링하고, 하나의 매치로 드릴인하고, 피드를 CSV로 내보낼 수 있습니다.
매치된 부분 문자열(실제 이메일, 주민번호)은 guardrail의 Log raw content 토글이 켜져 있을 때만 기록됩니다 — 그리고 그것은 기본적으로 꺼져 있는, 프라이버시 보수적 자세입니다. 꺼져 있으면, 규칙이 발동했다는 것과 그 detail 메타 문자열은 얻지만 원시 값은 얻지 못합니다. 분류를 위해 부분 문자열이 필요할 때 guardrail별로 켜세요; 이 설정은 비소급적입니다.
시끄러운 규칙도 추적의 일부입니다. POST /api/guardrail/match/:id/mark-fp(Admin)로 매치를 오탐으로 표시하여 신호를 깨끗하게 유지하고 보고서가 과다 집계하지 않게 하세요.

3. Firewall Events & Runs — 에이전트가 무엇을 했나 (Developer+)

Matches가 텍스트를 커버하는 곳에서, firewall Events액션을 커버합니다. 모든 툴 호출 평가가 그 판정, 표면, 툴 이름, 그리고 — 결정적으로 — 그것이 속한 에이전트 실행과 세션과 함께 로깅됩니다. Events, Runs/sessions 롤업, 그리고 실행별 트레이스에 대한 읽기는 **Developer+**를 요구합니다; 더 가벼운 Discovered-tools와 이상 피드는 모든 Member에게 개방됩니다. Runs & sessions 뷰는 포렌식 일꾼입니다: 이벤트를 에이전트 실행별로 판정 분류, 실행이 건드린 구별되는 툴과 모델, 그리고 처음/마지막 관측 타임스탬프로 롤업합니다 — “이 에이전트가 실제로 무엇을 했는가” 답을 한 화면에. 정적 판정을 넘어, 이상 피드는 각 워크스페이스의 학습된 주중 시간대 베이스라인(14일 롤링 평균)에서의 편차를 플래그합니다 — 속도와 비용 급증, retry_loop, 그리고 novel_path 전이 — 따라서 허용되었지만 비정상인 패턴도 여전히 레코드에 드러납니다.

4. 승인 결정 — 누가 예라고 했나 (감사 액션)

규칙이 pending_approval로 해석되면, 보류된 호출은 대역 외 검토가 됩니다 (Firewall의 HITL 흐름 참조). 결정은 추적의 일부입니다: 승인 또는 거부는 행위자를 명명하는 워크스페이스 감사 행 — firewall_approval_approve 또는 firewall_approval_reject — 을 씁니다. 결정은 first-writer-wins이며 멱등적이고, 보류 후 기저 규칙이 바뀌면 보강 정보에 컨텍스트가 변했음을 기록합니다. 따라서 보류 후 승인된 툴 호출은 끝에서 끝까지 완전히 귀속 가능합니다: firewall 이벤트는 보류를 보여주고, 감사 행은 누가 그것을 풀었는지 보여주며, 둘 다 동일한 실행에 상관됩니다.

5. 정책 변경 감사 — 누가 규칙을 바꿨나

에이전트 행동의 추적은 그때 정책이 무엇이었는지 — 그리고 누가 그것을 바꿨는지 — 도 증명할 수 있을 때만 신뢰할 수 있습니다. Guardrails는 전체 버전 히스토리를 유지합니다. 모든 생성, 업데이트, 삭제는 변경과 동일한 트랜잭션에서 버전이 지정된 히스토리 행을 씁니다. guardrail에서 History를 열어 작성자와 타임스탬프가 있는 모든 버전을 보고, 임의의 둘을 diff하고, 오래된 것으로 revert하세요(revert는 새 버전으로 기록됩니다 — 히스토리는 결코 변형되지 않습니다). Firewall 정책, 규칙, 설정 변경은 각각 변경이 커밋된 후 워크스페이스 감사 행을 씁니다 — firewall_policy_update, firewall_rule_create, firewall_settings_update 등 — 그리고 자율성 수준 변경 (firewall_autonomy_applied / firewall_autonomy_undone)은 원클릭 실행 취소를 구동하는 이전 상태 스냅샷을 캡처합니다. 시크릿과 규칙 blob은 결코 로깅되지 않습니다.
두 평면 모두 변경을 로깅하고 동시에 정책을 되돌릴 수 있게 유지합니다. 규칙 편집이 회귀를 일으켰다면, 정책 변경 추적이 어떤 편집이고 누가 했는지 알려줍니다 — 그리고 아무것도 재배포하지 않고 롤백합니다.

6. 실제 예시: 의심 실행 하나 추적하기

한 실행이 예상치 못한 아웃바운드 호출로 플래그되었다고 가정합시다. 콘솔에서, Developer+ 세션으로:
1

Firewall → Runs에서 실행 열기

실행을 그 id로 찾으세요. 롤업은 그것이 호출한 모든 툴과 각각의 판정을 보여줍니다 — 그것을 플래그한 fetch 형태 툴의 deny 포함.
2

이벤트로 피벗

거부된 이벤트로 드릴인하세요. 그것은 툴 이름, 매치된 규칙과 이유, 표면, 그리고 실행/세션 계보를 실어 나릅니다 — guardrail 쪽을 정렬하는 데 쓸 동일한 계보입니다.
3

동일한 실행에서 무엇이 검사되었는지 확인

Guardrails → Matches를 열고 그 실행으로 필터링하세요. Secrets Blocker나 PII 규칙이 프롬프트에 발동했다면, 이제 에이전트가 유출을 시도하기 전에 민감 자료를 건네받았다는 것을 알게 됩니다.
4

정책이 효력을 발휘했음을 확인

guardrail의 History와 firewall 정책의 감사 행을 여세요. 실행 전에 아무도 관련 규칙을 약화시키지 않았음을 확인하세요 — 그리고 누군가 했다면, 작성자와 타임스탬프를 갖게 됩니다.
하나의 실행, 네 개의 상관된 레코드, log-grep 고고학 없음. 유출 방어 자체는 데이터 유출위험한 툴 호출을 참조하세요.

7. 서명된 컴플라이언스 보고서 — 감사인이 검증할 수 있는 추적

외부 증명을 위해, Compliance 표면은 이 추적을 단일 아티팩트로 만듭니다. 프레임워크 카탈로그, 팩, 준비도 탐색은 모든 Member에게 개방되고 무료입니다; 팩 설치, 보고서 생성, 라이브 전환, 데이터 거주지 설정은 유료 플랜워크스페이스 Admin 액션입니다(서버 게이트됨). 컴플라이언스 보고서SHA256 콘텐츠 해시와 함께 Ed25519 서명되고 공개적으로 검증 가능합니다 — 수신자는 OrcaRouter 계정 없이 그것을 검사합니다:
엔드포인트목적
GET /api/public/compliance/pubkey검증할 공개 키.
POST /api/public/compliance/verify보고서의 서명 + 해시 검증.
GET /api/public/compliance/share/:token보고서로 가는 감사인 공유 링크.
보고서는 CSV / JSON / PDF로 내보냅니다. 프레임워크는 soc2, hipaa, gdpr, iso_27001, iso_42001, nist_ai_rmf, pci_dss, EU AI Act(eu_ai_act), 그리고 OWASP Top 10 for LLM Applications(owasp_llm) 등을 포함합니다 — 팩을 설치하면 매칭되는 guardrail과 firewall 정책이 구체화되므로 여러분이 보고하는 컨트롤이 실제로 강제되는 컨트롤입니다.
데이터 거주지는 여기서 보고서 아티팩트의 지역(us / eu / uk / ap / cn / global)이며, PUT /api/compliance/residency(Admin)로 설정 가능합니다; 지역 간 읽기는 보류됩니다. 그것은 증거 아티팩트가 어디에 사는지를 통제합니다 — 여러분의 추론 트래픽의 지오 고정이 아닙니다.

8. 보존과 삭제권

포렌식 레코드는 영원하지 않고 한정됩니다. 요청 로그는 기본 30일 보존이며 서버에서 단단한 최대 180일로 클램프됩니다. 사용자가 자체 삭제하면 30일 유예 윈도우가 적용되고, 그 후 그들의 PII가 스크럽되며 캐스케이드가 그들의 guardrail 매치, 요청 로그, firewall 이벤트를 정리합니다 — 집계 감사 히스토리는 온전히 유지하면서 삭제권 / DSAR 의무를 충족합니다.

9. 다음으로 갈 곳

Guardrails 레퍼런스

Matches, 원시 콘텐츠 로깅, 버전 히스토리, 그리고 전체 규칙 세트.

Firewall 레퍼런스

Events, Runs, 이상, 승인, 그리고 감사 로그.

과도한 자율성

에이전트가 행동하기 전에 그것이 허용된 것을 제약합니다.

강제 모드

Audit, shadow, observe — 강제하기 전에 추적을 구축하는 방법.