clawmoat 0.7.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/.dockerignore +9 -0
  2. package/CHANGELOG.md +18 -0
  3. package/CONTRIBUTING.md +4 -2
  4. package/DEMO.md +87 -0
  5. package/Dockerfile +5 -18
  6. package/README.md +294 -8
  7. package/SECURITY.md +58 -10
  8. package/THREAT_MODEL.md +129 -0
  9. package/agent/README.md +131 -0
  10. package/agent/index.js +471 -0
  11. package/agent/install-service.sh +94 -0
  12. package/agent/openclaw-hook.js +453 -0
  13. package/agent/provider-setup.js +649 -0
  14. package/agent/setup.js +274 -0
  15. package/assets/BADGE-USAGE.md +20 -0
  16. package/assets/clawmoat-badge.svg +21 -0
  17. package/bin/clawmoat.js +468 -111
  18. package/docs/affiliates/dashboard.html +124 -0
  19. package/docs/affiliates/index.html +236 -0
  20. package/docs/agent-install.html +183 -0
  21. package/docs/ai-agent-security-scanner.html +10 -6
  22. package/docs/badge/index.html +149 -0
  23. package/docs/badge/scanning.svg +23 -0
  24. package/docs/blog/386-malicious-skills.html +262 -0
  25. package/docs/blog/40000-exposed-openclaw-instances.html +201 -0
  26. package/docs/blog/agent-trust-protocol.html +198 -0
  27. package/docs/blog/ai-agent-earns-commissions.html +230 -0
  28. package/docs/blog/bugmageddon-agent-firewall.html +174 -0
  29. package/docs/blog/calculator-math.html +180 -0
  30. package/docs/blog/clawmoat-vs-llamafirewall-nemo-guardrails.html +229 -0
  31. package/docs/blog/host-guardian-launch.html +18 -8
  32. package/docs/blog/ibm-experts-agent-runtime-protection.html +247 -0
  33. package/docs/blog/index.html +211 -9
  34. package/docs/blog/langchain-security-tutorial.html +18 -8
  35. package/docs/blog/mcp-30-cves-security-crisis.html +286 -0
  36. package/docs/blog/meta-researcher-rogue-agent.html +201 -0
  37. package/docs/blog/microsoft-openclaw-workstation-security.html +235 -0
  38. package/docs/blog/nist-ai-agent-standards-clawmoat.html +377 -0
  39. package/docs/blog/oasis-websocket-hijack.html +212 -0
  40. package/docs/blog/ollama-openclaw-security.html +160 -0
  41. package/docs/blog/openclaw-enterprise-readiness-claw10.html +199 -0
  42. package/docs/blog/openclaw-security-reckoning-2026.html +368 -0
  43. package/docs/blog/owasp-agentic-ai-top10.html +18 -8
  44. package/docs/blog/securing-ai-agents.html +18 -8
  45. package/docs/blog/supply-chain-agents.html +18 -8
  46. package/docs/business/index.html +525 -0
  47. package/docs/business/install.html +261 -0
  48. package/docs/checklist.html +174 -0
  49. package/docs/compare/index.html +122 -0
  50. package/docs/compare/lakera/index.html +62 -0
  51. package/docs/compare/llm-guard/index.html +49 -0
  52. package/docs/compare/snyk-agent-scan/index.html +63 -0
  53. package/docs/compare.html +10 -6
  54. package/docs/dashboard/index.html +520 -0
  55. package/docs/finance/index.html +220 -0
  56. package/docs/guides/business-deployment.html +770 -0
  57. package/docs/hall-of-fame.html +174 -0
  58. package/docs/index.html +447 -154
  59. package/docs/install.sh +557 -0
  60. package/docs/integrations/langchain.html +14 -6
  61. package/docs/integrations/openai.html +14 -6
  62. package/docs/integrations/openclaw.html +55 -7
  63. package/docs/plans/2026-03-26-threat-intel-api.md +255 -0
  64. package/docs/plans/2026-04-14-bugmageddon-marketing-pack.md +329 -0
  65. package/docs/plans/2026-04-14-clawmoat-v1-bugmageddon.md +248 -0
  66. package/docs/plans/2026-04-14-v1-release-update.md +91 -0
  67. package/docs/plans/2026-04-19-supabase-audit.md +68 -0
  68. package/docs/plans/2026-05-12-sales-push.md +303 -0
  69. package/docs/playground/index.html +893 -0
  70. package/docs/playground.html +4 -7
  71. package/docs/privacy-policy/index.html +122 -0
  72. package/docs/rfcs/defense-in-depth.md +467 -0
  73. package/docs/scan/index.html +358 -0
  74. package/docs/services/case-study.html +255 -0
  75. package/docs/services/downloads/install-openclaw.bat +45 -0
  76. package/docs/services/downloads/install-openclaw.command +38 -0
  77. package/docs/services/downloads/install-openclaw.sh +38 -0
  78. package/docs/services/get-started.html +165 -0
  79. package/docs/services/index.html +598 -0
  80. package/docs/services/multi-agent-security.html +284 -0
  81. package/docs/services/one-pager.html +99 -0
  82. package/docs/services/pitch-deck.html +229 -0
  83. package/docs/services/roi-calculator.html +258 -0
  84. package/docs/sitemap.xml +192 -2
  85. package/docs/support/index.html +135 -0
  86. package/docs/templates/customer-service/HEARTBEAT.md +61 -0
  87. package/docs/templates/customer-service/MEMORY.md +89 -0
  88. package/docs/templates/customer-service/SOUL.md +41 -0
  89. package/docs/templates/customer-service/USER.md +56 -0
  90. package/docs/templates/executive/HEARTBEAT.md +86 -0
  91. package/docs/templates/executive/MEMORY.md +92 -0
  92. package/docs/templates/executive/SOUL.md +44 -0
  93. package/docs/templates/executive/USER.md +62 -0
  94. package/docs/templates/finance/HEARTBEAT.md +58 -0
  95. package/docs/templates/finance/MEMORY.md +87 -0
  96. package/docs/templates/finance/SOUL.md +38 -0
  97. package/docs/templates/finance/USER.md +53 -0
  98. package/docs/templates/index.html +115 -0
  99. package/docs/templates/operations/HEARTBEAT.md +63 -0
  100. package/docs/templates/operations/MEMORY.md +68 -0
  101. package/docs/templates/operations/SOUL.md +38 -0
  102. package/docs/templates/operations/USER.md +49 -0
  103. package/docs/templates/sales/HEARTBEAT.md +55 -0
  104. package/docs/templates/sales/MEMORY.md +89 -0
  105. package/docs/templates/sales/SOUL.md +34 -0
  106. package/docs/templates/sales/USER.md +54 -0
  107. package/docs/terms-of-service/index.html +122 -0
  108. package/eslint.config.js +32 -0
  109. package/evals/README.md +29 -0
  110. package/evals/cases.json +390 -0
  111. package/evals/results.md +68 -0
  112. package/evals/run.js +180 -0
  113. package/examples/basic-usage.js +38 -0
  114. package/examples/demo-attack/demo.js +186 -0
  115. package/examples/python-quickstart/README.md +54 -0
  116. package/examples/python-quickstart/clawmoat_client.py +167 -0
  117. package/examples/video-demo/README.md +14 -0
  118. package/examples/video-demo/scene-a-normal.js +29 -0
  119. package/examples/video-demo/scene-b-attack-arrives.js +31 -0
  120. package/examples/video-demo/scene-c-hijack.js +44 -0
  121. package/examples/video-demo/scene-d-clawmoat.js +46 -0
  122. package/integrations/crewai/README.md +32 -0
  123. package/integrations/crewai/clawmoat_crewai/__init__.py +17 -0
  124. package/integrations/crewai/clawmoat_crewai/guard.py +103 -0
  125. package/integrations/crewai/pyproject.toml +21 -0
  126. package/integrations/langchain/README.md +91 -0
  127. package/integrations/langchain/clawmoat_langchain/__init__.py +17 -0
  128. package/integrations/langchain/clawmoat_langchain/callback.py +489 -0
  129. package/integrations/langchain/pyproject.toml +32 -0
  130. package/integrations/litellm/README.md +324 -0
  131. package/integrations/litellm/clawmoat_litellm/__init__.py +21 -0
  132. package/integrations/litellm/clawmoat_litellm/callback.py +329 -0
  133. package/integrations/litellm/clawmoat_litellm/proxy_middleware.py +224 -0
  134. package/integrations/litellm/pyproject.toml +74 -0
  135. package/integrations/openai-agents/README.md +392 -0
  136. package/integrations/openai-agents/clawmoat_openai_agents/__init__.py +20 -0
  137. package/integrations/openai-agents/clawmoat_openai_agents/guardrail.py +431 -0
  138. package/integrations/openai-agents/clawmoat_openai_agents/middleware.py +311 -0
  139. package/integrations/openai-agents/pyproject.toml +76 -0
  140. package/package.json +6 -5
  141. package/plugins/openclaw-adapter/PHASE1.md +439 -0
  142. package/plugins/openclaw-adapter/README.md +103 -0
  143. package/plugins/openclaw-adapter/SPEC.md +1644 -0
  144. package/plugins/openclaw-adapter/package.json +31 -0
  145. package/plugins/openclaw-adapter/src/index.test.ts +226 -0
  146. package/plugins/openclaw-adapter/src/index.ts +140 -0
  147. package/plugins/openclaw-adapter/tsconfig.json +14 -0
  148. package/server/data/threats.json +290 -0
  149. package/server/index.js +224 -10
  150. package/src/adapters/express.js +161 -0
  151. package/src/adapters/index.js +92 -0
  152. package/src/adapters/langchain.js +185 -0
  153. package/src/approval/index.js +456 -0
  154. package/src/ban-scanner.js +200 -0
  155. package/src/boundary-scanner.js +296 -0
  156. package/src/ci-scanner.js +279 -0
  157. package/src/code-scanner.js +245 -0
  158. package/src/enforce.js +166 -0
  159. package/src/finance/index.js +585 -0
  160. package/src/finance/mcp-firewall.js +486 -0
  161. package/src/formatters/json.js +80 -0
  162. package/src/formatters/sarif.js +388 -0
  163. package/src/guardian/alerts.js +34 -3
  164. package/src/guardian/gateway-monitor.js +590 -0
  165. package/src/guardian/index.js +41 -2
  166. package/src/index.js +105 -0
  167. package/src/integrations/agentmesh.js +501 -0
  168. package/src/language-detector.js +201 -0
  169. package/src/mcp-scanner.js +253 -0
  170. package/src/multimodal/index.js +579 -0
  171. package/src/obfuscation-scanner.js +457 -0
  172. package/src/policy-engine.js +402 -0
  173. package/src/scanners/dependency-attacks.js +128 -0
  174. package/src/scanners/prompt-injection.js +18 -0
  175. package/src/scanners/supply-chain.js +14 -0
  176. package/src/templates/default-config.yml +90 -0
  177. package/src/vuln-ops/exploitability.js +46 -0
  178. package/src/watch/live-monitor.js +720 -0
@@ -0,0 +1,180 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <link rel="icon" type="image/png" href="/favicon.png">
5
+ <link rel="apple-touch-icon" href="/apple-touch-icon.png">
6
+ <meta charset="UTF-8">
7
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
8
+ <title>She Was Paying Someone Two Days a Month to Do Math With a Calculator — ClawMoat</title>
9
+ <meta name="description" content="A business owner was spending $3,200/month on financial reporting that took two days. We replaced it in an afternoon. The reports are better now.">
10
+ <meta property="og:title" content="She Was Paying Someone Two Days a Month to Do Math With a Calculator">
11
+ <meta property="og:description" content="A business owner was spending $3,200/month on financial reporting that took two days. We replaced it in an afternoon.">
12
+ <meta property="og:type" content="article">
13
+ <meta property="og:url" content="https://clawmoat.com/blog/calculator-math.html">
14
+ <link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>🏰</text></svg>">
15
+ <style>
16
+ *{margin:0;padding:0;box-sizing:border-box}
17
+ :root{--navy:#0F172A;--navy-light:#1E293B;--navy-mid:#334155;--blue:#3B82F6;--emerald:#10B981;--white:#F8FAFC;--gray:#94A3B8;--red:#EF4444}
18
+ body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:var(--navy);color:var(--white);line-height:1.7}
19
+ a{color:var(--blue);text-decoration:none}
20
+ a:hover{text-decoration:underline}
21
+ .container{max-width:760px;margin:0 auto;padding:0 24px}
22
+
23
+ nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(15,23,42,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(59,130,246,.15);padding:16px 0}
24
+ nav .inner{max-width:760px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}
25
+ .logo{font-size:1.25rem;font-weight:700;color:var(--white)}
26
+ .logo span{color:var(--emerald)}
27
+ .nav-links{display:flex;gap:24px}
28
+ .nav-links a{color:var(--gray);font-size:.9rem}
29
+ .nav-links a:hover{color:var(--white);text-decoration:none}
30
+
31
+ article{padding:120px 0 80px}
32
+ .meta{color:var(--gray);font-size:.9rem;margin-bottom:32px}
33
+ article h1{font-size:clamp(1.8rem,4vw,2.4rem);font-weight:800;line-height:1.2;margin-bottom:12px;letter-spacing:-.02em}
34
+ article h2{font-size:1.4rem;font-weight:700;margin:48px 0 16px;color:var(--white)}
35
+ article h3{font-size:1.15rem;font-weight:700;margin:32px 0 12px;color:var(--white)}
36
+ article p{color:var(--gray);font-size:1.05rem;margin-bottom:20px}
37
+ article strong{color:var(--white)}
38
+ article em{color:var(--gray)}
39
+ article ul,article ol{color:var(--gray);margin:0 0 16px 24px}
40
+ article li{margin-bottom:8px}
41
+ article hr{border:none;border-top:1px solid var(--navy-mid);margin:48px 0}
42
+ article blockquote{border-left:3px solid var(--emerald);padding:12px 20px;margin:24px 0;background:rgba(16,185,129,.06);border-radius:0 8px 8px 0}
43
+ article blockquote p{color:var(--white);font-style:italic;margin-bottom:0}
44
+
45
+ .highlight{background:var(--navy-light);border-radius:10px;padding:24px 28px;margin:24px 0;border-left:3px solid var(--emerald)}
46
+ .highlight p{margin-bottom:0}
47
+
48
+ .tags{display:flex;gap:8px;margin-top:32px;flex-wrap:wrap}
49
+ .tag{background:rgba(59,130,246,.12);color:var(--blue);padding:4px 12px;border-radius:20px;font-size:.8rem}
50
+
51
+ .back{display:inline-flex;align-items:center;gap:6px;color:var(--gray);font-size:.9rem;margin-bottom:24px}
52
+ .back:hover{color:var(--white);text-decoration:none}
53
+
54
+ .cta{background:var(--navy-light);border:1px solid var(--navy-mid);border-radius:12px;padding:32px;margin:48px 0;text-align:center}
55
+ .cta h3{margin-top:0;font-size:1.2rem}
56
+ .cta p{font-size:.95rem}
57
+ .cta a.btn{display:inline-block;background:var(--emerald);color:var(--navy);padding:12px 28px;border-radius:8px;font-weight:600;margin-top:12px;text-decoration:none}
58
+ .cta a.btn:hover{opacity:.9;text-decoration:none}
59
+
60
+ footer{border-top:1px solid rgba(255,255,255,.06);padding:32px 0;color:var(--gray);font-size:.85rem;text-align:center}
61
+ </style>
62
+ </head>
63
+ <body>
64
+
65
+ <nav>
66
+ <div class="inner">
67
+ <a href="/" class="logo">🏰 Claw<span>Moat</span></a>
68
+ <div class="nav-links">
69
+ <a href="/">Home</a>
70
+ <a href="/blog/">Blog</a>
71
+ <a href="https://github.com/darfaz/clawmoat">GitHub</a>
72
+ </div>
73
+ </div>
74
+ </nav>
75
+
76
+ <div class="container">
77
+ <article>
78
+ <a href="/blog/" class="back">← Back to Blog</a>
79
+ <h1>She Was Paying Someone Two Days a Month to Do Math With a Calculator</h1>
80
+ <div class="meta">March 1, 2026 · 4 min read</div>
81
+
82
+ <p>Two days a month. That's what Sarah's financial reporting cost her.</p>
83
+
84
+ <p>Not two days of her time — she'd outsourced it. A subcontractor at $200/day came in, pulled numbers from three different systems, typed them into spreadsheets, ran formulas on a calculator, and copy-pasted charts into a slide deck.</p>
85
+
86
+ <p>Sixteen hours of work. $3,200 a month. $38,400 a year.</p>
87
+
88
+ <p>For reports that were late half the time and wrong the other half.</p>
89
+
90
+ <h2>The Part That Should Make You Uncomfortable</h2>
91
+
92
+ <p>Sarah isn't bad at her job. She runs a 22-person company. She's sharp. She negotiates contracts, closes deals, manages a team.</p>
93
+
94
+ <p>But she'd been paying for this reporting setup for three years. Never questioned it. Because it felt like what businesses do — you hire someone, they make the reports, the reports go in a folder, you glance at them before the board meeting.</p>
95
+
96
+ <p>Here's the uncomfortable truth: <strong>she was paying $100/hour for someone to do $15/hour work.</strong></p>
97
+
98
+ <p>Not because the subcontractor was charging too much. Because the work itself — manual data entry, calculator math, copy-paste formatting — is $15/hour work. It just happened to be wrapped in a monthly invoice that felt normal.</p>
99
+
100
+ <p>And it was invisible. Nobody in Sarah's company thought to ask: "Why does this take two days?"</p>
101
+
102
+ <h2>What Happened on a Tuesday Afternoon</h2>
103
+
104
+ <p>We set it up in four hours.</p>
105
+
106
+ <p>No new software to buy. No six-month implementation. No consultants with slide decks about "digital transformation."</p>
107
+
108
+ <p>We connected her three data sources. Built the logic — the same math her subcontractor did by hand, except without the typos. Added the presentation layer so the output looked like something you'd actually want to show a board.</p>
109
+
110
+ <p>That was it.</p>
111
+
112
+ <p>Now her data goes in, the analysis runs, and the presentation comes out. Under an hour. Every month. No missed deadlines. No transposed numbers. No $3,200 invoice.</p>
113
+
114
+ <div class="highlight">
115
+ <p><strong>Before:</strong> 16 hours, $3,200/month, reports with errors, delivered late.<br>
116
+ <strong>After:</strong> 47 minutes, automated, accurate, ready before she asks.</p>
117
+ </div>
118
+
119
+ <h2>The Moment It Clicked</h2>
120
+
121
+ <p>Sarah didn't get excited about the technology. She barely asked how it worked.</p>
122
+
123
+ <p>What she said was: <strong>"I want to run my whole business like this."</strong></p>
124
+
125
+ <p>Because the reporting was just the first thing she could see. Once it was gone — once the two-day ritual turned into a 47-minute background process — she started looking at everything else.</p>
126
+
127
+ <p>The proposal formatting that took her office manager half a day. The client onboarding checklist that lived in someone's head. The weekly email summary that three people contributed to and nobody read.</p>
128
+
129
+ <p>All of it — the same shape. Humans doing mechanical work. Slowly. Expensively. With errors.</p>
130
+
131
+ <h2>Why This Exists and Nobody Told You</h2>
132
+
133
+ <p>Because the people who build this technology talk about it in a language you'd never search for.</p>
134
+
135
+ <p>They call it "agentic AI" and "workflow automation" and "LLM orchestration." They demo it at conferences you don't attend, in Slack channels you've never heard of, using jargon that sounds like it's from a different industry.</p>
136
+
137
+ <p>Meanwhile, you're paying someone two days a month to do math with a calculator.</p>
138
+
139
+ <p>Not because you're behind. Because nobody translated it into your language. Nobody said: "That thing you're annoyed about? The slow reports, the manual busywork, the stuff that feels like it should be faster? It can be. Today. In an afternoon."</p>
140
+
141
+ <h2>The Question</h2>
142
+
143
+ <p>Sarah's subcontractor didn't get fired. He started working on things that actually need a human brain — analysis, recommendations, strategy. The kind of work that's worth $200/day.</p>
144
+
145
+ <p>But the calculator math? That's done.</p>
146
+
147
+ <p>So here's what I'd ask you:</p>
148
+
149
+ <p><strong>What's your version of two days a month with a calculator?</strong></p>
150
+
151
+ <p>Because you have one. Every business owner does. Some process that takes too long, costs too much, and nobody's questioned in years because "that's just how we do it."</p>
152
+
153
+ <p>It doesn't have to be financial reporting. It could be client intake. Invoicing. Inventory reconciliation. The weekly status update that takes three hours to compile.</p>
154
+
155
+ <p>Whatever it is — it probably doesn't need to take two days anymore.</p>
156
+
157
+ <div class="cta">
158
+ <h3>Curious what this looks like for your business?</h3>
159
+ <p>We help business owners find the calculator-math in their operations and replace it. No jargon. No six-month timeline. Usually an afternoon.</p>
160
+ <a href="mailto:dar@clawmoat.com?subject=Calculator%20math%20in%20my%20business" class="btn">Let's talk →</a>
161
+ </div>
162
+
163
+ <div class="tags">
164
+ <span class="tag">AI agents</span>
165
+ <span class="tag">automation</span>
166
+ <span class="tag">business operations</span>
167
+ <span class="tag">ROI</span>
168
+ </div>
169
+
170
+ </article>
171
+ </div>
172
+
173
+ <footer>
174
+ <div class="container">
175
+ © 2026 ClawMoat · <a href="/">Home</a> · <a href="/blog/">Blog</a>
176
+ </div>
177
+ </footer>
178
+
179
+ </body>
180
+ </html>
@@ -0,0 +1,229 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>ClawMoat vs LlamaFirewall vs NeMo Guardrails — Which AI Agent Security Tool? | ClawMoat Blog</title>
7
+ <meta name="description" content="Detailed comparison of ClawMoat, Meta's LlamaFirewall, and NVIDIA's NeMo Guardrails. Which open-source AI agent security tool should you use?">
8
+ <meta property="og:title" content="ClawMoat vs LlamaFirewall vs NeMo Guardrails">
9
+ <meta property="og:description" content="Three open-source tools, three different approaches to AI agent security. Here's how to choose.">
10
+ <link rel="canonical" href="https://clawmoat.com/blog/clawmoat-vs-llamafirewall-nemo-guardrails">
11
+ <style>
12
+ *{margin:0;padding:0;box-sizing:border-box}
13
+ body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:#0F172A;color:#F8FAFC;line-height:1.8}
14
+ a{color:#3B82F6}
15
+ .container{max-width:760px;margin:0 auto;padding:40px 24px}
16
+ nav{background:rgba(15,23,42,.95);padding:16px 24px;position:fixed;top:0;left:0;right:0;z-index:100;border-bottom:1px solid rgba(59,130,246,.15)}
17
+ nav a{color:#94A3B8;text-decoration:none;margin-right:24px;font-size:.9rem}
18
+ nav a:first-child{color:#F8FAFC;font-weight:700;font-size:1.1rem}
19
+ article{padding-top:80px}
20
+ h1{font-size:2.2rem;font-weight:800;line-height:1.2;margin-bottom:16px;letter-spacing:-.02em}
21
+ h2{font-size:1.5rem;font-weight:700;margin:48px 0 16px;color:#10B981}
22
+ h3{font-size:1.2rem;margin:32px 0 12px}
23
+ p{margin-bottom:16px;color:#CBD5E1}
24
+ .meta{color:#64748B;font-size:.9rem;margin-bottom:40px}
25
+ table{width:100%;border-collapse:collapse;margin:24px 0;font-size:.9rem}
26
+ th{text-align:left;padding:12px;border-bottom:2px solid #334155;color:#94A3B8;font-weight:600}
27
+ td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.06)}
28
+ .yes{color:#10B981}
29
+ .no{color:#EF4444}
30
+ code{background:#1E293B;padding:2px 8px;border-radius:4px;font-size:.85rem}
31
+ pre{background:#0a0e17;border:1px solid #334155;border-radius:10px;padding:20px;overflow-x:auto;margin:20px 0;font-size:.85rem;line-height:1.6}
32
+ blockquote{border-left:3px solid #3B82F6;padding:12px 20px;margin:20px 0;background:#1E293B;border-radius:0 8px 8px 0;font-style:italic}
33
+ .cta{background:#1E293B;border:1px solid rgba(59,130,246,.3);border-radius:14px;padding:32px;text-align:center;margin:48px 0}
34
+ .cta h3{color:#F8FAFC;margin:0 0 12px}
35
+ .cta code{font-size:1rem;background:#0a0e17;padding:8px 16px}
36
+ .btn{display:inline-block;padding:12px 28px;background:#3B82F6;color:#fff;border-radius:8px;text-decoration:none;font-weight:600;margin:8px}
37
+ .btn:hover{background:#2563EB}
38
+ </style>
39
+ </head>
40
+ <body>
41
+ <nav>
42
+ <div class="container">
43
+ <a href="/" class="logo">🏰 Claw<span>Moat</span></a>
44
+ <button class="menu-toggle" onclick="document.querySelector('.nav-links').classList.toggle('open')" aria-label="Menu">☰</button>
45
+ <div class="nav-links">
46
+ <a href="/">Security</a>
47
+ <a href="/services/">AI Agents</a>
48
+ <a href="/blog/">Blog</a>
49
+ <a href="https://github.com/darfaz/clawmoat">GitHub ↗</a>
50
+ </div>
51
+ </div>
52
+ </nav>
53
+ <div class="container">
54
+ <article>
55
+ <h1>ClawMoat vs LlamaFirewall vs NeMo Guardrails: Which Open-Source AI Agent Security Tool?</h1>
56
+ <div class="meta">February 25, 2026 · 8 min read · By Dar Fazulyanov</div>
57
+
58
+ <p>Three open-source projects. Three very different approaches to securing AI agents. If you're running AI agents in production (or on your laptop), you need to understand what each one actually does — because they solve fundamentally different problems.</p>
59
+
60
+ <h2>The Quick Answer</h2>
61
+
62
+ <table>
63
+ <thead>
64
+ <tr><th></th><th>ClawMoat</th><th>LlamaFirewall</th><th>NeMo Guardrails</th></tr>
65
+ </thead>
66
+ <tbody>
67
+ <tr><td><strong>Maker</strong></td><td>Open source</td><td>Meta</td><td>NVIDIA</td></tr>
68
+ <tr><td><strong>Language</strong></td><td>Node.js</td><td>Python</td><td>Python</td></tr>
69
+ <tr><td><strong>Focus</strong></td><td>Host protection</td><td>Prompt/agent safety</td><td>Conversational guardrails</td></tr>
70
+ <tr><td><strong>Dependencies</strong></td><td>Zero</td><td>PyTorch, transformers</td><td>Multiple</td></tr>
71
+ <tr><td><strong>Protects</strong></td><td>Your machine</td><td>Your model</td><td>Your conversations</td></tr>
72
+ <tr><td><strong>Credential monitoring</strong></td><td class="yes">✅</td><td class="no">❌</td><td class="no">❌</td></tr>
73
+ <tr><td><strong>Permission tiers</strong></td><td class="yes">✅</td><td class="no">❌</td><td class="no">❌</td></tr>
74
+ <tr><td><strong>Skill/plugin auditing</strong></td><td class="yes">✅</td><td class="no">❌</td><td class="no">❌</td></tr>
75
+ <tr><td><strong>Prompt injection</strong></td><td class="yes">✅</td><td class="yes">✅</td><td class="yes">✅</td></tr>
76
+ <tr><td><strong>Setup time</strong></td><td>30 seconds</td><td>~30 minutes</td><td>~15 minutes</td></tr>
77
+ <tr><td><strong>License</strong></td><td>MIT</td><td>MIT</td><td>Apache 2.0</td></tr>
78
+ </tbody>
79
+ </table>
80
+
81
+ <h2>LlamaFirewall (Meta)</h2>
82
+
83
+ <p>Released May 2025, LlamaFirewall is Meta's open-source guardrail framework. It's serious engineering — used in production at Meta itself. Three main components:</p>
84
+
85
+ <ul style="margin:16px 0;padding-left:24px;color:#CBD5E1">
86
+ <li><strong>PromptGuard 2</strong> — A fine-tuned classifier that detects prompt injection and jailbreak attempts with high accuracy</li>
87
+ <li><strong>AlignmentCheck</strong> — Uses an LLM judge to verify agent actions align with their intended goals</li>
88
+ <li><strong>CodeShield</strong> — Scans generated code for security vulnerabilities before execution</li>
89
+ </ul>
90
+
91
+ <p><strong>Strengths:</strong> State-of-the-art prompt injection detection. Meta's research backing. Production-proven at massive scale. The PromptGuard 2 model is genuinely impressive.</p>
92
+
93
+ <p><strong>Weaknesses:</strong> Python-only. Requires PyTorch and ML model downloads (heavy). Focused on the model/prompt layer — doesn't know or care about your filesystem, credentials, or installed plugins.</p>
94
+
95
+ <p><strong>Best for:</strong> Teams building LLM applications who need the best possible prompt injection and jailbreak detection.</p>
96
+
97
+ <h2>NeMo Guardrails (NVIDIA)</h2>
98
+
99
+ <p>NVIDIA's framework for adding programmable guardrails to LLM-based conversational systems. Think of it as a policy layer for chatbots and assistants.</p>
100
+
101
+ <ul style="margin:16px 0;padding-left:24px;color:#CBD5E1">
102
+ <li>Topical guardrails (keep conversations on-track)</li>
103
+ <li>Safety guardrails (content moderation)</li>
104
+ <li>Hallucination detection and fact-checking</li>
105
+ <li>Custom flows using Colang (their domain-specific language)</li>
106
+ </ul>
107
+
108
+ <p><strong>Strengths:</strong> Extremely flexible. Colang lets you define complex conversational policies. Great integration with the NVIDIA AI ecosystem.</p>
109
+
110
+ <p><strong>Weaknesses:</strong> Designed for conversational AI, not autonomous agents. Steep learning curve (Colang is its own language). Heavy dependency chain.</p>
111
+
112
+ <p><strong>Best for:</strong> Teams building customer-facing chatbots and copilots who need content safety and conversation control.</p>
113
+
114
+ <h2>ClawMoat</h2>
115
+
116
+ <p>ClawMoat protects a fundamentally different layer: <strong>the host machine itself</strong>. If you're running AI agents on your laptop, a dedicated machine, or in the cloud, ClawMoat is the security layer between the agent and your operating system.</p>
117
+
118
+ <ul style="margin:16px 0;padding-left:24px;color:#CBD5E1">
119
+ <li><strong>Host Guardian</strong> — 4 permission tiers (observer → full), enforced at runtime</li>
120
+ <li><strong>Forbidden zones</strong> — Auto-protects SSH keys, AWS creds, crypto wallets, browser data</li>
121
+ <li><strong>Credential monitoring</strong> — Watches sensitive directories for unauthorized access</li>
122
+ <li><strong>Skill integrity checking</strong> — Hash-based verification + suspicious pattern detection for installed plugins</li>
123
+ <li><strong>Network egress logging</strong> — See exactly where your agent sends data</li>
124
+ <li><strong>Plus:</strong> Prompt injection scanning, policy engine, audit trails</li>
125
+ </ul>
126
+
127
+ <p><strong>Strengths:</strong> Only tool protecting the host layer. Zero dependencies. Sub-millisecond scanning. Installs in seconds. Node.js native (where most AI agent frameworks run).</p>
128
+
129
+ <p><strong>Weaknesses:</strong> Prompt injection detection is pattern-based + heuristic, not ML-based (lighter but less sophisticated than PromptGuard 2). No conversational guardrails.</p>
130
+
131
+ <p><strong>Best for:</strong> Anyone running AI agents that have shell access, file system access, or credential access — especially on personal machines or shared infrastructure.</p>
132
+
133
+ <h2>The Real Insight: These Solve Different Problems</h2>
134
+
135
+ <p>The industry is (correctly) obsessed with prompt injection. But there's a gap nobody's talking about:</p>
136
+
137
+ <blockquote>
138
+ <p>Your agent can read ~/.ssh/id_rsa right now. No prompt injection required — it already has permission.</p>
139
+ </blockquote>
140
+
141
+ <p>LlamaFirewall asks: "Is this prompt trying to hijack the agent?"<br>
142
+ NeMo Guardrails asks: "Is this conversation staying on topic?"<br>
143
+ ClawMoat asks: "Should this agent be allowed to access this file / run this command / talk to this server?"</p>
144
+
145
+ <p>They're complementary. The best security posture uses multiple layers:</p>
146
+
147
+ <ol style="margin:16px 0;padding-left:24px;color:#CBD5E1">
148
+ <li><strong>Prompt layer:</strong> LlamaFirewall or similar to catch injection attempts</li>
149
+ <li><strong>Conversation layer:</strong> NeMo Guardrails for content safety (if applicable)</li>
150
+ <li><strong>Host layer:</strong> ClawMoat to enforce what the agent can actually DO</li>
151
+ </ol>
152
+
153
+ <h2>Decision Matrix</h2>
154
+
155
+ <table>
156
+ <thead>
157
+ <tr><th>If you need...</th><th>Use</th></tr>
158
+ </thead>
159
+ <tbody>
160
+ <tr><td>Best-in-class prompt injection detection</td><td>LlamaFirewall</td></tr>
161
+ <tr><td>Conversational safety for chatbots</td><td>NeMo Guardrails</td></tr>
162
+ <tr><td>Protect your machine from your own agent</td><td>ClawMoat</td></tr>
163
+ <tr><td>Runtime permission control for agents</td><td>ClawMoat</td></tr>
164
+ <tr><td>Credential and filesystem monitoring</td><td>ClawMoat</td></tr>
165
+ <tr><td>Supply chain security for agent plugins</td><td>ClawMoat</td></tr>
166
+ <tr><td>Comprehensive defense-in-depth</td><td>All three</td></tr>
167
+ </tbody>
168
+ </table>
169
+
170
+ <h2>Update: The Ecosystem Just Got Bigger (Feb 26)</h2>
171
+
172
+ <p>Since we first published this comparison, three new players have entered the OpenClaw security space:</p>
173
+
174
+ <h3>Runlayer — Enterprise SaaS</h3>
175
+ <p><a href="https://venturebeat.com/orchestration/runlayer-is-now-offering-secure-openclaw-agentic-capabilities-for-large">Covered by VentureBeat</a>. NYC startup offering "OpenClaw for Enterprise" with ToolGuard (real-time blocking, &lt;100ms latency) and OpenClaw Watch (shadow AI discovery via MDM). Claims 8.7% → 95% prompt injection resistance. Integrates with Okta and Entra. <strong>Closed source, enterprise pricing.</strong></p>
176
+
177
+ <h3>Crittora — Cryptographic Policy Enforcement</h3>
178
+ <p>Announced via <a href="https://finance.yahoo.com/news/crittora-makes-openclaw-enterprise-ready-155800602.html">Yahoo Finance PR</a>. Cryptographically enforced policy framework for OpenClaw. Targets enterprise compliance. <strong>Different approach — policy signatures, not host protection.</strong></p>
179
+
180
+ <h3>KiloClaw (Kilo.ai) — Managed Hosting</h3>
181
+ <p><a href="https://venturebeat.com/orchestration/kilo-launches-kiloclaw-allowing-anyone-to-deploy-hosted-openclaw-agents-into">Covered by VentureBeat</a>. Backed by GitLab co-founder. Deploy OpenClaw on managed VMs (Fly.io) in 60 seconds. Handles the "3am crash" problem with always-on monitoring. <strong>Hosting solution, not a security tool — complementary to ClawMoat.</strong></p>
182
+
183
+ <h3>Updated Comparison</h3>
184
+ <table>
185
+ <thead>
186
+ <tr><th>Tool</th><th>Layer</th><th>Open Source?</th><th>Host Protection?</th><th>Target</th></tr>
187
+ </thead>
188
+ <tbody>
189
+ <tr><td><strong>ClawMoat</strong></td><td>Host / OS</td><td>✅ MIT</td><td>✅</td><td>Everyone (free core)</td></tr>
190
+ <tr><td>LlamaFirewall</td><td>Model / Prompt</td><td>✅ MIT</td><td>❌</td><td>ML teams</td></tr>
191
+ <tr><td>NeMo Guardrails</td><td>Conversation</td><td>✅ Apache 2</td><td>❌</td><td>Chatbot builders</td></tr>
192
+ <tr><td>Runlayer</td><td>Enterprise Governance</td><td>❌ Proprietary</td><td>Partial</td><td>Large enterprises</td></tr>
193
+ <tr><td>Crittora</td><td>Policy / Crypto</td><td>❌ Proprietary</td><td>❌</td><td>Compliance teams</td></tr>
194
+ <tr><td>KiloClaw</td><td>Managed Hosting</td><td>❌ Proprietary</td><td>❌ (VM isolation)</td><td>Developers / SMBs</td></tr>
195
+ </tbody>
196
+ </table>
197
+
198
+ <p><strong>Key insight:</strong> <a href="https://www.microsoft.com/en-us/security/blog/2026/02/19/running-openclaw-safely-identity-isolation-runtime-risk/">Microsoft's security team says</a> OpenClaw is "not appropriate for standard workstations." Runlayer and KiloClaw solve this by moving agents off your machine. ClawMoat solves it by securing agents <em>on</em> your machine. Different philosophies — and for anyone who wants to keep running agents locally, ClawMoat is the only open-source option.</p>
199
+
200
+ <h2>Getting Started</h2>
201
+
202
+ <pre><code># ClawMoat — 30 seconds to host protection
203
+ npm install -g clawmoat
204
+ clawmoat scan ~/.openclaw/
205
+ clawmoat skill-audit ~/.openclaw/skills/
206
+ clawmoat report
207
+
208
+ # LlamaFirewall — model-layer security
209
+ pip install llamafirewall
210
+ # Requires model downloads (~2GB)
211
+
212
+ # NeMo Guardrails — conversational safety
213
+ pip install nemoguardrails
214
+ # Requires configuration files + Colang</code></pre>
215
+
216
+ <div class="cta">
217
+ <h3>Try ClawMoat</h3>
218
+ <p style="color:#94A3B8;margin-bottom:16px">Zero dependencies. MIT licensed. 142 tests passing.</p>
219
+ <code>npm install -g clawmoat</code>
220
+ <br><br>
221
+ <a href="https://github.com/darfaz/clawmoat" class="btn">⭐ Star on GitHub</a>
222
+ <a href="https://clawmoat.com/#pricing" class="btn" style="background:#10B981">See Plans</a>
223
+ </div>
224
+
225
+ <p style="font-size:.85rem;color:#64748B;margin-top:40px">This comparison was written in February 2026. All three projects are actively developed — check their repos for the latest features.</p>
226
+ </article>
227
+ </div>
228
+ </body>
229
+ </html>
@@ -63,14 +63,16 @@ footer{border-top:1px solid rgba(255,255,255,.06);padding:32px 0;color:var(--gra
63
63
  <body>
64
64
 
65
65
  <nav>
66
- <div class="inner">
67
- <a href="/" class="logo">🏰 Claw<span>Moat</span></a>
68
- <div class="nav-links">
69
- <a href="/">Home</a>
70
- <a href="/blog/">Blog</a>
71
- <a href="https://github.com/darfaz/clawmoat">GitHub</a>
72
- </div>
66
+ <div class="container">
67
+ <a href="/" class="logo">🏰 Claw<span>Moat</span></a>
68
+ <button class="menu-toggle" onclick="document.querySelector('.nav-links').classList.toggle('open')" aria-label="Menu">☰</button>
69
+ <div class="nav-links">
70
+ <a href="/">Security</a>
71
+ <a href="/services/">AI Agents</a>
72
+ <a href="/blog/">Blog</a>
73
+ <a href="https://github.com/darfaz/clawmoat">GitHub ↗</a>
73
74
  </div>
75
+ </div>
74
76
  </nav>
75
77
 
76
78
  <div class="container">
@@ -338,7 +340,15 @@ console.log(guardian.report());
338
340
  </div>
339
341
 
340
342
  <footer>
341
- <div 2026 ClawMoat. Built for the OpenClaw community. 🏰</div>
343
+ <div class="container">
344
+ <div style="display:flex;gap:24px;justify-content:center;flex-wrap:wrap;margin-bottom:16px">
345
+ <a href="https://github.com/darfaz/clawmoat" style="color:var(--gray)">GitHub</a>
346
+ <a href="https://www.npmjs.com/package/clawmoat" style="color:var(--gray)">npm</a>
347
+ <a href="/blog/" style="color:var(--gray)">Blog</a>
348
+ <a href="mailto:hello@clawmoat.com" style="color:var(--gray)">hello@clawmoat.com</a>
349
+ </div>
350
+ <p style="text-align:center;color:var(--gray);font-size:.85rem">© 2026 ClawMoat</p>
351
+ </div>
342
352
  </footer>
343
353
 
344
354
  </body>