governed-outbound · git:20260808.8b7af2a · 2026-08-08 · sha256 30aa223275261389

governed-outbound git:20260808.8b7af2aA

Immutable. This exact content is served forever at /api/v1/blob/30aa223275261389.

---
name: governed-outbound
description: Fetch one allowlisted source, scrub personal data, and deliver the exact safe payload through a configured provider with approval and independent readback; use plan explicitly for a handoff only.
---

# Governed Outbound

Deliver exact scrubbed outbound content in this order:

1. `web-fetch` performs the bounded provider read and returns source readback.
2. `redact-pii` detects semantic identifiers, deterministically scrubs the content, and withholds residual content unless its final verdict is `ready`.
3. A deterministic binder replaces one declared payload placeholder with the
   scrubbed content and binds its digest to expected provider readback.
4. `send-as#send` plans principal and audience, gates the consequential send,
   performs it once, and requires independent provider readback.

The provider adapter remains separately configured and tenant-agnostic. Missing
adapter authority blocks before delivery; a plan or accepted request is never
reported as sent. Select the explicit `plan` runner when a provider-neutral
handoff is the requested outcome.

## Composes

<!-- Generated from the native execution closure; run pnpm core-skills:composes:generate. -->

- `redact-pii#redact-pii`
- `send-as#plan`
- `send-as#send`
- `web-fetch#web-fetch`

## Stop conditions

- Missing or disallowed fetch inputs stop in `web-fetch`.
- `needs_review` or `blocked` redaction skips approval and planning.
- Denied or absent approval skips planning.
- A send plan whose principal, audience, or digest differs from the approved redaction fails deterministic finalization.
- Provider execution and readback must occur in the selected downstream adapter before any caller reports delivery.

## Output

`outbound_plan` records `completion: plan_only`, `provider_delivery: not_executed`, source and redaction digests, the approval reference, the bounded send plan, and the selected provider actions. The scrubbed content remains available only in the redaction step output for the authorized downstream adapter.

Inputs are `url`, `allowlist`, `channel`, `principal`, and optional `operator_context`.