All guides

AI governance · Staff engineering

AI governance for software systems: controls that fit delivery

A delivery-focused guide to AI inventories, risk boundaries, evaluation, human oversight, and operational evidence.

Published · Last reviewed · 8 minute read

AI governance becomes useful when it changes how a system is designed, evaluated, released, and monitored. A policy that sits outside delivery creates paperwork; an engineering control creates evidence at the same point a team makes a decision.

This guide focuses on applied AI and language-model systems. It complements the foundational notes on artificial intelligence, machine learning, and deep learning.

Establish the system boundary

Begin with an inventory entry that describes the complete system, not only the model. Record the user, intended decision, model and data providers, retrieval sources, tools, human checkpoints, outputs, and downstream actions. Assign accountable technical and business owners.

The boundary should make dependencies visible. A retrieval index, prompt template, policy filter, and external API can each change system behaviour even when the underlying model does not change.

Classify consequences before selecting controls

Risk depends on how output is used. A drafting assistant with mandatory human review has a different consequence profile from a system that can change access, move money, or communicate externally without review.

Classify the system according to impact, reversibility, affected users, data sensitivity, autonomy, and exposure. Use that classification to determine evaluation depth, approval requirements, monitoring, and fallback behaviour.

Turn requirements into testable controls

Translate principles into checks a delivery pipeline or reviewer can verify. Examples include:

  • approved model and data-provider versions;
  • documented data lineage and retention;
  • prompt-injection and data-exfiltration tests;
  • quality thresholds for defined task sets;
  • access controls for tools and retrieval sources;
  • human confirmation before consequential actions;
  • immutable records of configuration, evaluations, and approvals.

Controls should identify their evidence. A statement such as “the system is fair” is not a control. A defined evaluation dataset, metric, threshold, owner, and review cadence is.

Evaluate the system, not just the model

Test representative end-to-end tasks, including refusal, uncertainty, retrieval failure, malformed inputs, conflicting instructions, and unavailable dependencies. Include regression cases drawn from production failures and near misses.

For generative systems, separate factuality, relevance, instruction following, safety, latency, and cost. A single aggregate score can hide a failure that matters to users.

Limit authority by default

Use the least privilege required for tools, data, and actions. Prefer read-only access, scoped credentials, explicit allowlists, bounded execution, and user confirmation for irreversible operations. Treat model output as untrusted input at every integration boundary.

Monitor change over time

Models, prompts, retrieval content, and external services change. Record the deployed configuration, watch for quality and safety drift, and define when a change requires re-evaluation. Provide a clear shutdown or fallback path when the system moves outside approved limits.

Sources and further reading

Notes behind this guide