<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Plan, apply, comply. | compliance.tf Blog</title>
    <link>https://compliance.tf/blog/</link>
    <description>Engineering notes, product updates, and compliance guidance for Terraform teams building with compliance.tf.</description>
    <language>en-US</language>
    <atom:link href="https://compliance.tf/blog/rss.xml" rel="self" type="application/rss+xml" />
    <lastBuildDate>Fri, 13 Nov 2026 11:20:34 GMT</lastBuildDate>
    <item>
      <title>Why I Changed What Compliance.tf Says It Is</title>
      <link>https://compliance.tf/blog/why-i-changed-what-compliance-tf-says-it-is/</link>
      <guid isPermaLink="true">https://compliance.tf/blog/why-i-changed-what-compliance-tf-says-it-is/</guid>
      <pubDate>Wed, 04 Nov 2026 00:00:00 GMT</pubDate>
      <description>Compliance.tf now leads with the controls your Terraform enforces and the proof behind them. What triggered the change, who it is for, and what shipped with it.</description>
    </item>
    <item>
      <title>From Fork to One Source Line: Operational Rules for terraform-aws-modules</title>
      <link>https://compliance.tf/blog/from-fork-to-one-source-line/</link>
      <guid isPermaLink="true">https://compliance.tf/blog/from-fork-to-one-source-line/</guid>
      <pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate>
      <description>Three forks of terraform-aws-modules that exist to hold one lifecycle block, and the source line that replaces each of them. See the diff first in the Rules Playground, then register a free account and change one line.</description>
    </item>
    <item>
      <title>Rules Preview, the Playground, and Six More Rules Are Live</title>
      <link>https://compliance.tf/blog/rules-preview-and-playground-are-live/</link>
      <guid isPermaLink="true">https://compliance.tf/blog/rules-preview-and-playground-are-live/</guid>
      <pubDate>Thu, 10 Sep 2026 00:00:00 GMT</pubDate>
      <description>See the diff an Operational Rule makes on the module root before you change a source line, pick from fifteen rules, group them into a Baseline and rulesets, and read the known Terraform limits module by module.</description>
    </item>
    <item>
      <title>HashiCorp&apos;s tfpolicy Made Module Source a Policy Decision</title>
      <link>https://compliance.tf/blog/hashicorp-tfpolicy-module-source-governance/</link>
      <guid isPermaLink="true">https://compliance.tf/blog/hashicorp-tfpolicy-module-source-governance/</guid>
      <pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate>
      <description>tfpolicy evaluates policy before Terraform downloads a module. At that stage a policy can only allow or deny a source string, which makes the catalog behind the string the thing that decides the outcome.</description>
    </item>
    <item>
      <title>The Compliance.tf Registry Is Now Public</title>
      <link>https://compliance.tf/blog/compliance-tf-registry-is-now-public/</link>
      <guid isPermaLink="true">https://compliance.tf/blog/compliance-tf-registry-is-now-public/</guid>
      <pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate>
      <description>The compliance.tf registry is live and open to anyone. Here is why a compliance-aware Terraform registry matters, what it gives you, and how to pull your first module in about five minutes.</description>
    </item>
    <item>
      <title>Debugging terraform init: 401, 403, 502, and What Your Headers Are Telling You</title>
      <link>https://compliance.tf/blog/debugging-terraform-init-failures/</link>
      <guid isPermaLink="true">https://compliance.tf/blog/debugging-terraform-init-failures/</guid>
      <pubDate>Mon, 30 Mar 2026 00:00:00 GMT</pubDate>
      <description>A practical guide to diagnosing terraform init failures against private registries using curl, HTTP headers, and the compliance.tf registry.</description>
    </item>
    <item>
      <title>Stop Paying the Terraform Fork Tax</title>
      <link>https://compliance.tf/blog/stop-paying-the-terraform-fork-tax/</link>
      <guid isPermaLink="true">https://compliance.tf/blog/stop-paying-the-terraform-fork-tax/</guid>
      <pubDate>Wed, 25 Mar 2026 00:00:00 GMT</pubDate>
      <description>Introducing Operational Rules — your platform standards, enforced at terraform init. No more forking modules to add lifecycle blocks.</description>
    </item>
    <item>
      <title>Why Enterprises Choose Compliance.tf Over terraform-aws-modules</title>
      <link>https://compliance.tf/blog/why-enterprises-choose-compliance-tf/</link>
      <guid isPermaLink="true">https://compliance.tf/blog/why-enterprises-choose-compliance-tf/</guid>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <description>Compare the hidden costs of building compliance yourself on terraform-aws-modules with the built-in controls and managed maintenance that compliance.tf provides.</description>
    </item>
    <item>
      <title>Verifying Compliance.tf Modules: From Guardrails to Audit Evidence</title>
      <link>https://compliance.tf/blog/verifying-compliance-tf-modules/</link>
      <guid isPermaLink="true">https://compliance.tf/blog/verifying-compliance-tf-modules/</guid>
      <pubDate>Thu, 27 Nov 2025 00:00:00 GMT</pubDate>
      <description>Learn how to validate compliance.tf modules with IaC scanners before deployment and infrastructure scanners after, what evidence auditors need, and how pre-apply and post-apply verification work together.</description>
    </item>
    <item>
      <title>Make Non-Compliant Terraform Impossible With Compliance.tf</title>
      <link>https://compliance.tf/blog/make-non-compliant-terraform-impossible/</link>
      <guid isPermaLink="true">https://compliance.tf/blog/make-non-compliant-terraform-impossible/</guid>
      <pubDate>Wed, 26 Nov 2025 00:00:00 GMT</pubDate>
      <description>Replace after-the-fact Terraform scanning with modules that have built-in compliance controls, blocking non-compliant AWS infrastructure before it reaches your plan.</description>
    </item>
  </channel>
</rss>
