<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[CodeYourCompliance]]></title><description><![CDATA[This publication explores compliance automation, policy-as-code, and evidence-based audit architectures in regulated environments. Written from an independent research perspective.]]></description><link>https://www.codeyourcompliance.com</link><image><url>https://www.codeyourcompliance.com/img/substack.png</url><title>CodeYourCompliance</title><link>https://www.codeyourcompliance.com</link></image><generator>Substack</generator><lastBuildDate>Sat, 02 May 2026 09:36:49 GMT</lastBuildDate><atom:link href="https://www.codeyourcompliance.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[CodeYourCompliance]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[codeyourcompliance@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[codeyourcompliance@substack.com]]></itunes:email><itunes:name><![CDATA[www.codeyourcompliance.com]]></itunes:name></itunes:owner><itunes:author><![CDATA[www.codeyourcompliance.com]]></itunes:author><googleplay:owner><![CDATA[codeyourcompliance@substack.com]]></googleplay:owner><googleplay:email><![CDATA[codeyourcompliance@substack.com]]></googleplay:email><googleplay:author><![CDATA[www.codeyourcompliance.com]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Compliance Is Not Documentation. It Is Evidence That Can Be Replayed. ]]></title><description><![CDATA[A short architecture note on why MAS TRM compliance automation should begin with replayable, timestamped, verifiable evidence rather than static documentation.]]></description><link>https://www.codeyourcompliance.com/p/compliance-is-not-documentation-it-18e</link><guid isPermaLink="false">https://www.codeyourcompliance.com/p/compliance-is-not-documentation-it-18e</guid><dc:creator><![CDATA[CodeYourCompliance]]></dc:creator><pubDate>Wed, 29 Apr 2026 04:40:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ZBrE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff57c9b43-d462-49ee-af64-26c64a474ce2_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A compliance report can be well written and still be weak evidence.</p><p>The question is not whether a control was documented. The question is whether the underlying system state can be verified, trusted, and replayed after the fact.</p><p>That is where CodeYourCompliance starts.</p><blockquote><p>Compliance is not documentation. It is evidence that can be replayed.</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZBrE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff57c9b43-d462-49ee-af64-26c64a474ce2_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZBrE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff57c9b43-d462-49ee-af64-26c64a474ce2_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!ZBrE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff57c9b43-d462-49ee-af64-26c64a474ce2_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!ZBrE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff57c9b43-d462-49ee-af64-26c64a474ce2_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!ZBrE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff57c9b43-d462-49ee-af64-26c64a474ce2_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZBrE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff57c9b43-d462-49ee-af64-26c64a474ce2_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f57c9b43-d462-49ee-af64-26c64a474ce2_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1276306,&quot;alt&quot;:&quot;Diagram explaining why compliance must move beyond documentation toward verifiable evidence.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.codeyourcompliance.com/i/195828058?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff57c9b43-d462-49ee-af64-26c64a474ce2_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Diagram explaining why compliance must move beyond documentation toward verifiable evidence." title="Diagram explaining why compliance must move beyond documentation toward verifiable evidence." srcset="https://substackcdn.com/image/fetch/$s_!ZBrE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff57c9b43-d462-49ee-af64-26c64a474ce2_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!ZBrE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff57c9b43-d462-49ee-af64-26c64a474ce2_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!ZBrE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff57c9b43-d462-49ee-af64-26c64a474ce2_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!ZBrE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff57c9b43-d462-49ee-af64-26c64a474ce2_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Compliance evidence should be verifiable, not just documented.</figcaption></figure></div><p>Most compliance work still starts with documents.</p><p>Screenshots. Spreadsheets. Static reports. Manual attestations. These artifacts are useful, but they are often asked to do something they were not designed to do: prove that a technical control was actually true at a specific point in time.</p><p>In this article, compliance automation means converting regulatory expectations, such as MAS TRM[1]-inspired security controls, into verifiable system evidence that can be collected, timestamped, checked, evaluated, and replayed.</p><p>Documentation can describe a control.</p><p>It cannot, by itself, prove that the system was in a specific security state when evidence was collected.</p><p>That distinction matters.</p><h2><strong>The Evidence Problem</strong></h2><p>A static audit report usually tells us the conclusion.</p><p>It may say that TLS was enabled, that a certificate was present, or that a configuration was reviewed. But it often does not preserve the evidence chain behind that conclusion.</p><p>The harder questions are usually left open.</p><p>Was the evidence collected without changing the system?</p><p>Was it bound to a timestamp?</p><p>Was it modified after collection?</p><p>Was the policy decision based on verified facts?</p><p>Could another reviewer replay the same path and reach the same conclusion?</p><p>These questions matter in the context of MAS TRM expectations because technology risk management depends on control assurance, not just control description.</p><p>A report is useful.</p><p>But a report is not the same thing as verifiable compliance evidence.</p><h2><strong>A Minimal Evidence Pipeline</strong></h2><p>The first CodeYourCompliance experiment uses a deliberately narrow scenario.</p><p>A Rocky Linux 10 host acts as the Ansible controller. A Rocky Linux 9 host runs Apache HTTPD with TLS enabled. The Apache TLS certificate is intentionally configured to approach expiry within a short window, such as 48 hours.</p><p>The goal is not to prove full MAS TRM compliance.</p><p>The goal is to show how a technical audit conclusion can be traced back to timestamped, integrity-checked system evidence.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!g-2X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60d45d1a-4a24-4624-836f-89c6e8eb8842_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!g-2X!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60d45d1a-4a24-4624-836f-89c6e8eb8842_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!g-2X!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60d45d1a-4a24-4624-836f-89c6e8eb8842_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!g-2X!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60d45d1a-4a24-4624-836f-89c6e8eb8842_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!g-2X!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60d45d1a-4a24-4624-836f-89c6e8eb8842_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!g-2X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60d45d1a-4a24-4624-836f-89c6e8eb8842_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/60d45d1a-4a24-4624-836f-89c6e8eb8842_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1058053,&quot;alt&quot;:&quot;Diagram showing a seven-stage evidence validation pipeline: system state, read-only collection, timestamped evidence package, integrity verification, derived facts, policy evaluation, and audit narrative.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.codeyourcompliance.com/i/195828058?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60d45d1a-4a24-4624-836f-89c6e8eb8842_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Diagram showing a seven-stage evidence validation pipeline: system state, read-only collection, timestamped evidence package, integrity verification, derived facts, policy evaluation, and audit narrative." title="Diagram showing a seven-stage evidence validation pipeline: system state, read-only collection, timestamped evidence package, integrity verification, derived facts, policy evaluation, and audit narrative." srcset="https://substackcdn.com/image/fetch/$s_!g-2X!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60d45d1a-4a24-4624-836f-89c6e8eb8842_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!g-2X!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60d45d1a-4a24-4624-836f-89c6e8eb8842_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!g-2X!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60d45d1a-4a24-4624-836f-89c6e8eb8842_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!g-2X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60d45d1a-4a24-4624-836f-89c6e8eb8842_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A minimal MAS TRM-inspired evidence validation pipeline, from system state to audit narrative.</figcaption></figure></div><p>The pipeline is intentionally small:</p><ol><li><p>Collect system state in read-only mode.</p></li><li><p>Package evidence with an ISO 8601 timestamp.</p></li><li><p>Generate a SHA256 integrity hash.</p></li><li><p>Verify the evidence before analysis.</p></li><li><p>Derive TLS facts such as certificate expiry and signature algorithm.</p></li><li><p>Evaluate verified facts using OPA/Rego[2] policy logic.</p></li><li><p>Generate a MAS TRM-aligned audit narrative.</p></li></ol><p>The important design choice is this:</p><p>Policy evaluation should not run on unverified evidence.</p><p>If the evidence hash does not match, the result should not be pass or fail. The correct result is <code>invalid_evidence</code>.</p><p>That boundary separates weak automation from defensible audit automation.</p><h2><strong>What This Experiment Shows</strong></h2><p>This experiment demonstrates a minimal replayable evidence path.</p><p>The audit conclusion is not based on a screenshot, a manual statement, or declared configuration alone.</p><p>It is based on collected system evidence, sealed at a point in time, verified for integrity, normalized into facts, evaluated by policy, and translated into an audit narrative.</p><p>For example:</p><blockquote><p>Based on cryptographically verified TLS certificate evidence collected at a specific time, the HTTPS service was operating with a certificate approaching expiry within the defined threshold. This condition weakens assurance over the TLS certificate lifecycle and does not align with MAS TRM-inspired expectations for maintaining strong cryptographic controls.</p></blockquote><p>That sentence is not just prose.</p><p>It has a chain behind it:</p><p>system state -&gt; timestamped evidence -&gt; integrity verification -&gt; derived facts -&gt; policy evaluation -&gt; audit narrative</p><p>That is the difference between a report and a replayable audit path.</p><h2><strong>Scope and Limitations</strong></h2><p>This is not legal, regulatory, audit, or certification advice.</p><p>It does not claim MAS TRM compliance.</p><p>It does not replace auditors, risk owners, governance teams, or formal regulatory interpretation.</p><p>It also does not claim that SHA256 alone is enough for enterprise-grade evidence assurance. Production systems may require signed manifests, trusted timestamping, immutable storage, key management, approval workflows, and independent validation.</p><p>The point is narrower:</p><p>Where technical evidence exists, compliance conclusions should be replayable.</p><h2><strong>Companion Repository</strong></h2><p>The public companion repository for this article is available here:</p><p><a href="https://github.com/codeyourcompliance/evidence-validation-pipeline">https://github.com/codeyourcompliance/evidence-validation-pipeline</a></p><p>It contains the sample evidence structure, sample report, and future reference implementation assets for the evidence validation pipeline.</p><p>Substack explains the problem language. GitHub stores the public technical artifacts.</p><h2><strong>Closing</strong></h2><p>Compliance automation should not begin with the report.</p><p>It should begin with the evidence.</p><p>If the evidence cannot be collected, verified, evaluated, and replayed, then the conclusion may still be useful as documentation. But it is weaker as compliance evidence.</p><p>That is the line CodeYourCompliance will keep exploring:</p><blockquote><p>from static documentation<br>to replayable evidence<br>to machine-evaluable compliance.</p></blockquote><div><hr></div><p>[1] <strong>MAS TRM</strong> refers to the <strong>Monetary Authority of Singapore Technology Risk Management Guidelines</strong>.<br>Official MAS page: <a href="https://www.mas.gov.sg/regulation/guidelines/technology-risk-management-guidelines">https://www.mas.gov.sg/regulation/guidelines/technology-risk-management-guidelines</a></p><p>[2] <strong>OPA/Rego</strong> refers to <strong>Open Policy Agent</strong> and its policy language <strong>Rego</strong>.<br>Official OPA documentation: <a href="https://www.openpolicyagent.org/docs">https://www.openpolicyagent.org/docs</a></p>]]></content:encoded></item></channel></rss>