<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Security on Hi, I&#39;m Muhammad Amal</title>
    <link>https://muhammadamal.my.id/tags/security/</link>
    <description>Recent content in Security on Hi, I&#39;m Muhammad Amal</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Wed, 24 Sep 2025 09:00:00 +0700</lastBuildDate>
    <atom:link href="https://muhammadamal.my.id/tags/security/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Supply Chain Security for AI Models, Signing and SBOM</title>
      <link>https://muhammadamal.my.id/blog/supply-chain-security-ai-models-signing-and-sbom/</link>
      <pubDate>Wed, 24 Sep 2025 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/supply-chain-security-ai-models-signing-and-sbom/</guid>
      <description>How to sign models, produce SBOMs that mean something for ML, and verify everything at runtime without slowing your team down.</description>
    </item>
    <item>
      <title>Content Moderation for LLMs with Llama Guard 3.2</title>
      <link>https://muhammadamal.my.id/blog/content-moderation-for-llms-llama-guard-3-2/</link>
      <pubDate>Mon, 22 Sep 2025 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/content-moderation-for-llms-llama-guard-3-2/</guid>
      <description>How to deploy Llama Guard 3.2 for input and output moderation without crippling latency, with custom rules and real benchmarks.</description>
    </item>
    <item>
      <title>Policy as Code with OPA 1.0, A Production Walkthrough</title>
      <link>https://muhammadamal.my.id/blog/policy-as-code-opa-1-0-production-walkthrough/</link>
      <pubDate>Wed, 17 Sep 2025 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/policy-as-code-opa-1-0-production-walkthrough/</guid>
      <description>How to run OPA 1.0 in production without footguns, with real policies, bundle infrastructure, and the operational habits that keep it healthy.</description>
    </item>
    <item>
      <title>SPIFFE and SPIRE for Service Identity, A Hands On Tutorial</title>
      <link>https://muhammadamal.my.id/blog/spiffe-spire-service-identity-hands-on-tutorial/</link>
      <pubDate>Mon, 15 Sep 2025 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/spiffe-spire-service-identity-hands-on-tutorial/</guid>
      <description>Install SPIRE 1.10, register workloads, and use SVIDs from real applications without faking your way through the docs.</description>
    </item>
    <item>
      <title>Securing RAG Systems Against Data Exfiltration in 2025</title>
      <link>https://muhammadamal.my.id/blog/securing-rag-against-data-exfiltration-2025/</link>
      <pubDate>Wed, 10 Sep 2025 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/securing-rag-against-data-exfiltration-2025/</guid>
      <description>Practical controls that stop the most common RAG exfiltration vectors without breaking retrieval quality.</description>
    </item>
    <item>
      <title>DevSecOps in AI ML Pipelines, A Comprehensive Tutorial</title>
      <link>https://muhammadamal.my.id/blog/devsecops-ai-ml-pipelines-comprehensive-tutorial/</link>
      <pubDate>Mon, 08 Sep 2025 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/devsecops-ai-ml-pipelines-comprehensive-tutorial/</guid>
      <description>How to wire real security gates into ML pipelines without grinding training to a halt, with code and policies that actually work.</description>
    </item>
    <item>
      <title>Zero Trust Architectures for AI Services, A Step by Step Setup</title>
      <link>https://muhammadamal.my.id/blog/zero-trust-architectures-ai-services-step-by-step-setup/</link>
      <pubDate>Wed, 03 Sep 2025 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/zero-trust-architectures-ai-services-step-by-step-setup/</guid>
      <description>How to build a real Zero Trust setup around your model-serving stack without drowning in vendor jargon.</description>
    </item>
    <item>
      <title>Advanced Prompt Injection Defenses in 2025, A Practical Guide</title>
      <link>https://muhammadamal.my.id/blog/advanced-prompt-injection-defenses-2025-practical-guide/</link>
      <pubDate>Mon, 01 Sep 2025 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/advanced-prompt-injection-defenses-2025-practical-guide/</guid>
      <description>Layered prompt injection defenses that actually hold up in production, with code, diagrams, and the failure modes nobody talks about.</description>
    </item>
    <item>
      <title>Managing Secrets and Credentials in n8n for Enterprise</title>
      <link>https://muhammadamal.my.id/blog/managing-secrets-and-credentials-in-n8n-for-enterprise/</link>
      <pubDate>Fri, 15 Aug 2025 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/managing-secrets-and-credentials-in-n8n-for-enterprise/</guid>
      <description>Move n8n credentials out of the database and into Vault or Infisical, wire up Keycloak or Auth0 SSO, and build a rotation story that doesn&amp;rsquo;t break workflows.</description>
    </item>
    <item>
      <title>Securing Internal Microservices with JWT and SPIFFE in 2025</title>
      <link>https://muhammadamal.my.id/blog/securing-internal-microservices-jwt-spiffe-2025/</link>
      <pubDate>Mon, 14 Jul 2025 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/securing-internal-microservices-jwt-spiffe-2025/</guid>
      <description>SPIFFE gives you trustworthy workload identity. JWT gives you portable claims. Together, they replace static service tokens.</description>
    </item>
    <item>
      <title>LLM Red Teaming, Practical Techniques for 2024</title>
      <link>https://muhammadamal.my.id/blog/llm-red-teaming-practical-techniques-2024/</link>
      <pubDate>Wed, 30 Oct 2024 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/llm-red-teaming-practical-techniques-2024/</guid>
      <description>How to run an LLM red team that produces actionable findings instead of party tricks, with attack inventory and triage flow.</description>
    </item>
    <item>
      <title>Container Image Signing with cosign and Sigstore in 2024</title>
      <link>https://muhammadamal.my.id/blog/container-image-signing-cosign-sigstore-2024/</link>
      <pubDate>Mon, 28 Oct 2024 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/container-image-signing-cosign-sigstore-2024/</guid>
      <description>A working guide to signing container images with cosign and Sigstore, including keyless signing and Kubernetes admission enforcement.</description>
    </item>
    <item>
      <title>Securing RAG Systems Against Data Exfiltration</title>
      <link>https://muhammadamal.my.id/blog/securing-rag-systems-against-data-exfiltration/</link>
      <pubDate>Wed, 23 Oct 2024 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/securing-rag-systems-against-data-exfiltration/</guid>
      <description>How to design RAG systems so that prompt injection and over-eager retrieval don&amp;rsquo;t become an exfiltration channel.</description>
    </item>
    <item>
      <title>SAST in 2024, Semgrep and AI Triage for Real Codebases</title>
      <link>https://muhammadamal.my.id/blog/sast-semgrep-ai-triage-real-codebases/</link>
      <pubDate>Mon, 21 Oct 2024 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/sast-semgrep-ai-triage-real-codebases/</guid>
      <description>Combining Semgrep with LLM triage to make SAST output actionable on production-sized codebases.</description>
    </item>
    <item>
      <title>Secrets Scanning in 2024, TruffleHog and Gitleaks in CI</title>
      <link>https://muhammadamal.my.id/blog/secrets-scanning-trufflehog-gitleaks-ci-2024/</link>
      <pubDate>Wed, 16 Oct 2024 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/secrets-scanning-trufflehog-gitleaks-ci-2024/</guid>
      <description>A working setup for secrets scanning across TruffleHog and Gitleaks, with pre-receive enforcement and verifier-based prioritization.</description>
    </item>
    <item>
      <title>Auto Remediation for Cloud Security Findings</title>
      <link>https://muhammadamal.my.id/blog/auto-remediation-cloud-security-findings/</link>
      <pubDate>Mon, 14 Oct 2024 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/auto-remediation-cloud-security-findings/</guid>
      <description>A pragmatic blueprint for safe auto remediation of cloud security findings across AWS Security Hub and GCP SCC.</description>
    </item>
    <item>
      <title>AI Assisted Detection Rules, Sigma and YARA in 2024</title>
      <link>https://muhammadamal.my.id/blog/ai-assisted-detection-rules-sigma-yara-2024/</link>
      <pubDate>Wed, 09 Oct 2024 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/ai-assisted-detection-rules-sigma-yara-2024/</guid>
      <description>A pragmatic look at LLM-assisted authoring of Sigma and YARA detections, including evaluation harnesses and review gates.</description>
    </item>
    <item>
      <title>Prompt Injection Defenses in LLM Apps, Patterns for 2024</title>
      <link>https://muhammadamal.my.id/blog/prompt-injection-defenses-llm-apps-2024/</link>
      <pubDate>Mon, 07 Oct 2024 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/prompt-injection-defenses-llm-apps-2024/</guid>
      <description>Hardening patterns for prompt injection across system prompts, tools, and retrieval, with code and policy guidance.</description>
    </item>
    <item>
      <title>Securing the OT IT Boundary in Industrial Networks</title>
      <link>https://muhammadamal.my.id/blog/securing-ot-it-boundary/</link>
      <pubDate>Wed, 21 Aug 2024 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/securing-ot-it-boundary/</guid>
      <description>Practical OT/IT boundary security in 2024, with segmentation, auth and monitoring.</description>
    </item>
    <item>
      <title>mTLS, Service Mesh or Application Layer in 2024</title>
      <link>https://muhammadamal.my.id/blog/mtls-service-mesh-or-application-layer/</link>
      <pubDate>Wed, 24 Jul 2024 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/mtls-service-mesh-or-application-layer/</guid>
      <description>Choosing between mesh-terminated and application-terminated mTLS in 2024, with Envoy 1.30 and Go 1.22 implementations and the failure modes that decide it.</description>
    </item>
    <item>
      <title>Securing Go Microservices with JWT, Patterns That Hold Up</title>
      <link>https://muhammadamal.my.id/blog/securing-go-microservices-jwt/</link>
      <pubDate>Wed, 10 Jul 2024 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/securing-go-microservices-jwt/</guid>
      <description>Production JWT patterns for Go microservices in 2024 using golang-jwt v5, covering signing, validation, and context plumbing.</description>
    </item>
    <item>
      <title>Securing RAG, Per-User Document Access Without Re-indexing</title>
      <link>https://muhammadamal.my.id/blog/rag-security-access-control-multi-tenant/</link>
      <pubDate>Mon, 19 Feb 2024 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/rag-security-access-control-multi-tenant/</guid>
      <description>Multi-tenant RAG without leaks. Metadata filtering at retrieval, ACL design, audit trails, and prompt-side defenses for what filters miss.</description>
    </item>
    <item>
      <title>Securing an Internal LLM Chatbot, Threats, Boundaries, and What I Got Wrong</title>
      <link>https://muhammadamal.my.id/blog/securing-internal-llm-chatbot-data/</link>
      <pubDate>Tue, 14 Nov 2023 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/securing-internal-llm-chatbot-data/</guid>
      <description>A practical guide to securing internal LLM chatbots — prompt injection, leakage, access control, and the gaps people miss.</description>
    </item>
    <item>
      <title>Pod Security Standards in 2023, Migrating Off PSPs Without Breaking Everything</title>
      <link>https://muhammadamal.my.id/blog/pod-security-standards-migration/</link>
      <pubDate>Thu, 28 Sep 2023 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/pod-security-standards-migration/</guid>
      <description>Migrating from PodSecurityPolicy to Pod Security Standards on Kubernetes 1.28 — namespace labels, audit-mode rollout, and the workloads guaranteed to break.</description>
    </item>
    <item>
      <title>SLSA v1.0 in Practice, Build Provenance Without Boiling the Ocean</title>
      <link>https://muhammadamal.my.id/blog/slsa-provenance-build-attestations/</link>
      <pubDate>Mon, 25 Sep 2023 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/slsa-provenance-build-attestations/</guid>
      <description>Pragmatic SLSA v1.0 provenance with GitHub Actions and Cosign — what Level 2 actually delivers, and the operational lift to reach Level 3.</description>
    </item>
    <item>
      <title>OPA 0.55 and Gatekeeper 3.13, Writing Admission Policies People Will Actually Maintain</title>
      <link>https://muhammadamal.my.id/blog/opa-gatekeeper-admission-policy/</link>
      <pubDate>Thu, 21 Sep 2023 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/opa-gatekeeper-admission-policy/</guid>
      <description>Practical Gatekeeper 3.13 admission policy patterns — constraint templates, audit mode, mutation, and Rego that is actually maintainable.</description>
    </item>
    <item>
      <title>Falco 0.35 in Production, Runtime Detection Without the Alert Fatigue</title>
      <link>https://muhammadamal.my.id/blog/falco-runtime-security-kubernetes/</link>
      <pubDate>Mon, 18 Sep 2023 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/falco-runtime-security-kubernetes/</guid>
      <description>Running Falco 0.35 in production Kubernetes with the modern eBPF driver — rule tuning, output routing to Slack and SIEM, and the defaults to switch off.</description>
    </item>
    <item>
      <title>Vault 1.14 Dynamic Secrets in Kubernetes, Past the Sidecar Demo</title>
      <link>https://muhammadamal.my.id/blog/vault-dynamic-secrets-kubernetes/</link>
      <pubDate>Thu, 14 Sep 2023 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/vault-dynamic-secrets-kubernetes/</guid>
      <description>Running Vault 1.14 dynamic database secrets in Kubernetes 1.28 — injector vs CSI, lease renewal, and the failure modes that bite under load.</description>
    </item>
    <item>
      <title>SBOMs That Are Actually Useful, Syft, CycloneDX 1.5, and the Limits of Static Analysis</title>
      <link>https://muhammadamal.my.id/blog/sbom-syft-cyclonedx-pipeline/</link>
      <pubDate>Mon, 11 Sep 2023 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/sbom-syft-cyclonedx-pipeline/</guid>
      <description>Producing accurate SBOMs with Syft and CycloneDX 1.5, the gaps you will not see, and how to attach them as signed attestations.</description>
    </item>
    <item>
      <title>Keyless Container Signing With Cosign 2.2, A Setup That Survives an Audit</title>
      <link>https://muhammadamal.my.id/blog/sigstore-cosign-keyless-signing/</link>
      <pubDate>Thu, 07 Sep 2023 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/sigstore-cosign-keyless-signing/</guid>
      <description>Production-grade keyless container signing with Cosign 2.2 and Sigstore — the OIDC trust chain, Rekor verification, and air-gap caveats.</description>
    </item>
    <item>
      <title>Wiring Trivy 0.45 Into a CI Pipeline That Actually Blocks Bad Builds</title>
      <link>https://muhammadamal.my.id/blog/trivy-container-scanning-pipeline/</link>
      <pubDate>Mon, 04 Sep 2023 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/trivy-container-scanning-pipeline/</guid>
      <description>Trivy 0.45 in CI: severity gating, ignore policies, DB caching, and the gotchas that bite teams shipping containers daily.</description>
    </item>
    <item>
      <title>Rustls vs OpenSSL for Backend TLS in 2023</title>
      <link>https://muhammadamal.my.id/blog/rustls-vs-openssl-backend-tls/</link>
      <pubDate>Fri, 28 Jul 2023 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/rustls-vs-openssl-backend-tls/</guid>
      <description>When to pick rustls and when to stay with OpenSSL for Rust backend TLS — performance, deployment, and compliance trade-offs from production experience.</description>
    </item>
    <item>
      <title>Building Secure CLIs in Rust with clap 4</title>
      <link>https://muhammadamal.my.id/blog/building-secure-clis-clap-4/</link>
      <pubDate>Tue, 18 Jul 2023 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/building-secure-clis-clap-4/</guid>
      <description>Design patterns for secure CLI tools in Rust using clap 4: secret handling, input validation, static binaries, and predictable exit codes.</description>
    </item>
    <item>
      <title>Memory Safety Without a Garbage Collector, What Rust Actually Guarantees</title>
      <link>https://muhammadamal.my.id/blog/memory-safety-without-gc/</link>
      <pubDate>Tue, 11 Jul 2023 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/memory-safety-without-gc/</guid>
      <description>The real scope of Rust&amp;rsquo;s memory safety guarantees, the classes of bugs they eliminate, and the ones they don&amp;rsquo;t.</description>
    </item>
    <item>
      <title>Kubernetes 1.27 Multi-Tenancy, What&#39;s Actually Safe and What Still Isn&#39;t</title>
      <link>https://muhammadamal.my.id/blog/kubernetes-1-27-multi-tenancy-patterns/</link>
      <pubDate>Fri, 09 Jun 2023 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/kubernetes-1-27-multi-tenancy-patterns/</guid>
      <description>Namespace-as-tenant works for most internal platforms. Here are the controls that make it safe on Kubernetes 1.27 and the failure modes that still demand cluster separation.</description>
    </item>
    <item>
      <title>November Retro, Security Hardening Sprint</title>
      <link>https://muhammadamal.my.id/blog/november-retro-api-security/</link>
      <pubDate>Wed, 30 Nov 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/november-retro-api-security/</guid>
      <description>November retro: API security audits. What changed, what&amp;rsquo;s still open, reader notes.</description>
    </item>
    <item>
      <title>Audit Logging for Backend APIs</title>
      <link>https://muhammadamal.my.id/blog/backend-audit-logging/</link>
      <pubDate>Mon, 28 Nov 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/backend-audit-logging/</guid>
      <description>Backend audit logging: what to log, what not, immutable storage, retention.</description>
    </item>
    <item>
      <title>Input Validation and the OWASP Top 10</title>
      <link>https://muhammadamal.my.id/blog/input-validation-owasp-top-10/</link>
      <pubDate>Fri, 25 Nov 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/input-validation-owasp-top-10/</guid>
      <description>Input validation + OWASP Top 10: SQLi, XSS, SSRF, command injection. The discipline.</description>
    </item>
    <item>
      <title>CSRF Defense Patterns in 2022</title>
      <link>https://muhammadamal.my.id/blog/csrf-defense-patterns/</link>
      <pubDate>Wed, 23 Nov 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/csrf-defense-patterns/</guid>
      <description>CSRF defense: synchronizer tokens, double-submit, SameSite, custom headers. Layered approach.</description>
    </item>
    <item>
      <title>CORS, What It Actually Protects</title>
      <link>https://muhammadamal.my.id/blog/cors-security/</link>
      <pubDate>Mon, 21 Nov 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/cors-security/</guid>
      <description>CORS demystified: same-origin policy, what it protects, preflight, safe configurations.</description>
    </item>
    <item>
      <title>API Keys vs OAuth for Third-Party Access</title>
      <link>https://muhammadamal.my.id/blog/api-keys-vs-oauth/</link>
      <pubDate>Fri, 18 Nov 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/api-keys-vs-oauth/</guid>
      <description>API keys vs OAuth for third-party access: use cases, security, scopes, rotation.</description>
    </item>
    <item>
      <title>Distributed Rate Limiting with Redis</title>
      <link>https://muhammadamal.my.id/blog/redis-rate-limiting-distributed/</link>
      <pubDate>Wed, 16 Nov 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/redis-rate-limiting-distributed/</guid>
      <description>Distributed rate limiting in Redis: token bucket via Lua, sliding window via sorted sets.</description>
    </item>
    <item>
      <title>Rate Limiting Algorithms, Token Bucket, Leaky Bucket, Sliding Window</title>
      <link>https://muhammadamal.my.id/blog/rate-limiting-algorithms/</link>
      <pubDate>Mon, 14 Nov 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/rate-limiting-algorithms/</guid>
      <description>Rate limit algos: token bucket, leaky bucket, fixed + sliding window. When each wins.</description>
    </item>
    <item>
      <title>OAuth 2.1 vs OAuth 2.0, What Changed</title>
      <link>https://muhammadamal.my.id/blog/oauth-21-vs-20/</link>
      <pubDate>Fri, 11 Nov 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/oauth-21-vs-20/</guid>
      <description>OAuth 2.1: PKCE always, no implicit, no password grant. Aligning your implementation.</description>
    </item>
    <item>
      <title>Refresh Tokens and Token Revocation</title>
      <link>https://muhammadamal.my.id/blog/refresh-tokens-revocation/</link>
      <pubDate>Wed, 09 Nov 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/refresh-tokens-revocation/</guid>
      <description>Refresh tokens correctly: short access + long refresh, rotation, revocation lists, defeat theft.</description>
    </item>
    <item>
      <title>Why JWT for Sessions Is Usually Wrong</title>
      <link>https://muhammadamal.my.id/blog/jwt-for-sessions-usually-wrong/</link>
      <pubDate>Mon, 07 Nov 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/jwt-for-sessions-usually-wrong/</guid>
      <description>JWT vs server sessions. When JWT pays off, when it costs. Migration paths.</description>
    </item>
    <item>
      <title>JWT Done Right, Signing, Verifying, Rotating Keys</title>
      <link>https://muhammadamal.my.id/blog/jwt-done-right/</link>
      <pubDate>Fri, 04 Nov 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/jwt-done-right/</guid>
      <description>JWT done right: RS256/ES256, expiry, audience, JWKS rotation. Patterns that prevent disaster.</description>
    </item>
    <item>
      <title>Backend API Security in 2022, The Threat Model</title>
      <link>https://muhammadamal.my.id/blog/backend-api-security-2022/</link>
      <pubDate>Wed, 02 Nov 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/backend-api-security-2022/</guid>
      <description>Backend API security threat model 2022: real threats, working mitigations, priority order.</description>
    </item>
    <item>
      <title>Securing MQTT, Auth, ACLs, and Certificate Rotation</title>
      <link>https://muhammadamal.my.id/blog/mqtt-security-acls-certificates/</link>
      <pubDate>Fri, 26 Aug 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/mqtt-security-acls-certificates/</guid>
      <description>MQTT security: TLS, per-device creds, ACLs, cert rotation. Real threats + mitigations.</description>
    </item>
    <item>
      <title>Self-Hosting Mosquitto with TLS and Auth</title>
      <link>https://muhammadamal.my.id/blog/self-host-mosquitto-tls-auth/</link>
      <pubDate>Mon, 08 Aug 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/self-host-mosquitto-tls-auth/</guid>
      <description>Mosquitto 2.0 production setup. TLS, auth, ACLs, persistence, Compose stack.</description>
    </item>
    <item>
      <title>Securing n8n, Credentials, OAuth, and Encryption</title>
      <link>https://muhammadamal.my.id/blog/n8n-security-credentials-oauth/</link>
      <pubDate>Wed, 25 May 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/n8n-security-credentials-oauth/</guid>
      <description>Secure n8n: credentials manager, OAuth, encryption key mgmt, network exposure, audit checklist.</description>
    </item>
    <item>
      <title>Webhooks 101 for Engineering Workflows</title>
      <link>https://muhammadamal.my.id/blog/webhooks-101-engineering-workflows/</link>
      <pubDate>Wed, 18 May 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/webhooks-101-engineering-workflows/</guid>
      <description>Webhooks for engineering automation. How they work, signatures, retries, idempotency, replay protection.</description>
    </item>
  </channel>
</rss>
