07 , FPL language
FPL (Faramesh Policy Language) is the standard and canonical policy language for Faramesh. Every policy is FPL. YAML and natural language are alternative input formats , they compile to FPL before the engine evaluates them. FPL is the source of truth.
Governing AI agents with YAML, OPA/Rego, or Cedar requires a senior engineer who understands authorization, schema design, and the agent framework's internals. That bottlenecks governance to a tiny pool of people. A compliance officer, a CISO, or a legal team member cannot write Rego or navigate a 200-line YAML policy.
FPL solves this by providing agent-native primitives as first-class language constructs , sessions, budgets, delegation chains, workflow phases, credential bindings, and mandatory deny , not as convention-over-configuration hacks layered on top of a general-purpose format. The result is a policy language that's shorter, safer, and readable by anyone who understands the business rules.
FPL is canonical. The other three modes compile to FPL before evaluation.
deny! is a compile-time constraint. It is the most important construct in FPL. When you write deny! shell/*, no child policy, no priority rule, no extends chain, and no subsequent permit rule can override it. The compiler enforces this structurally , it is not a runtime convention or a documentation practice. OPA, Cedar, and YAML-based engines rely on documentation to express "this rule must never be overridden." FPL makes it a language guarantee.
Every policy compiled from natural language is backtested against real DPR (Decision-Provenance Record) history before the user sees it. Faramesh replays the new policy against past decisions and shows what would have changed: "23 of your last 847 decisions would have been deferred." The user sees the impact and decides whether to activate. This makes NLP compilation trustworthy rather than a black box.
A complete agent policy expressed in FPL. This single file defines the default stance, model constraints, budget tracking, phased rules, delegation limits, ambient credential stripping, selectors, and credential bindings.
Write policy in plain English and compile it to FPL. The NLP compiler maps natural language constraints to structured policy blocks.
Convert an existing YAML policy back into FPL for easier editing.
FPL files are plain text and designed for version control. Commit them alongside your application code. Validate in CI before deploy. Diff policy changes in pull requests the same way you diff code.
FPL is the source of truth. YAML is an interchange format. Always edit the FPL file and let the compiler produce the internal representation.
Every construct available in FPL, with its purpose.
Need help? Use any of these support options.