<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Praxis Policy Engine Documentation on Praxis</title><link>https://praxis.fast/policy/v0.4.0/</link><description>Recent content in Praxis Policy Engine Documentation on Praxis</description><generator>Hugo</generator><language>en</language><atom:link href="https://praxis.fast/policy/v0.4.0/index.xml" rel="self" type="application/rss+xml"/><item><title>A Reference Monitor for Agents</title><link>https://praxis.fast/policy/v0.4.0/vision/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/policy/v0.4.0/vision/</guid><description>PPE acts as a reference monitor between an agent and the tools, agents, and data it can access.</description></item><item><title>assertions: Wire Contract</title><link>https://praxis.fast/policy/v0.4.0/assertions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/policy/v0.4.0/assertions/</guid><description>SPDX-License-Identifier: Apache-2.0 Copyright (c) 2026 Praxis Contributors &amp;ndash;&amp;gt;</description></item><item><title>Benchmarks</title><link>https://praxis.fast/policy/v0.4.0/benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/policy/v0.4.0/benchmarks/</guid><description>PPE ships a Criterion suite that measures the decision hot path: plugin dispatch, a full route decision, per-PDP evaluation, throughput under concurrency, and heap use per decision.</description></item><item><title>Builtins</title><link>https://praxis.fast/policy/v0.4.0/builtins/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/policy/v0.4.0/builtins/</guid><description>PPE ships a set of plugins, decision points, and a session store, each behind a Cargo feature.</description></item><item><title>CMF extensions and the attribute bag</title><link>https://praxis.fast/policy/v0.4.0/cmf-extensions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/policy/v0.4.0/cmf-extensions/</guid><description>Map typed Common Message Format extensions into the attribute bag that APL policies inspect.</description></item><item><title>Common Message Format</title><link>https://praxis.fast/policy/v0.4.0/cmf/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/policy/v0.4.0/cmf/</guid><description>APL evaluates policy against a request in the Common Message Format (CMF).</description></item><item><title>Configuration</title><link>https://praxis.fast/policy/v0.4.0/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/policy/v0.4.0/configuration/</guid><description>A PPE configuration is one YAML document. It declares the plugins the process can reach, the cross-cutting wiring, and the policy that decides which of them run for a given operation.</description></item><item><title>Crate Reference</title><link>https://praxis.fast/policy/v0.4.0/crates/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/policy/v0.4.0/crates/</guid><description>PPE is a Cargo workspace. Most hosts depend on praxis-policy, the facade, and nothing else: it re-exports the runtime and, behind features, the bundled extensions.</description></item><item><title>Deployment</title><link>https://praxis.fast/policy/v0.4.0/deployment/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/policy/v0.4.0/deployment/</guid><description>PPE is the enforcement point, but where that point sits is your choice.</description></item><item><title>Extensions and Capability-Gating</title><link>https://praxis.fast/policy/v0.4.0/extensions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/policy/v0.4.0/extensions/</guid><description>Alongside the message, every operation carries typed extensions: the contextual state policy reasons about.</description></item><item><title>How PPE Works</title><link>https://praxis.fast/policy/v0.4.0/overview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/policy/v0.4.0/overview/</guid><description>Understand how PPE evaluates identity and APL policy for each operation, then applies effects before allowing it to reach a backend.</description></item><item><title>How to add a claim mapper preset in PPE</title><link>https://praxis.fast/policy/v0.4.0/identity-claim-mapping/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/policy/v0.4.0/identity-claim-mapping/</guid><description>Adding a preset is data-driven; no new mapper implementation or resolver branch is needed.</description></item><item><title>HTTP Routing</title><link>https://praxis.fast/policy/v0.4.0/http-routing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/policy/v0.4.0/http-routing/</guid><description>Most routes select an operation by name: a tool:, a resource:, a prompt:, an llm:.</description></item><item><title>Identity and Token Exchange / Delegation</title><link>https://praxis.fast/policy/v0.4.0/identity-delegation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/policy/v0.4.0/identity-delegation/</guid><description>PPE resolves the inbound caller and mints the outbound credential on every request.</description></item><item><title>Patterns</title><link>https://praxis.fast/policy/v0.4.0/patterns/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/policy/v0.4.0/patterns/</guid><description>These production patterns cover APL authoring and rollout.</description></item><item><title>Plugins and the Execution Pipeline</title><link>https://praxis.fast/policy/v0.4.0/pipeline/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/policy/v0.4.0/pipeline/</guid><description>APL defines policy. The execution pipeline runs its effects. Write pipeline code only to add an effect through a plugin or inspect effect ordering and execution.</description></item><item><title>Quick Start</title><link>https://praxis.fast/policy/v0.4.0/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/policy/v0.4.0/quickstart/</guid><description>Stand up PPE and run the scenario: a get_employee route that authorizes by role and redacts a field by permission.</description></item><item><title>Testing Policy</title><link>https://praxis.fast/policy/v0.4.0/testing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/policy/v0.4.0/testing/</guid><description>Test APL by loading a policy, driving operations through the runtime, and asserting each outcome. Most route tests need no live backend.</description></item><item><title>Threat Model</title><link>https://praxis.fast/policy/v0.4.0/threat-model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/policy/v0.4.0/threat-model/</guid><description>This threat model defines the assumed adversary, the Reference Monitor boundary, and the coverage of each deployment placement.</description></item><item><title>Upgrading an APL Configuration</title><link>https://praxis.fast/policy/v0.4.0/upgrade-apl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/policy/v0.4.0/upgrade-apl/</guid><description>Rewrite the keys and forms listed below. Each entry states the old behavior, the replacement, and the load error produced by a missed migration.</description></item><item><title>Use Cases</title><link>https://praxis.fast/policy/v0.4.0/use-cases/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/policy/v0.4.0/use-cases/</guid><description>Explore end-to-end PPE deployments for AI gateways, identity providers, delegated credentials, and policy enforcement.</description></item></channel></rss>