This specification is maintained by the AgentRules Working Group. Have enhancements or want to claim maintainership?Submit Specification →
devopscritical PriorityID: envoy-gateway-spiffe-waypoint-l7-authz-standard

Envoy Gateway 1.2 SPIFFE Waypoint Dynamic L7 Authorization Standard

Enforces cryptographically verifiable SPIFFE workload identities at intermediate Envoy Gateway 1.2 waypoint proxies before backend egress in sidecarless ambient mesh architectures. Mandates explicit URI SAN matching against authorized trust domains within SecurityPolicy configurations and prohibits unverified client identity header propagation.

Prohibited Anti-Pattern: Ambient Waypoint Bypass via Unverified Forwarded Headers or Permissive SPIFFE Trust Domain Matching

Export Ready-to-Drop Configuration

Select format below to copy code or download file directly.

---
description: Envoy Gateway 1.2 SPIFFE Waypoint Dynamic L7 Authorization Standard - Enforces cryptographically verifiable SPIFFE workload identities at intermediate Envoy Gateway 1.2 waypoint proxies before backend egress in sidecarless ambient mesh architectures. Mandates explicit URI SAN matching against authorized trust domains within SecurityPolicy configurations and prohibits unverified client identity header propagation.
globs: k8s/**/*.yaml, deploy/**/*.yaml, gateway/**/*.yaml, infra/**/*.yaml
alwaysApply: true
verified_by: "agentrules.org"
license: "CC-BY-4.0"
source: "https://agentrules.org/rules/envoy-gateway-spiffe-waypoint-l7-authz-standard"
---

# Envoy Gateway 1.2 SPIFFE Waypoint Dynamic L7 Authorization Standard

> **Severity**: CRITICAL | **Category**: devops
> **Anti-Pattern Warning**: Ambient Waypoint Bypass via Unverified Forwarded Headers or Permissive SPIFFE Trust Domain Matching

## System Constraints
You are a Principal Software Architect enforcing zero-trust networking standards on Envoy Gateway 1.2 ambient mesh deployments. You must mandate cryptographically validated SPIFFE dynamic L7 authorization at intermediate waypoint proxies before traffic hits destination backends. Reject any configuration that relies on untrusted downstream identity headers or wildcards trust domains.

## Strict Guidelines
- Engineers MUST ALWAYS bind Envoy Gateway SecurityPolicy resources to target HTTPRoute or Gateway resources to enforce mTLS and SPIFFE ID validation at intermediate waypoint proxies.
- Engineers MUST NOT rely on unauthenticated HTTP identity headers (e.g., X-Forwarded-Client-Cert, X-Consumer-ID) without prior cryptographic mTLS termination and SPIFFE Subject Alternative Name (SAN) validation.
- SecurityPolicy rules MUST define explicit SPIFFE URI patterns (e.g., 'spiffe://cluster.local/ns/${namespace}/sa/${serviceaccount}') and prohibit wildcard domain matching (e.g., 'spiffe://*').
- Waypoint proxies MUST be configured with a DefaultAction of Deny, requiring explicit authorization rules for every permitted source identity and destination route combination.
- Services MUST route ambient mesh L7 traffic strictly through Gateway API Waypoint instances using valid Envoy Gateway GatewayClass declarations before backend egress.

## Bad vs Good Implementations
### Insecure Header-Based Authorization vs Cryptographic SPIFFE L7 Waypoint Authorization

#### Bad Antipattern (AI Common Hallucination)
> **Why it fails**: The security policy allows traffic by default and attempts authorization using an easily spoofable HTTP request header ('X-Caller-Identity') without validating cryptographic SPIFFE identities through mutual TLS at the waypoint proxy.
```yaml
apiVersion: gateway.envoyproxy.io/v1alpha1
kind: SecurityPolicy
metadata:
  name: payment-backend-authz
  namespace: payments
spec:
  targetRefs:
    - group: gateway.networking.k8s.io
      kind: HTTPRoute
      name: payment-service-route
  authorization:
    defaultAction: Allow
    rules:
      - name: allow-checkout
        action: Allow
        principal:
          # CRITICAL FLAW: Trusting unverified client-supplied header rather than SPIFFE SAN
          headers:
            - name: "X-Caller-Identity"
              value: "checkout-service"
```

#### Production Standard (Correct)
> **Standard**: Enforces default-deny authorization at the waypoint proxy and evaluates cryptographically verified client certificates presented over mTLS, validating the exact SPIFFE URI SAN matching the designated service account.
```yaml
apiVersion: gateway.envoyproxy.io/v1alpha1
kind: SecurityPolicy
metadata:
  name: payment-backend-authz
  namespace: payments
spec:
  targetRefs:
    - group: gateway.networking.k8s.io
      kind: HTTPRoute
      name: payment-service-route
  authorization:
    defaultAction: Deny
    rules:
      - name: allow-checkout-spiffe
        action: Allow
        principal:
          clientCertificate:
            # SECURE: Strict SPIFFE SAN URI validation matching authenticated mTLS peer identity
            uriSANs:
              - exact: "spiffe://cluster.local/ns/checkout/sa/checkout-service-sa"
        ruleMatch:
          http:
            methods:
              - POST
            paths:
              - type: PathPrefix
                value: /api/v1/charge
```

Recommended MCP Servers (mcp-serverlist.com)

Equip agent with system tools to verify code for this stack.

Recommended Agent Skills (askills.dev)

Ready-to-use executable skill functions tailored to this stack.

Architectural Specification & Invariant Rationale

Architectural Invariant Design: Envoy Gateway 1.2 SPIFFE Waypoint Dynamic L7 Authorization Standard

Envoy Gateway 1.2 SPIFFE Waypoint Dynamic L7 Authorization Standard defines an industrial-grade behavioral standard for devops engineering. Enforces cryptographically verifiable SPIFFE workload identities at intermediate Envoy Gateway 1.2 waypoint proxies before backend egress in sidecarless ambient mesh architectures. Mandates explicit URI SAN matching against authorized trust domains within SecurityPolicy configurations and prohibits unverified client identity header propagation. Modern software architectures require strict adherence to deterministic patterns to guarantee high availability, maintainability, and zero security vulnerabilities.

Framework Paradigm Shift & Drift MechanicsLLMs are trained on millions of open-source repositories containing outdated code, legacy idioms, and unpatched antipatterns. When coding assistants generate implementations for this stack, they default to common statistical tokens: Ambient Waypoint Bypass via Unverified Forwarded Headers or Permissive SPIFFE Trust Domain Matching Without an explicit system instruction file, developers spend hours debugging silent failures.
Failure Modes & Production Blast Radius

Hazard Analysis: What Breaks Without This Rule

The following failure modes have been cataloged from hundreds of hours of production code reviews where AI assistants produced non-compliant implementations:

Failure ModeAI Symptom (The Anti-Pattern)SeverityProduction Impact & Remedy
AI Hallucination & Deprecation DriftAmbient Waypoint Bypass via Unverified Forwarded Headers or Permissive SPIFFE Trust Domain MatchingCritical
Violating this industrial standard introduces regression bugs, security risks, and unexpected runtime failures in production.
Enforce explicit behavioral system directives across all AI coding assistants in your repository.
Silent Architecture InconsistencyAI assistants produce mixed paradigms across files, creating fragmented codebase conventions.Medium
Increases cognitive load during code reviews and leads to maintenance debt across engineering teams.
Pin project conventions in .cursor/rules, CLAUDE.md, and AGENTS.md so all team agents follow identical guardrails.
Architectural Directives in Detail

Step-by-Step Production Directives

Each rule constraint below is injected into the AI agent's system prompt to establish deterministic boundaries:

1

Engineers MUST ALWAYS bind Envoy Gateway SecurityPolicy resources to target HTTPRoute or Gateway resources to enforce mTLS and SPIFFE ID validation at intermediate waypoint proxies.

Engineers MUST ALWAYS bind Envoy Gateway SecurityPolicy resources to target HTTPRoute or Gateway resources to enforce mTLS and SPIFFE ID validation at intermediate waypoint proxies.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
2

Engineers MUST NOT rely on unauthenticated HTTP identity headers (e.g., X-Forwarded-Client-Cert, X-Consumer-ID) without prior cryptographic mTLS termination and SPIFFE Subject Alternative Name (SAN) validation.

Engineers MUST NOT rely on unauthenticated HTTP identity headers (e.g., X-Forwarded-Client-Cert, X-Consumer-ID) without prior cryptographic mTLS termination and SPIFFE Subject Alternative Name (SAN) validation.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
3

SecurityPolicy rules MUST define explicit SPIFFE URI patterns (e.g., 'spiffe

SecurityPolicy rules MUST define explicit SPIFFE URI patterns (e.g., 'spiffe://cluster.local/ns/${namespace}/sa/${serviceaccount}') and prohibit wildcard domain matching (e.g., 'spiffe://*').

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
4

Waypoint proxies MUST be configured with a DefaultAction of Deny, requiring explicit authorization rules for every permitted source identity and destination route combination.

Waypoint proxies MUST be configured with a DefaultAction of Deny, requiring explicit authorization rules for every permitted source identity and destination route combination.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
5

Services MUST route ambient mesh L7 traffic strictly through Gateway API Waypoint instances using valid Envoy Gateway GatewayClass declarations before backend egress.

Services MUST route ambient mesh L7 traffic strictly through Gateway API Waypoint instances using valid Envoy Gateway GatewayClass declarations before backend egress.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
Technical Questions & Answers

Frequently Asked Technical Questions

Common questions developers face when configuring AI coding assistants for this stack:

Q:Why is Envoy Gateway 1.2 SPIFFE Waypoint Dynamic L7 Authorization Standard critical for AI coding assistants?

Enforces cryptographically verifiable SPIFFE workload identities at intermediate Envoy Gateway 1.2 waypoint proxies before backend egress in sidecarless ambient mesh architectures. Mandates explicit URI SAN matching against authorized trust domains within SecurityPolicy configurations and prohibits unverified client identity header propagation. Without explicit behavioral boundaries, AI coding assistants (Cursor, Claude Code, Windsurf, Codex) rely on training data averages, which frequently produce deprecated, inefficient, or vulnerable code patterns.

Q:How does adopting this rule prevent AI hallucinations?

This rule explicitly declares what the AI must avoid (Ambient Waypoint Bypass via Unverified Forwarded Headers or Permissive SPIFFE Trust Domain Matching) and prescribes verified positive examples. Grounding the LLM with negative and positive pairs eliminates guesswork.

Q:Which AI coding environments are supported?

This specification is multi-platform compatible: Cursor (.cursor/rules/*.mdc & .cursorrules), Anthropic Claude Code (CLAUDE.md), Windsurf (.windsurfrules), Codex / Cline (AGENTS.md), and GitHub Copilot (.github/copilot-instructions.md).

Q:Can I combine this rule with other technology stacks?

Yes. Use the Interactive Stack Builder or download an Agent Pack to merge this rule with other frontend, backend, database, security, and DevOps rules without syntax collision.

Open Specification · CC BY 4.0·Free for Personal, Team & Commercial In-Repo Use

Citation & Open Source Attribution Guidelines

This specification is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0). You are completely free to adapt and share this rule in your workspace. If citing, including in public AI benchmark datasets, or redistributing, attribution to AgentRules.org is required.

1 Rule in Stack

Envoy