跳轉到主要內容
當一條防護欄規則觸發時,OrcaRouter 會記錄一個 match,這樣你就能看到什麼觸發了以及多常觸發。本頁回答的隱私問題是:那筆紀錄是否包含實際的敏感文字——真實的電子郵件、SSN、API 金鑰——還是只有一條規則匹配了這個事實? 預設情況下它只包含這個事實。託管閘道上的防護欄隱私日誌刻意保守:匹配到的子字串不會被儲存,除非你為那個防護欄明確開啟 Log raw content,而翻動切換永不會回溯到你已經記錄的資料。 這是 Matches 動態隱私姿態的一個聚焦落地頁。動態本身——瀏覽、分組、匯出——請見 匹配動態。完整引擎請見 防護欄參考

1. 防護欄隱私日誌:預設為關閉

每個防護欄都攜帶一個每政策的單一切換 Log raw content,而它出貨時是關閉的。在它關閉時,一個匹配記錄觸發內容的元資料但永不把違規文字複製進動態:

切換關閉時記錄

規則類型、動作、階段,以及一個簡短的詳情字串——足以知道一條 pii 規則在請求上遮罩了一個 email,而不儲存地址。

只在開啟時新增

匹配到的子字串——規則捕捉到的字面文字。只為你啟用切換之後記錄的匹配擷取。
理由是大多數合規團隊預設想要的那個:你得知某個 SSN 出現在你的流量中以及政策如何處理它,而不把受監管的資料從請求複製回出來、進入你自己的診斷儲存。
預設關閉是隱私保守姿態。 匹配到的子字串是一個防護欄可能記錄的最敏感的東西——它依定義就是規則存在以捕捉的資料。OrcaRouter 不會儲存它,除非你逐個防護欄選擇加入。

2. 一筆匹配紀錄持有什麼

一個匹配是一筆小型的、工作區限定的診斷紀錄。在 Log raw content 關閉時,它只攜帶元資料:
欄位範例切換關閉時存在?
規則類型piiregexkeyword
動作blockmaskflag
階段inputoutput
詳情簡短分類字串(例如實體)
匹配到的子字串jane@acme.com只在開啟時
匹配子字串欄位是切換把關的唯一東西。其他一切無論如何都會被記錄,所以即使原始內容關閉,動態對於量、走勢與動作組合分析仍然有用。
你可以純粹在元資料上執行整個觀察或強制執行計畫——查看 PII 在哪裡進入、哪些規則觸發最多、一個政策是否吵雜。只在你需要在分流期間目視確切匹配了什麼的狹窄窗口才開啟子字串。

3. 一個具體範例

拿一個帶有一條在請求上遮罩 emailpii 規則的防護欄,綁定到一把金鑰。一個呼叫方發送:
curl https://api.orcarouter.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o-mini",
    "messages": [
      {"role": "user", "content": "Reply to jane@acme.com please"}
    ]
  }'
規則在模型看到之前把地址遮罩為 [EMAIL],而一個匹配落入動態。那個匹配包含什麼完全取決於切換:
匹配記錄:規則類型 pii、動作 mask、階段 input,以及一個指名 email 實體的詳情字串。它儲存 jane@acme.com。你知道一個電子郵件在請求上被遮罩了;你無法從動態讀回該電子郵件。
同一個匹配額外攜帶匹配到的子字串——jane@acme.com——這樣你就能在一次分流過程中精確確認規則捕捉到了什麼。
請求本身在兩種情況下都相同。切換只改變診斷動態保留什麼,永不改變呼叫方或上游模型體驗到的東西。

4. 開啟它(以及不可追溯生效保證)

Log raw content 是一個每防護欄的設定。編輯一個防護欄是你自己工作階段下的一個主控台動作,並需要工作區中的 Developer+——只有最後的 /v1/* 呼叫使用 sk-orca-... 中繼金鑰。
1

開啟防護欄

在主控台中開啟 Guardrails 並編輯你想為其擷取子字串的政策。
2

啟用 Log raw content

開啟 Log raw content 切換並儲存。儲存會寫入一筆版本化的歷史列,所以該變更可稽核且可還原——參見 版本控制
3

擷取從此往後開始

從下一個請求起,此防護欄上的匹配會包含匹配到的子字串。在你翻動切換之前記錄的匹配保持僅元資料。
切換不可追溯生效——兩個方向皆是。 把它開啟不會把子字串回填到你已經記錄的匹配上;那些較舊的紀錄永遠保持僅元資料。把它關閉會停止擷取新的子字串,但不會抹除已經儲存在過去匹配上的子字串。如果你需要那些消失,參見 §6

5. 開啟時擷取什麼

Log raw content 開啟時,引擎會把字面匹配文字附加到每個違規上,並有兩個硬性上限以防止一個病態輸入讓單一匹配紀錄膨脹:
  • 每個違規最多 32 個匹配項目。
  • 每個項目上限為 256 字元
所以一個在一份巨大文件上觸發的防護欄會儲存一個有界的、代表性的匹配樣本——而非整個主體。詳情字串也獨立地受長度夾住。這些上限為了儲存衛生而存在;把擷取的集合當作什麼匹配了的證據,而非整個請求的逐字謄本。
即使切換開啟,一個防護欄也只會記錄一條規則實際匹配到的文字。周圍的提示與回應的其餘部分永不被複製進 Matches 動態。完整的請求/回應酬載是與防護欄診斷分離的關注點。

6. 移除你已經擷取的子字串

由於切換不可追溯生效,把它關閉會讓先前的子字串留在原地。兩個介面清除它們:
想移除如何
一個吵雜的匹配把它標記為誤報——POST /api/guardrail/match/:id/mark-fp(工作區 Admin),或動態中的 Mark false positive 動作。
一個使用者的所有防護欄匹配一次使用者自我刪除會觸發一個 30 天寬限窗口,然後是一次 PII 清洗,會級聯穿過防護欄匹配、請求日誌與防火牆事件。參見 合規
關於調校一條健談規則而非清洗資料,調校誤報 流程逐步走過標記與精煉匹配。

7. 誰能讀什麼

Matches 動態是工作區限定的診斷資料。讀取存取對每個作用中的成員開放;破壞性的誤報動作把關更高:
動作路由角色
列出/分組/統計/匯出匹配GET /api/guardrail/match*Member
單個匹配詳情GET /api/guardrail/match/:idMember
標記/取消標記誤報POST / DELETE /api/guardrail/match/:id/mark-fpAdmin
編輯一個防護欄(含 Log raw content)PUT /api/guardrail/Developer+
這些管理路由以你的主控台工作階段驗證,而非一把中繼金鑰。讀取永不暴露切換未擷取的子字串——讀取時沒有額外的東西要遮罩,因為沒有額外的東西被儲存。

8. 一個實用的隱私預設

對大多數工作區而言,正確的形狀是:讓 Log raw content 關閉、在元資料上執行你的防護欄,並在你正積極除錯一條規則為何以那種方式觸發時,暫時為單一政策翻開切換。然後把它翻回關閉——新的匹配會立即停止攜帶子字串。
這與一次僅觀察推出自然搭配。從 合規記錄器(僅標記)開始,在元資料上觀察 匹配動態,並只在一個特定匹配需要更仔細查看時才使用原始內容。

9. 下一步去哪裡

匹配動態

瀏覽、分組、篩選並匯出每個記錄的匹配。

調校誤報

標記與精煉匹配以平息一條吵雜規則。

版本控制

每次切換翻動都是一次版本化、可還原的變更。

合規

保留、資料當事人抹除與簽署報告。
關於這如何適配更廣的控制堆疊,參見 防護欄與防火牆資料外洩。完整引擎——階段、進階規則與路由——請閱讀 防護欄參考