---
name: aigf-risk-assessment
description: Look up and cross-reference the FINOS AI Governance Framework's risks (ri-<n>), mitigations (mi-<n>) and use cases (uc-<n>). Use when assessing an AI system against the framework, tracing which mitigations address a risk, explaining a published AIR-<type>-<nnn> identifier, or reading the framework corpus offline from its OKF bundle.
---

# Working with the FINOS AI Governance Framework

The framework is published at https://air-governance-framework.finos.org/. Its source corpus (aigf-website/docs/)
is a Jekyll site with three collections; this skill is published at https://aigf.qcompute.dev/.well-known/agent-skills/aigf-risk-assessment/SKILL.md.

## 1. Documents and their ids

| Collection | File pattern | Example | Concept `kind` in the bundle |
| --- | --- | --- | --- |
| Risks | `_risks/ri-<n>_<slug>.md` | `_risks/ri-10_prompt-injection.md` | `risk` |
| Mitigations | `_mitigations/mi-<n>_<slug>.md` | `_mitigations/mi-17_ai-firewall-implementation-and-management.md` | `mitigation` |
| Use cases | `_usecases/uc-<n>_<slug>.md` | `_usecases/uc-1_credit-risk-analysis.md` | `use-case` |

The number in the file name is the frontmatter `sequence`, so `ri-10` resolves to
`_risks/ri-10_prompt-injection.md` and `mi-18` to
`_mitigations/mi-18_agent-authority-least-privilege-framework.md`. `_usecases/uc-index.md` is a
static taxonomy page with no frontmatter, not a use-case concept.

Every risk, mitigation and use-case file opens with a YAML frontmatter block. Risks and mitigations
carry `sequence`, `title`, `layout`, `doc-status` and `type`; use cases carry `sequence`,
`title`, `layout`, `doc-status`, `category`, `description`, `end_user`, `business_value`,
`data_classifications` and cross-references.

## 2. Published identifiers

The site renders `AIR-<type>-<nnn>`, where `<type>` is the frontmatter `type` and `<nnn>` is the
`sequence` zero-padded to three digits (`_includes/risk-id.html`,
`_includes/mitigation-id.html`). So `ri-10` with `type: SEC` is `AIR-SEC-010`, and `mi-18` with
`type: PREV` is `AIR-PREV-018`.

`_config.yml` defines the type values:

- `risk_classification`: `RC` (Regulatory and Compliance), `OP` (Operational), `SEC` (Security)
- `mitigation_classification`: `PREV` (Preventative), `DET` (Detective)

## 3. How risks and mitigations cross-reference

A mitigation names the risks it addresses in a `mitigates:` list:

```yaml
mitigates:
  - ri-24  # Agent Action Authorization Bypass
  - ri-18  # Model Overreach / Expanded Use
```

The relationship is one-way (CONVENTIONS.md, "Cross-Linking"): risk files do **not** carry a
`mitigations:` key. To find the mitigations for a risk, invert `mitigates` — scan every mitigation
frontmatter for that risk id. Within a collection:

- `related_risks:` in a risk file lists other risks.
- `related_mitigations:` in a mitigation file lists other mitigations.
- Use cases link to both, with `related_risks:` and `related_mitigations:`; for example
  `uc-1_credit-risk-analysis.md` cites `ri-1`, `ri-4`, `ri-17`, `ri-19` and `mi-1`, `mi-4`, `mi-5`.

Risk and mitigation frontmatter also holds external-reference keys — `owasp-llm_references`,
`owasp-asi_references`, `owasp-ml_references`, `nist-ai-600-1_references`,
`nist-sp-800-53r5_references`, `ffiec-itbooklets_references`, `eu-ai-act_references`,
`iso-42001_references`, `atr_references`, `sr11-7_references`, `canada-regulations_references`,
`uk-regulations_references` and `iosco-supervisory-toolkit_references` — whose values are lookup
keys into the catalogues under `docs/_data/references/`. Treat them as keys, not prose.

## 4. Looking a document up

1. Turn the id into a file name: `ri-<n>` → `_risks/ri-<n>_<slug>.md`, `mi-<n>` →
   `_mitigations/mi-<n>_<slug>.md`, `uc-<n>` → `_usecases/uc-<n>_<slug>.md`.
2. If the slug is unknown, list the collection and match the `ri-<n>_` / `mi-<n>_` / `uc-<n>_`
   prefix. The `sequence` value is the number in the id.
3. Read the frontmatter for classification and cross-references, then the body for the summary or
   purpose, the implementation guidance and the links.
4. Do not infer a risk or mitigation from its title alone; quote the body when citing guidance.

## 5. The whole corpus offline

https://aigf.qcompute.dev/.well-known/okf.tar.gz is an Open Knowledge Format bundle of framework version `v2`
(release `2025-10-20`): 24 risks, 25 mitigations and
4 use cases. Layout at the archive root:

```text
manifest.json     format, version, releaseDate, and one record per concept:
                  id, kind, title, source (docs/...), sha256
config.yml        copy of docs/_config.yml (classifications, use-case categories, document statuses)
concepts/<id>.md  every source file, byte for byte
```

Unpack with `tar -xzf okf.tar.gz` and read `concepts/<id>.md`; verify a file against the
manifest's `sha256` when provenance matters. The archive is deterministic — sorted members,
`mtime` 0, uid/gid 0, gzip mtime 0 — so identical sources produce identical bytes.
