# AI Decision Log Template and Audit Readiness Checklist

Everything to reconstruct a single AI decision about a single person months later. A decision-log schema by decision type, a versioning and change policy, a retention schedule tied to the underlying legal regime, and an audit-readiness checklist.

**Who this is for:** The owner of a system that makes or informs decisions about individuals, and the auditor who has to trace one.

Source playbook: https://aigovernance.com/playbook/ai-decision-auditability

---

## AI decision log schema

_The fields logged at the decision level, not the system level. Adjust the type-specific rows to your use cases._

### Template

| Field | Required | Notes |
|---|---|---|
| decision_id | Yes | Unique, referenced in the outcome record |
| timestamp | Yes | With timezone |
| subject_ref | Yes | Pseudonymous ID linking to the individual |
| system_id and model_version | Yes | Exact version that produced the output |
| inputs | Yes | The feature values or prompt actually used, or a hash plus a retrievable copy |
| output | Yes | Score, class, or text |
| confidence / score | Yes | Where the model produces one |
| explanation artifacts | If available | Top features, rationale string |
| human_reviewer | If applicable | Identity of the person who reviewed |
| human_decision | If applicable | Accept, override, or modify, plus reason |
| final_outcome | Yes | The decision communicated to the subject |

### Worked example

| Field | Value |
|---|---|
| decision_id | dec-2026-0091823 |
| timestamp | 2026-09-02T10:14:07+01:00 |
| subject_ref | appl-7f3c9 |
| system_id / version | resume-screener / 2.4.0 |
| inputs | structured feature vector v2.4 (stored); raw CV hash sha256:9c1f... |
| output | score 2 of 5 |
| confidence | 0.71 |
| explanation | top features: years_experience (low), skill_match (medium) |
| human_reviewer | recruiter u-4471 |
| human_decision | override to "advance"; reason: portfolio not captured by the model |
| final_outcome | advanced to phone screen |

### Acceptance criteria

- Logging is at the decision level: one record per decision, not per batch or per day.
- The exact model version is captured on every record.
- Inputs are recoverable, either stored directly or via a hash plus a retained copy.
- Where a human reviews, their identity, decision, and reason are logged.

---

## Model versioning and change policy

_So a logged model_version always resolves to a known model. Short; defer detail to the model registry kit._

### Template

> One page.

- Every change to weights, prompt, inference parameters, or retrieval data creates a new version with a changelog.
- The version string in the decision log matches a version record in the registry.
- Version records are retained at least as long as the decisions made under them.
- A changelog entry states what changed, why, the evaluation delta, and who approved it.

### Worked example

**Version log excerpt, resume-screener:**
- 2.3.1 (2026-06-10): capped tenure weight after v2.3 bias finding. Approver: R. Nkemelu.
- 2.4.0 (2026-08-30): base model VendorLM-3 to VendorLM-4. Adverse-impact ratio 0.85 to 0.88. Approver: R. Nkemelu.
Decisions logged with model_version 2.3.1 remain resolvable to this entry for the full retention period.

### Acceptance criteria

- Every model_version value that appears in the decision log resolves to a retained version record.
- Version records outlive the decisions made under them.

---

## Retention schedule by decision type

_Decision records inherit the retention rule of the underlying decision, not a generic log policy._

### Template

| Decision type | Governing regime | Minimum retention | Notes |
|---|---|---|---|
| Employment (hiring, promotion) | <local employment law> | <e.g. 1-4 years> | Longer if a claim is filed |
| Credit / lending | <e.g. FCRA, ECOA> | <e.g. 25 months> | From date of adverse action |
| Insurance underwriting / pricing | <state insurance law> | <e.g. 3-6 years> | |
| Benefits / eligibility | <program rules> | <e.g. 3-6 years> | |
| Content moderation affecting an account | <platform / DSA> | <e.g. 6-12 months> | |
| General automated decision under GDPR Art. 22 | GDPR | For the period needed to demonstrate compliance | Plus right-to-explanation support |

### Worked example

| Decision type | Regime | Minimum retention | Notes |
|---|---|---|---|
| Hiring (screening score + outcome) | EU member-state employment law + GDPR | 2 years from decision | Extend to end of any litigation |
| Refund / goodwill (support copilot) | Consumer + internal audit | 3 years | Matches finance record retention |
Retention configured per decision_type at write time; archival job moves records to cold storage at 1 year, deletes at the limit.

### Acceptance criteria

- Each decision type maps to the specific legal regime that sets its retention, not a blanket period.
- Retention is enforced by an archival and deletion job, not left manual.
- A litigation hold process can suspend deletion for named records.

---

## Audit readiness checklist

_Run per system to confirm a single decision can actually be reconstructed._

### Template

| Check | Status | Evidence |
|---|---|---|
| Pick a random past decision; retrieve its full log record | Y / N | |
| Resolve its model_version to a version record and changelog | Y / N | |
| Recover the exact inputs used | Y / N | |
| Produce the explanation artifacts for that decision | Y / N | |
| Show the human review step and its reason, if applicable | Y / N | |
| Confirm the record is within its retention period and will be kept | Y / N | |
| Time taken to do all of the above | | target: under 1 hour |

### Worked example

| Check | Status | Evidence |
|---|---|---|
| Retrieve full log record | Y | dec-2026-0091823 pulled in 3 min |
| Resolve model_version | Y | 2.4.0 to registry entry + changelog |
| Recover exact inputs | Y | feature vector stored; raw CV via hash lookup |
| Produce explanation | Y | top-features list on the record |
| Show human review | Y | recruiter override with reason |
| Within retention | Y | 2 yr, archived at 1 yr |
| Time taken | 22 min | under the 1-hour target |

### Acceptance criteria

- The reconstruction test has been run on a real past decision, not a fresh one.
- Every step succeeds within the time target, or the gap has an owner and a fix date.

---

## Governance controls this kit produces evidence for

- **ALC-001**: The decision-log schema is the decision-logging standard, applied per decision.
- **ALC-002**: Schema plus retention schedule plus the readiness test are the high-risk audit trail.
- **ALC-003**: The retention schedule is the log retention policy, tied to each decision's legal regime.
- **CHM-001**: The versioning policy keeps every logged model_version resolvable to a retained record.
- **ALC-004**: The explanation-artifact fields provide per-decision explainability evidence.
