| name | governance-guardrail |
| description | Check proposed stack, data flows, cloud choices, and delivery controls against declared enterprise policies, compliance frameworks, and security controls. Trigger at R2/R3 risk classification, before locking architecture decisions, or when the operating profile names a governance pointer. |
Governance Guardrail
A policy position the team cannot cite is a policy the team will unknowingly violate.
This skill checks alignment between what the team is building and the enterprise policies,
compliance frameworks, and security controls that govern it. It never invents a policy
position — it surfaces gaps as explicitly owned unknowns.
When to use
- At R2/R3 risk classification, before architecture decisions are locked
- When the operating profile names a governance pointer (policy doc, compliance framework,
security baseline, approved-technology list)
- Before any decision that touches data classification, residency, procurement, or
approved-vendor constraints
- As a pre-condition for
adversarial-gate on high-stakes or regulated work
- When
delivery-orchestrator identifies a compliance, security, or data-handling concern
Operating model context
Governance alignment is not an audit that happens after delivery. It is a constraint that
shapes architecture from day one. Discovering a compliance gap after a decision is locked
is expensive; discovering it during bootstrap or spec is cheap.
This skill operates at the policy layer, above the cloud-expert skills:
gcp-expert / aws-expert / azure-expert / alibaba-expert — vendor-specific
technical guardrails: IAM, data residency, cost. Use them to implement correctly within
a chosen platform.
governance-guardrail (this skill) — checks whether the chosen platform, stack, and
data model are permitted by enterprise policy in the first place.
Route cloud-specific implementation questions to the cloud-expert skills after this skill
confirms the architecture is policy-compliant. Feed open findings into adversarial-gate
before high-stakes decisions are locked.
Procedure
1. Locate the governance pointer
The project operating profile (docs/operating-model/PROJECT-OPERATING-PROFILE.md)
should name one of:
- A policy document (URL, file path, or shared drive location)
- A compliance framework (SOC 2, ISO 27001, GDPR, HIPAA, etc.)
- An approved-technology or approved-vendor list
- A security baseline or architecture review board record
If no pointer exists, record it as an explicit unknown with an owner and resolving
trigger. Do not proceed to stack or data-flow checks until the pointer is named —
checking against an unknown policy is not a check.
2. Check stack alignment
For each component of the technical stack, confirm:
- Is it on the approved-technology or approved-vendor list?
- Does its data handling match the declared data classification?
- Are there procurement or licensing controls that apply?
Flag any component that has no confirmed policy position.
3. Check data flow alignment
For each data flow that crosses a boundary (service, team, region, or tenant):
- Does data residency match declared requirements?
- Are cross-boundary transfers permitted and logged?
- Is PII, regulated data, or classified data handled in a way the policy permits?
4. Check security controls
Confirm the following controls are in place or explicitly deferred with a named owner:
- Authentication and authorisation model is approved
- Secret management is aligned with the organisation's approved secret store
- Dependency and supply-chain scanning is wired into the CI pipeline
- Data-at-rest and data-in-transit encryption requirements are met
5. Register open findings
Every gap becomes an explicit unknown in the operating profile:
- What is unknown or unconfirmed
- Who owns the resolution
- What trigger resolves it (decision meeting, policy review, ADR sign-off)
- Whether it blocks R2/R3 work or is safely deferred
Pass open R2/R3-blocking findings to adversarial-gate before those decisions are locked.
Outputs
- Policy alignment summary: each stack component → confirmed / unconfirmed / flagged
- Data flow compliance map: each cross-boundary flow → permitted / flagged / unknown
- Security control status: each control → in place / deferred (owner, trigger) / missing
- Explicit unknowns register: each unknown → owner, required-before trigger
Guardrails
- Never invent a policy position. If the policy is not cited, the gap is the finding.
- Pointer, not copy. Do not reproduce policy documents inside this skill or the
operating profile. Record where they live and confirm they are accessible to the team.
- Unconfirmed is not compliant. A stack component with no confirmed policy position
is flagged, not assumed acceptable.
- This skill does not grant approval. It surfaces gaps. The named policy owner grants
approval.
- Absence of a policy document is itself a gap. Surface it; do not treat it as
permission.
Anti-rationalization table
| Excuse | Counter |
|---|
| "We'll check compliance before launch" | A compliance gap found after architecture is locked costs 10× to fix. Check at spec time. |
| "We're using standard tools, they must be approved" | Standard in the industry ≠ approved in this enterprise. Confirm the pointer. |
| "Security is the security team's job" | Security is the team's constraint. The security team approves; the team is responsible for alignment. |
| "There's no policy document, so there's no policy" | Absence of a cited policy is the gap. Surface it with an owner and trigger. |
| "We already did this for the last project" | Policy changes. Stack changes. Check against the current pointer for this project. |