<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Policy on Catalyst9 Engineering</title><link>https://blog.catalyst9.ai/tags/policy/</link><description>Recent content in Policy on Catalyst9 Engineering</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 11 Jun 2026 00:00:00 -0600</lastBuildDate><atom:link href="https://blog.catalyst9.ai/tags/policy/index.xml" rel="self" type="application/rss+xml"/><item><title>Stacking policy: defaults + fine-grained overrides for high-value secrets</title><link>https://blog.catalyst9.ai/posts/part-13-policy-stacking/</link><pubDate>Thu, 11 Jun 2026 00:00:00 -0600</pubDate><guid>https://blog.catalyst9.ai/posts/part-13-policy-stacking/</guid><description>We built a real ABAC policy engine on top of the identity and step-up work. You can now express &amp;rsquo;everything under LLM/* needs a human in the loop&amp;rsquo; as a default, while stacking a more specific rule that says only principals with an openai_admin label can write or delete under LLMS/OPENAI. The client (kpm) consumes the policy signals so get forces step-up, env/run warns about high-value paths, and strict mode makes every decrypt a fresh policy-checked round-trip.</description></item></channel></rss>