Langsung ke konten

Panduan

Temuan kepatuhan

Katalog persyaratan mengubah sebuah direktif menjadi entri yang dapat diperiksa. Oloproof menyertakan satu katalog untuk Directive on Automated Decision-Making dari Treasury Board Kanada, bersama katalog lain yang dicantumkan halaman yurisdiksi. oloproof init --example governance menyalinnya ke direktori catalogues/ sebuah proyek, di samping governance.yaml yang membacanya, sehingga oloproof governance check langsung berjalan di sana. oloproof governance check membacanya terhadap sistem Anda dan menyatakan, untuk setiap persyaratan, apakah terpenuhi, terpenuhi sebagian, tidak terpenuhi, tidak berlaku, atau tidak dapat ditentukan. Setiap temuan menyebut dasarnya: keputusan gate Anda, pernyataan orang yang disebut namanya, atau draf yang telah ditinjau.

Temuan adalah ringkasan bagi pembaca. Temuan tidak pernah mengubah keputusan dan tidak pernah menjadi izin untuk beroperasi. Temuan bukan nasihat hukum.

Berkas tata kelola

governance.yaml diletakkan di samping 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

Bagaimana sebuah temuan dicapai

  • Persyaratan terukur membaca aturan gate yang terikat padanya, pada run terbaru dari setiap suite versi sistem saat ini, dalam periode tinjauannya. Terpenuhi hanya jika setiap aturan yang terikat PASS; tidak terpenuhi jika ada yang FAIL; selain itu tidak dapat ditentukan. Tidak pernah terpenuhi sebagian.
  • Persyaratan yang dinyatakan membaca pernyataan terkini yang terakhir. Sebuah pernyataan menjadi usang setelah periode tinjauan, atau ketika versi sistem melampaui versi yang disebutnya.
  • Persyaratan berbantuan dimulai dari draf sebuah model, oloproof governance draft --system triage --target DADM-6.2.1 --document notice.txt --model <model>, yang tidak pernah menjadi temuan sampai seorang peninjau menindaklanjutinya: oloproof governance review --action validate|reject|modify|annotate.
  • Persyaratan gabungan menggabungkan bagian-bagiannya: satu bagian yang tidak dapat ditentukan menghalangi status terpenuhi.

Aturannya ada di docs/engine/FINDING_RULES.md, diterima oleh auditnya pada 2 November 2026.

Keadilan antarkelompok

DADM 6.3.3 dan 6.3.8 menanyakan apakah hasil berlaku untuk setiap kelompok. Ikat keduanya pada aturan min atas metrik worst_group (Referensi konfigurasi), yang menahan setiap kelompok yang disebut pada ambang sekaligus.

Menyegel, menandatangani, dan menilai ulang

oloproof governance check --seal menulis catatan temuan, bernomor dan dirantai ke catatan sebelumnya, dengan kepala log tinjauan di dalamnya. Tambahkan --sign office.key --signer "CIO office" untuk menandatanganinya dengan kunci yang dibuat oleh oloproof runner keygen; siapa pun dapat memeriksanya dengan oloproof governance verify RECORD --public-key KEY. Tanda tangan menyatakan siapa yang menyegelnya, bukan bahwa temuannya benar. Sebuah sistem ditandai untuk dinilai ulang jika belum pernah dinilai, periode tinjauannya lewat, versinya berubah, atau katalognya berubah.

Tindakan korektif dilacak dengan oloproof governance ticket. oloproof governance export-tickets --to jira --project GOV mencetak, untuk setiap tiket terbuka yang belum diekspor, issue Jira yang akan dibuatnya (REST v3 /rest/api/3/issue, deskripsi dalam Atlassian Document Format); --to servicenow mencetak rekaman Table API untuk incident, atau problem dengan --table problem. Tambahkan --send --by "A. Officer" untuk membuatnya, dengan OLOPROOF_JIRA_URL, OLOPROOF_JIRA_EMAIL, OLOPROOF_JIRA_TOKEN atau OLOPROOF_SERVICENOW_URL, OLOPROOF_SERVICENOW_USER, OLOPROOF_SERVICENOW_PASSWORD diatur (tidak pernah disimpan atau dicetak). Kunci yang dikembalikan setiap layanan ditulis ke log sebagai anotasi pada persyaratan tiket: temuan menampilkannya dan tiket tidak pernah dikirim dua kali. Diuji terhadap respons yang direkam, bukan instans Jira atau ServiceNow sungguhan.

Sebelum tiket dikirim, log mencatat ekspor sebagai tertunda; menjalankan ulang setelah crash mencari tiket itu di layanan (lewat label di Jira, lewat correlation_id di ServiceNow) dan mencatat kunci yang ada alih-alih membuat tiket kedua. Anotasi ini diawali oloproof-export:, awalan yang tidak boleh dipakai catatan peninjau sendiri. Yang keluar dari organisasi Anda: catatan tiket, persyaratan dan sistemnya, nama pembukanya seperti tertulis di log, tanggal dan digest-nya; tanpa konten kasus.

oloproof governance mlflow membaca registri model MLflow: atur MLFLOW_TRACKING_URI dan, bila server memerlukannya, MLFLOW_TRACKING_TOKEN (keduanya tidak pernah disimpan atau dicetak). Setiap model terdaftar cocok dengan sistem yang system atau id-nya adalah nama model; model yang tidak disebut sistem mana pun dicetak sebagai sistem untuk ditambahkan ke governance.yaml, di luar cakupan sampai seseorang memutuskan. Nomor, id run, dan sumber setiap versi disimpan di .oloproof/governance/mlflow/. Dengan --tag, temuan dari rekaman tersegel terakhir ditulis pada versi terbaru setiap model yang cocok sebagai tag oloproof.findings, oloproof.findings_digest, oloproof.assessed_on, oloproof.catalogue. Diuji terhadap respons yang direkam dan, pada 4 November 2026, terhadap server MLflow 3.18.0 sungguhan yang dijalankan secara lokal, dengan tag dibaca kembali.

oloproof governance azureml, oloproof governance sagemaker melakukan hal yang sama untuk workspace Azure Machine Learning dan Amazon SageMaker Model Registry. Azure ML membaca workspace yang dinamai oleh AZURE_SUBSCRIPTION_ID, AZURE_RESOURCE_GROUP, AZURE_ML_WORKSPACE melalui API manajemen, dengan token di AZURE_ACCESS_TOKEN (az account get-access-token); --tag menambahkan empat tag ke tag versi terbaru. SageMaker membaca grup paket model sebagai model dan versi paketnya sebagai versi, menandatangani setiap permintaan dengan variabel standar AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN, AWS_REGION; --tag menetapkan keempat nilai sebagai metadata pelanggan paket terbaru. Tidak ada kredensial yang disimpan atau dicetak; impor disimpan di .oloproof/governance/azureml/, .oloproof/governance/sagemaker/. Keduanya diuji terhadap respons yang direkam dalam bentuk yang didokumentasikan setiap layanan; tidak ada akun Azure atau AWS sungguhan yang dipakai.

Retensi, akses, dan residensi

Di workspace yang di-host, Owner menetapkan di Pengaturan berapa hari konten kasus run, trace, dan log baca disimpan; worker menghapus yang lebih lama dan menulis tanda terima yang dapat diunduh Owner dan Admin. Keputusan, persetujuan, segel, dan catatan tata kelola selalu disimpan. Setiap pembukaan run, temuan, atau segel dicatat dengan akun dan waktu di log audit. Data tetap berada di satu wilayah deployment (oloproof.com: Toronto, cadangan di Toronto dengan salinan terenkripsi di Chicago); residensi berarti satu deployment per wilayah.

Beberapa katalog, peninjauan di workspace, dan API

Sebuah proyek dapat menyebut beberapa katalog dengan catalogues: [dadm.yaml, ethics.yaml]. Setiap sistem dibaca terhadap katalog yang dicantumkannya (catalogues: pada sistem), katalog grup yang menyebutnya (groups: {public: {catalogues: [ethics.yaml], systems: [chatbot]}}), atau jika tidak ada, semua katalog yang dideklarasikan, dan setiap temuan menyebut katalognya. Versi baru katalog menandai suatu persyaratan retired: "2027-01-01" dengan replaced_by: <id> alih-alih menghapusnya: setelah hari itu persyaratan tersebut tidak menghasilkan temuan, dan catatan menyebutnya.

Di workspace yang di-hosting, Owner atau Admin memvalidasi, menolak, mengubah, atau memberi anotasi pada temuan di halaman Governance. Setiap tindakan dicatat atas akunnya di log peninjauan milik workspace yang dirantai dengan hash, dibaca setelah log yang di-push, dan sebuah segel mengekspor kedua log.

Token dengan cakupan baca membaca objek yang sama untuk proyeknya sendiri: GET /api/governance/findings, /seal, /statements, /reviews, /approvals, dijelaskan dengan OpenAPI 3.1 di /api/openapi.json. Tidak satu pun memuat konten kasus.

Yang tidak dapat diberitahukannya

Pernyataan adalah perkataan orang; Oloproof mencatat siapa mengatakan apa dan kapan, dan tidak memeriksanya. Sebuah temuan hanya sekuat aturan yang terikat padanya. Di workspace yang di-hosting, temuan yang sama tampil di halaman Tata Kelola proyek.