<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Compliance on ferkakta.dev</title><link>https://ferkakta.dev/tags/compliance/</link><description>Recent content in Compliance on ferkakta.dev</description><generator>Hugo</generator><language>en-US</language><copyright>Copyright fizz.</copyright><lastBuildDate>Mon, 30 Mar 2026 20:00:00 -0500</lastBuildDate><atom:link href="https://ferkakta.dev/tags/compliance/index.xml" rel="self" type="application/rss+xml"/><item><title>Bananas Acquisition: a CMMC CRM playbook</title><link>https://ferkakta.dev/cmmc-crm-acquisition-playbook/</link><pubDate>Mon, 30 Mar 2026 20:00:00 -0500</pubDate><guid>https://ferkakta.dev/cmmc-crm-acquisition-playbook/</guid><description>&lt;p&gt;I spent a Monday getting the same document from two cloud service providers. AWS took five minutes and a command-line PDF extraction tool. Google took eight hours, two simultaneous support chats, an LLM-drafted support ticket, an escalation sherpa, and a tripartite NDA structure whose existence is unknown to Google&amp;rsquo;s own frontline support.&lt;/p&gt;
&lt;p&gt;Both vendors publish a CMMC Customer Responsibility Matrix — the spreadsheet that maps NIST 800-171 controls to inherited, shared, or customer responsibility. Both are legally required to provide it. The experience of obtaining them could not be more different.&lt;/p&gt;</description></item><item><title>The missing layer in compliance RAG: why your search results need a judge</title><link>https://ferkakta.dev/rag-judging-layer/</link><pubDate>Thu, 19 Mar 2026 12:00:00 -0500</pubDate><guid>https://ferkakta.dev/rag-judging-layer/</guid><description>&lt;p&gt;If you&amp;rsquo;re building search over a knowledge base with an LLM — the pattern everyone calls RAG — you&amp;rsquo;ve seen the standard pipeline: embed the user&amp;rsquo;s question, find the closest chunks in a vector store, hand them to the LLM, get an answer. For documentation search or internal wikis, this works. The LLM is good at ignoring irrelevant context when the relevant stuff is also in the window.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m building a CMMC compliance platform, and I wanted a way to dogfood our own product against our own development process. Every commit we make to the platform touches some aspect of NIST 800-171 — access control, audit logging, encryption, configuration management. I wanted our pull requests to show which compliance controls each change addresses. Not as a compliance artifact (though it could become one), but as a consciousness-raising tool: every engineer on the team sees the compliance implications of their own code, every reviewer sees which controls are being strengthened. It&amp;rsquo;s ambient education that turns into culture.&lt;/p&gt;</description></item><item><title>I assumed GovCloud was AWS with a different region code. It took two weeks to prove me wrong.</title><link>https://ferkakta.dev/govcloud-surprises/</link><pubDate>Wed, 11 Mar 2026 23:00:00 -0400</pubDate><guid>https://ferkakta.dev/govcloud-surprises/</guid><description>&lt;p&gt;I needed a GovCloud account for a multi-tenant NIST compliance platform. I&amp;rsquo;d been running commercial AWS infrastructure for months — EKS, Terraform, tenant provisioning, the whole stack. GovCloud would be the same thing in a different region. That was the assumption. It lasted about four hours.&lt;/p&gt;
&lt;h2 id="the-account-that-doesnt-exist-yet"&gt;The account that doesn&amp;rsquo;t exist yet&lt;/h2&gt;
&lt;p&gt;My management account couldn&amp;rsquo;t call &lt;code&gt;CreateGovCloudAccount&lt;/code&gt;. The API returned &lt;code&gt;ConstraintViolationException&lt;/code&gt; with a message about not being &amp;ldquo;enabled for access to GovCloud&amp;rdquo; and no guidance on what that meant. I filed a support case. AWS enabled the permission two days later, and as a side effect created a standalone GovCloud account that had no relationship to my Organizations structure — an orphan floating in the partition with disconnected root credentials. I still had to find it and deal with it.&lt;/p&gt;</description></item></channel></rss>