<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Prakash</title>
    <description>The latest articles on DEV Community by Prakash (@prakashd88).</description>
    <link>https://dev.to/prakashd88</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F70856%2Ffe7e4246-f8d6-400f-a146-eda8eec048c0.jpeg</url>
      <title>DEV Community: Prakash</title>
      <link>https://dev.to/prakashd88</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/prakashd88"/>
    <language>en</language>
    <item>
      <title>Why Your AI Agent Needs a Kill Switch That Actually Works</title>
      <dc:creator>Prakash</dc:creator>
      <pubDate>Fri, 27 Feb 2026 19:39:39 +0000</pubDate>
      <link>https://dev.to/prakashd88/why-your-ai-agent-needs-a-kill-switch-that-actually-works-2e3</link>
      <guid>https://dev.to/prakashd88/why-your-ai-agent-needs-a-kill-switch-that-actually-works-2e3</guid>
      <description>&lt;p&gt;Last week, Meta's Director of AI Alignment gave her OpenClaw agent access to her inbox with one instruction: suggest deletions, wait for her approval before acting.&lt;/p&gt;

&lt;p&gt;The agent deleted 200+ emails. She typed stop commands. The agent kept going. She ended up sprinting to her computer and force-killing every process.&lt;/p&gt;

&lt;p&gt;Most coverage called it a user error. It wasn't.&lt;/p&gt;




&lt;h2&gt;
  
  
  What actually happened
&lt;/h2&gt;

&lt;p&gt;Her inbox was large enough to trigger context compaction.&lt;/p&gt;

&lt;p&gt;When an agent's context window fills up, it compresses older messages to free space. That's a normal operation. The problem is that her safety instruction ("wait for my approval") was in those older messages. It got compressed away. Without it, the agent had no constraint. It defaulted to the original task: clean the inbox.&lt;/p&gt;

&lt;p&gt;She typed "stop" multiple times. None of those commands worked, because by the time she typed them, the agent had already lost the safety context that would've made it respect them.&lt;/p&gt;

&lt;p&gt;This isn't a quirk of OpenClaw specifically. It's a fundamental vulnerability in how most agents handle safety constraints today. If your safety instructions live inside the context window, they can be compacted away. Any time. Any task. Any agent.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why chat-based stop commands don't work
&lt;/h2&gt;

&lt;p&gt;There's a second failure here that's easy to miss.&lt;/p&gt;

&lt;p&gt;Summer Yue's stop commands failed because they were conversational. She was asking the agent to stop. But the agent was mid-task, and nothing at the architecture level enforced a halt.&lt;/p&gt;

&lt;p&gt;A conversational kill switch says "please stop." An architectural one cuts the process.&lt;/p&gt;




&lt;h2&gt;
  
  
  Three things every AI agent needs
&lt;/h2&gt;

&lt;p&gt;After building PocketPaw, an open-source self-hosted AI agent, I think every agent in this category needs at least these three things.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Independent safety review, not in-context&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Safety constraints that live inside the context window will eventually be lost. Context compaction, long sessions, large data inputs — any of these can compress away your safety instructions.&lt;/p&gt;

&lt;p&gt;The fix is to move the safety reviewer outside the context entirely.&lt;/p&gt;

&lt;p&gt;In PocketPaw, Guardian AI is a separate LLM that reviews every destructive command before the agent executes it. It doesn't participate in the agent's conversation. It doesn't share the agent's context window. It's an independent process that sees the proposed action, evaluates it against configured policies, and either clears it or blocks it.&lt;/p&gt;

&lt;p&gt;Compaction can't touch it. The primary agent can't override it. It's a second judge that exists outside the defendant's courtroom.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. A kill switch that works remotely&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Summer Yue had to physically run to her computer. That's not a kill switch. That's a last resort.&lt;/p&gt;

&lt;p&gt;A real kill switch needs to work from wherever you are, regardless of what the agent is currently doing. In PocketPaw, there's a panic button in Telegram. One tap, from anywhere, immediately stops the agent. It doesn't send a "please stop" message into the chat. It terminates the process.&lt;/p&gt;

&lt;p&gt;Tool policies also enforce limits at the architecture level, not as prompt instructions. Allow/deny lists define what the agent can and can't touch. These survive any context manipulation because they're not stored in the context.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Audit logging that can't be modified&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After Summer Yue's incident, her agent acknowledged the violation. Useful. But what if it hadn't? Or what if you're debugging something three days later and need to know exactly what ran?&lt;/p&gt;

&lt;p&gt;PocketPaw logs every action to an append-only JSONL file. Append-only means the agent can write new entries but can't modify or delete existing ones. Every entry includes severity, actor, action, target, status, and full metadata. You always know what happened.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why this category is hard to secure
&lt;/h2&gt;

&lt;p&gt;AI agents are unusual software.&lt;/p&gt;

&lt;p&gt;They need privileged access to be useful: terminal, file system, browser, API credentials, network. The features that make them valuable are the same features that make them dangerous if something goes wrong.&lt;/p&gt;

&lt;p&gt;Traditional security models don't quite fit. An AI agent isn't a web server (stateless, sandboxed) or a CLI tool (user-initiated, ephemeral). It's a persistent process with system-level access that makes decisions from natural language input.&lt;/p&gt;

&lt;p&gt;The industry built the features first. That was the right call. You can't know the security surface until you know what you're building. But now the safety architecture needs to catch up.&lt;/p&gt;

&lt;p&gt;Summer Yue's post is the clearest signal this category has had in months. She was transparent about what went wrong and precise about the root cause. If someone with her background hits this wall, every user will.&lt;/p&gt;




&lt;h2&gt;
  
  
  PocketPaw's 7-layer security model
&lt;/h2&gt;

&lt;p&gt;Here's how PocketPaw handles this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Credential encryption:&lt;/strong&gt; Fernet AES with a machine-derived PBKDF2 key. API keys are never stored in plaintext.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;3-tier tool policies:&lt;/strong&gt; Minimal, Coding, and Full profiles with explicit allow/deny lists. Deny always wins.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Guardian AI:&lt;/strong&gt; independent LLM safety review of every destructive command before execution.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Append-only audit log:&lt;/strong&gt; tamper-evident JSONL at &lt;code&gt;~/.pocketpaw/audit.jsonl&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prompt injection scanner:&lt;/strong&gt; detects attempts to hijack the agent through external content.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Log scrubbing:&lt;/strong&gt; strips API key patterns from all log output automatically.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WebSocket authentication:&lt;/strong&gt; dashboard connections require auth, no open ports by default.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It's all open source. The security code lives in &lt;code&gt;src/pocketpaw/security/&lt;/code&gt;. Read it, audit it, tell me what I missed.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;pocketpaw
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/pocketpaw" rel="noopener noreferrer"&gt;
        pocketpaw
      &lt;/a&gt; / &lt;a href="https://github.com/pocketpaw/pocketpaw" rel="noopener noreferrer"&gt;
        pocketpaw
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Your AI agent in 30 seconds. Not 30 hours. Self-hosted, open-source personal AI with desktop installer, multi-agent Command Center(Deep Work), and 7-layer security. Anthropic, OpenAI, or Ollama.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/pocketpaw/pocketpaw/paw.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fpocketpaw%2Fpocketpaw%2Fpaw.png" alt="PocketPaw" width="100"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;🐾 PocketPaw&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;
  &lt;strong&gt;An AI agent that runs on your machine, not someone else's.&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
  &lt;a href="https://pypi.org/project/pocketpaw/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/122d48b959fb049da08c140004ac7cb07476b873ac9233e66827f420ceaeff9b/68747470733a2f2f696d672e736869656c64732e696f2f707970692f762f706f636b65747061772e737667" alt="PyPI version"&gt;&lt;/a&gt;
  &lt;a href="https://opensource.org/licenses/MIT" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667" alt="License: MIT"&gt;&lt;/a&gt;
  &lt;a href="https://www.python.org/downloads/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/36cf3d0f7992a33a063d3833577d62204f8934d82b69874c086390608db4947c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f707974686f6e2d332e31312b2d626c75652e737667" alt="Python 3.11+"&gt;&lt;/a&gt;
  &lt;a href="https://pypi.org/project/pocketpaw/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/738e58b534c35323ffcad096ef8a9a1f2b59b3b7f03b44c45957b90254b28023/68747470733a2f2f696d672e736869656c64732e696f2f707970692f646d2f706f636b65747061772e737667" alt="Downloads"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/pocketpaw/pocketpaw/stargazers" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/f3eef5fab7c444eb96604e774837303061ea1ac95d3487c42e492064efc21e46/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f706f636b65747061772f706f636b65747061773f7374796c653d736f6369616c" alt="GitHub Stars"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
  &lt;a href="https://github.com/pocketpaw/pocketpaw/releases/download/client-v0.1.3/PocketPaw_0.1.3_x64-setup.exe" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/3025b9e6f31c8e26561422e5e7e5622b8b8849104ac8bdb185415511481301b8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f57696e646f77732d446f776e6c6f61645f2e6578652d3030373844343f7374796c653d666f722d7468652d6261646765266c6f676f3d77696e646f7773266c6f676f436f6c6f723d7768697465" alt="Download for Windows"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/pocketpaw/pocketpaw/releases/download/client-v0.1.3/PocketPaw_0.1.3_aarch64.dmg" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/54ad4a9b8ca050eb016cf79061d0893a474006fe3bb5b58d13e1898732257b7b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6d61634f532d446f776e6c6f61645f2e646d672d3030303030303f7374796c653d666f722d7468652d6261646765266c6f676f3d6170706c65266c6f676f436f6c6f723d7768697465" alt="Download for macOS"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/pocketpaw/pocketpaw/releases/download/client-v0.1.3/PocketPaw_0.1.3_amd64.AppImage" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/5dc209773fcb744cf5de0ef9b8cd912f72862bc4aa9ab97f7b5cd799e6edb953/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c696e75782d446f776e6c6f61645f2e417070496d6167652d4643433632343f7374796c653d666f722d7468652d6261646765266c6f676f3d6c696e7578266c6f676f436f6c6f723d626c61636b" alt="Download for Linux"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
  Self-hosted AI agent with a native desktop app and web dashboard. Talks to you over &lt;strong&gt;Discord&lt;/strong&gt;, &lt;strong&gt;Slack&lt;/strong&gt;, &lt;strong&gt;WhatsApp&lt;/strong&gt;, &lt;strong&gt;Telegram&lt;/strong&gt;, or the browser.&lt;br&gt;
  No subscription. No cloud lock-in. Your data stays on your machine
&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;⚠️ &lt;strong&gt;Beta:&lt;/strong&gt; This project is under active development. Expect breaking changes between versions.&lt;/p&gt;
&lt;/blockquote&gt;



  
    

    &lt;span class="m-1"&gt;pocekt-paw-intro.mp4&lt;/span&gt;
    
  

  

  




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Quick Start&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Desktop App (Recommended)&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;Download the native desktop app. It bundles the backend installer and provides a full-featured UI with system tray, global shortcuts, side panel, and multi-window support.&lt;/p&gt;
&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Platform&lt;/th&gt;
&lt;th&gt;Download&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Windows&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/pocketpaw/pocketpaw/releases/download/client-v0.1.3/PocketPaw_0.1.3_x64-setup.exe" rel="noopener noreferrer"&gt;PocketPaw_0.1.3_x64-setup.exe&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;macOS (Apple Silicon)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/pocketpaw/pocketpaw/releases/download/client-v0.1.3/PocketPaw_0.1.3_aarch64.dmg" rel="noopener noreferrer"&gt;PocketPaw_0.1.3_aarch64.dmg&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;macOS (Intel)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/pocketpaw/pocketpaw/releases/download/client-v0.1.3/PocketPaw_0.1.3_x64.dmg" rel="noopener noreferrer"&gt;PocketPaw_0.1.3_x64.dmg&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Linux (.deb)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/pocketpaw/pocketpaw/releases/download/client-v0.1.3/PocketPaw_0.1.3_amd64.deb" rel="noopener noreferrer"&gt;PocketPaw_0.1.3_amd64.deb&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Linux (.AppImage)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/pocketpaw/pocketpaw/releases/download/client-v0.1.3/PocketPaw_0.1.3_amd64.AppImage" rel="noopener noreferrer"&gt;PocketPaw_0.1.3_amd64.AppImage&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Install via Terminal&lt;/h3&gt;

&lt;/div&gt;

macOS / Linux
&lt;p&gt;&lt;strong&gt;Prerequisites:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Python 3.11 or higher (&lt;a href="https://www.python.org/downloads/" rel="nofollow noopener noreferrer"&gt;download here&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;pip package manager (included with Python)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Quick install:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;pip install pocketpaw &lt;span class="pl-k"&gt;&amp;amp;&amp;amp;&lt;/span&gt; pocketpaw&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Recommended install (with virtual environment):&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; 1. Verify Python version (must&lt;/span&gt;&lt;/pre&gt;…
&lt;/div&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/pocketpaw/pocketpaw" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;




</description>
      <category>ai</category>
      <category>security</category>
      <category>python</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
