Chapter 2 of 6 · Architecture

Responsible AI impact assessment, transparency, and human oversight

Optional module · Draft 5 hours

Chapter 2 of 6

Architecture at a glance#

The flow starts with the Foundry agent already created by the governed agent baseline. The product owner completes the system record and the responsible-AI records. The runtime owner deploys the approval gate beside the agent application and binds one write or irreversible tool to it.

The gate has two phases. First, the agent proposes a tool call and the gate returns an awaiting_approval state with a correlation ID and an argument hash. The HTTP endpoint stores the pending call in memory for this nonproduction module. Then a different authenticated approver resumes the same task with approved or rejected. The gate reads the requester and approver from App Service authentication headers, decodes X-MS-CLIENT-PRINCIPAL, and requires the configured role or group claim before approval. Approval executes the original pending arguments against the configured tool route. Rejection returns without tool execution.

ai-system-inventory-entry.json is the machine record. impact-assessment.md and transparency-note.md are the human records. oversight-decision.json ties the approver role, action class, retention, and stop mechanism to the runtime code.

Design choices and tradeoffs#

DecisionChosen approachBenefitCost or limit
System recordOne schema-checked JSON inventory entryThe responsible-AI owner can enforce enum values before handoffLegal still reviews the classification
Impact and transparency recordsMarkdown records with required decisionsProduct, risk, and communications reviewers can read them without toolingThey are pointers to the approved customer record system, not a full archive
Oversight patternFoundry hosted-agent pause and resumeThe agent can wait for a human decision without keeping one request openThe Learn page marks long-running agents as preview
Tool boundaryOne write or irreversible tool uses always_require approvalThe consequential action never runs on a rejected pathThe runtime owner must bind every future consequential tool separately
Approver identityApp Service authentication headers identify the requester and approverThe app does not trust self-asserted approver values and blocks self-approvalThe gate must run behind Microsoft Entra authentication with an approver role or group claim
Pending stateIn-memory task store for nonproduction deliveryKeeps the module small and easy to inspectProduction use needs the approved durable store in oversight-decision.json
PreviewNo platform what-if for the approval codePreflight catches unresolved decisions before deploymentThe deployed approved and rejected checks are still required

Architecture guidance#

Use Transparency Note for Foundry Agent Service to frame agent capabilities, limits, and human-oversight cautions for the system note.

Use Add a human-in-the-loop approval step for the Foundry hosted-agent pause-and-resume pattern. The page marks long-running agents as preview, so keep this in a nonproduction path until the customer approves preview use.

Use Work with user identities in Azure App Service authentication for the platform-injected identity headers. The approval gate requires X-MS-CLIENT-PRINCIPAL, X-MS-CLIENT-PRINCIPAL-ID, and X-MS-CLIENT-PRINCIPAL-NAME on start and resume.

Optional module

Responsible AI impact assessment, transparency, and human oversight slide deck