You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
kars is v0.1.18. Most of the control plane is enforced at runtime today, but some
capabilities are reconciled-but-not-yet-gated, ship as a library that is not yet wired
into the request path, or are still on the roadmap. This page is the
single, honest source of truth for where each capability sits, so reviewers do not
have to reconstruct it from scattered caveats.
It consolidates the per-layer caveats in security.md and the themes in
roadmap.md. Where a row says "enforced," it means the runtime fails
closed — not that the field merely exists on a CRD.
How to read the status column
Status
Meaning
✅ Enforced
The runtime (router, controller, init container, or kernel) actively gates on this today and fails closed. Exercised by CI and/or the exec-brief walkthrough.
🟡 Reconciler-only
The CRD is validated, reconciled, and its data projected into the cluster, but the corresponding runtime enforcement point is not yet wired. The spec is accepted and surfaced in status; it does not yet block.
🔵 Library-only
The enforcement logic exists as tested code (a crate function or module) but is not yet called from the live request path. Reachable by embedders; not on by default.
The distinction between 🟡 and ⚪ matters for threat modelling: a 🟡 capability has a
defined spec and a known wiring gap; a ⚪ capability has neither yet.
Identity & credential isolation
Capability
Status
Enforcement point
No Azure credentials reachable by the agent (Workload Identity / IMDS broker)
✅ Enforced
Router exchanges the projected SA token; UID 1000 is iptables-blocked from IMDS. security.md Layer 5
Per-scope token caching & refresh
✅ Enforced
inference-router/src/auth.rs
Per-sandbox Entra Agent ID (typed microsoft.graph.agentIdentity)
Signed-OCI allowlist as the L7 egress source of truth
✅ Enforced
The router loads the cosign-verified, controller-resolved bundle and the forward proxy denies any host not in it (egress_allowlist_loader.rs, forward_proxy.rs). Default-deny in egressMode: Strict; the default Learn mode records non-blocklisted hosts instead of denying. Active EgressApproval CRs are unioned in.
Content Safety on GitHub Copilot / GitHub Models paths (provider-side)
✅ Enforced (provider-side, opaque to router)
Both providers enforce Microsoft Responsible AI content filtering server-side. The router itself does not see per-request prompt_filter_results annotations, so AGT BehaviorMonitor cannot tune severity or surface category flags on those paths — see security.md → What we do not defend against for the router-side gap. The underlying content filter is on.
Per-request token cap (tokenBudget.perRequestTokens)
Per-sandbox UTC-calendar daily + monthly counters metered at the router; requests over budget are rejected (budget.rs, routes/chat_completions.rs). Per-hour windows are not implemented.