指南
合規發現
要求目錄把一項指令變成可檢查的條目。Oloproof 為加拿大國庫委員會的《自動化決策指令》提供了一份目錄,另外還有司法管轄區頁面列出的其他目錄。oloproof init --example governance 會把它們複製到專案的 catalogues/ 目錄中,旁邊放一個讀取它們的 governance.yaml,因此 oloproof governance check 可以立即在那裡執行。oloproof governance check 將其與您的系統對照讀取,並對每項要求說明它是已滿足、部分滿足、未滿足、不適用還是無法確定。每項發現都說明其依據:您的 gate 的決策、具名人員的聲明,或經過審閱的草稿。
發現是寫給讀者的摘要。它從不改變決策,也從不構成營運授權。它不是法律意見。
治理檔案
governance.yaml 位於 oloproof.yaml 旁邊:
catalogue: catalogues/dadm_catalogue_2025-06-24.yaml # as `init --example governance` copies it
systems:
- id: triage
name: Benefits triage
system: triage # the oloproof system name its runs are recorded under
in_scope: true
scope_reason: assesses eligibility for a federal benefit
environment: production
production_since: 2026-06-01
aia_level: II
review_period_days: 365
bindings:
DADM-6.3.1: [accuracy-floor] # the gate rules that decide a measured requirement
DADM-6.3.3#1: [every-region] # or one part of a composite
statements:
- id: s1
system: triage
target: DADM-6.1.1
says: met # met, not_met or not_applicable
by: A. Officer
role: CIO office
on: 2026-10-01
link: https://example.org/aia發現如何得出
- 量測類要求讀取綁定到它們的 gate 規則,取系統目前版本每個套件在其審查期內的最新執行。只有每條綁定規則都為 PASS 時才算已滿足;任一為 FAIL 時為未滿足;否則為無法確定。從不為部分滿足。
- 聲明類要求讀取最新的有效聲明。聲明在審查期過後,或系統版本超出其所指明的版本時過期。
- 輔助類要求從模型的草稿開始,oloproof governance draft --system triage --target DADM-6.2.1 --document notice.txt --model <model>,在審閱者對其採取行動之前它從不是發現:oloproof governance review --action validate|reject|modify|annotate。
- 複合要求組合其各部分:任一無法確定的部分都會阻止已滿足。
這些規則在 docs/engine/FINDING_RULES.md 中,已於 2026 年 11 月 2 日通過稽核獲准。
各群體間的公平
DADM 6.3.3 和 6.3.8 詢問結果是否對每個群體都成立。將它們綁定到 worst_group 指標上的 min 規則(設定參考),該規則同時讓每個具名群體達到門檻。
封存、簽章與重新評估
oloproof governance check --seal 寫入一份發現紀錄,帶編號並與上一份鏈結,其中包含審閱日誌的頭部。加上 --sign office.key --signer "CIO office" 即可用 oloproof runner keygen 產生的金鑰對其簽章;任何人都可以用 oloproof governance verify RECORD --public-key KEY 檢查。簽章說明是誰封存的,而不是說明發現為真。當系統從未被評估、審查期已過、版本已變更或目錄已變更時,系統會被標記為需要重新評估。
矯正措施透過 oloproof governance ticket 追蹤。 oloproof governance export-tickets --to jira --project GOV 為每張尚未匯出的未結工單印出將建立的 Jira 議題(REST v3 /rest/api/3/issue,描述採用 Atlassian Document Format);--to servicenow 印出 incident 的 Table API 紀錄,加 --table problem 則為 problem。加上 --send --by "A. Officer" 即建立,需設定 OLOPROOF_JIRA_URL, OLOPROOF_JIRA_EMAIL, OLOPROOF_JIRA_TOKEN 或 OLOPROOF_SERVICENOW_URL, OLOPROOF_SERVICENOW_USER, OLOPROOF_SERVICENOW_PASSWORD(從不儲存或印出)。各服務回傳的鍵會作為對工單要求的註記寫入日誌:結論會顯示它,同一張工單絕不會送出兩次。僅以錄製的回應測試,未連線真實的 Jira 或 ServiceNow 執行個體。
傳送工單前,日誌會把匯出記為待定;當機後重新執行時,會先在服務中查找該工單(Jira 依標籤,ServiceNow 依 correlation_id),找到則記錄既有的鍵,而不再建立第二個。這些註記以 oloproof-export: 開頭,審閱者自己的備註不得使用這個前綴。離開貴組織的內容:工單的備註、其要求和系統、日誌中所寫的開單人姓名、日期和摘要;不含任何案例內容。
oloproof governance mlflow 讀取 MLflow 模型登錄:設定 MLFLOW_TRACKING_URI,若伺服器需要再設定 MLFLOW_TRACKING_TOKEN(兩者都不會被儲存或印出)。每個登錄的模型對應 system 或 id 等於模型名稱的系統;沒有系統對應的模型會以待加入 governance.yaml 的系統印出,在有人決定之前不在範圍內。每個版本的編號、執行 id 與來源保存在 .oloproof/governance/mlflow/ 下。使用 --tag 時,最近一次封存紀錄的結論會以 oloproof.findings, oloproof.findings_digest, oloproof.assessed_on, oloproof.catalogue 標籤寫到每個對應模型的最新版本。它以錄製的回應測試過,並於 2026 年 11 月 4 日針對本機執行的真實 MLflow 3.18.0 伺服器測試,標籤已讀回確認。
oloproof governance azureml, oloproof governance sagemaker 對 Azure Machine Learning 工作區與 Amazon SageMaker Model Registry 做同樣的事。Azure ML 透過管理 API 讀取由 AZURE_SUBSCRIPTION_ID, AZURE_RESOURCE_GROUP, AZURE_ML_WORKSPACE 指定的工作區,權杖取自 AZURE_ACCESS_TOKEN (az account get-access-token);--tag 把四個標籤加到最新版本的標籤上。SageMaker 把模型套件群組讀作模型,把其套件版本讀作版本,並以標準的 AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN, AWS_REGION 為每個請求簽章;--tag 把四個值設為最新套件的客戶中繼資料。任何憑證都不會被儲存或列印;匯入結果保存在 .oloproof/governance/azureml/, .oloproof/governance/sagemaker/ 下。兩者都以依各服務文件格式錄製的回應測試,未使用真實的 Azure 或 AWS 帳戶。
保留、存取與資料駐留
在託管工作區中,Owner 在設定中決定執行的案例內容、追蹤與讀取日誌保留多少天;worker 刪除更早的資料,並寫入 Owner 與 Admin 可以下載的收據。決定、核准、封存與治理紀錄一律保留。每次開啟執行、調查結果或封存,都會依帳戶與時間記入稽核日誌。資料留在部署的單一區域(oloproof.com:多倫多,備份在多倫多,另有一份加密副本在芝加哥);資料駐留代表每個區域一個部署。
多個目錄、在工作區中審閱以及 API
專案可以用 catalogues: [dadm.yaml, ethics.yaml] 指定多個目錄。每個系統依其列出的目錄(系統上的 catalogues:)、列出它的群組的目錄(groups: {public: {catalogues: [ethics.yaml], systems: [chatbot]}})來評估,若皆無則依所有已宣告的目錄評估,每項結論都註明其目錄。目錄的新版本不刪除某項要求,而是以 retired: "2027-01-01" 與 replaced_by: <id> 標記它:此日之後它不再產生結論,紀錄中會註明它。
在託管工作區中,Owner 或 Admin 在 Governance 頁面上確認、駁回、修改或註記一項結論。每個操作都以其帳戶記入工作區自己的雜湊鏈式審閱紀錄,在推送的紀錄之後讀取,封存會同時匯出兩份紀錄。
具有讀取範圍的權杖可讀取其所屬專案的相同物件:GET /api/governance/findings, /seal, /statements, /reviews, /approvals,其 OpenAPI 3.1 描述位於 /api/openapi.json。皆不包含案例內容。
它無法告訴您什麼
聲明是人的說法;Oloproof 記錄誰在何時說了什麼,並不查核。發現的強度取決於綁定到它的規則。在託管的工作區中,同樣的發現會顯示在專案的治理頁面上。