Skip to main content
Documentation

Authz Signal

Overview

Version: Latest

Authz Signal

Overview

authz turns identity and policy bindings into reusable routing inputs. It maps to config/signal/authz/ and is declared under routing.signals.role_bindings.

This family is heuristic: it matches request identity against explicit roles and subjects instead of classifier output.

Key Advantages

  • Routes premium, internal, or tenant-scoped traffic without extra model inference.
  • Keeps access policy visible inside routing.decisions.
  • Reuses the same identity rule across multiple routes.
  • Makes RBAC-driven routing auditable in YAML.

What Problem Does It Solve?

Without an authz signal, routing decisions cannot see user tier or role membership directly. That pushes access-sensitive routing into scattered middleware and makes policy harder to review.

authz solves that by exposing role membership as a named signal that decisions can compose with domain, safety, or plugin logic.

When to Use

Use authz when:

  • admin traffic must route differently from end-user traffic
  • premium tiers unlock stronger models or plugins
  • tenant or group membership changes route eligibility
  • route policy should stay in the same graph as the rest of routing logic

Configuration

Source fragment family: config/signal/authz/

routing:
signals:
role_bindings:
- name: admin
description: Requests from platform administrators.
role: admin
subjects:
- kind: Group
name: platform-admins
- name: premium_user
description: Requests from paid end users.
role: premium_user
subjects:
- kind: Group
name: premium-tier

Use role_bindings when the signal should fire from authenticated identity and policy metadata instead of prompt content.