<?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: ReconDeck</title>
    <description>The latest articles on DEV Community by ReconDeck (@recondeck).</description>
    <link>https://dev.to/recondeck</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4211955%2F1ed91cf7-3461-4ed4-aeb6-e1a14c02b9ce.png</url>
      <title>DEV Community: ReconDeck</title>
      <link>https://dev.to/recondeck</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/recondeck"/>
    <language>en</language>
    <item>
      <title>How to let ChatGPT work with files on your own Windows PC over MCP</title>
      <dc:creator>ReconDeck</dc:creator>
      <pubDate>Wed, 28 Oct 2026 02:46:11 +0000</pubDate>
      <link>https://dev.to/recondeck/how-to-let-chatgpt-work-with-files-on-your-own-windows-pc-over-mcp-38p2</link>
      <guid>https://dev.to/recondeck/how-to-let-chatgpt-work-with-files-on-your-own-windows-pc-over-mcp-38p2</guid>
      <description>&lt;p&gt;&lt;strong&gt;Disclosure:&lt;/strong&gt; I make Bridgerator, the tool used in this walkthrough. I'll try to be specific about what it does and, just as important, what it doesn't protect you from.&lt;/p&gt;

&lt;p&gt;ChatGPT is good at reading, summarizing and rewriting text. But your files are on your PC, and ChatGPT lives in a browser tab. The usual workaround is to copy and paste, or to upload files one at a time. That gets old fast if you want help with a whole folder of notes, invoices, logs or a project directory.&lt;/p&gt;

&lt;p&gt;The Model Context Protocol (MCP) fixes this. An MCP server exposes "tools" (read a file, search a folder, run a command) to an AI app, and the app calls them when it needs to. ChatGPT supports custom MCP servers, and so do Claude, Codex, Cursor, VS Code and others. The open question is how to expose your own Windows PC to them without opening your network.&lt;/p&gt;

&lt;p&gt;This post walks through one way to do it, then goes through the safety model, because that is the part that matters.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you end up with
&lt;/h2&gt;

&lt;p&gt;After setup you can ask ChatGPT things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Find all PDFs in my Documents\Invoices folder that mention 'March' and list them."&lt;/li&gt;
&lt;li&gt;"Rename the files in this folder to &lt;code&gt;YYYY-MM-DD - title&lt;/code&gt; based on their contents."&lt;/li&gt;
&lt;li&gt;"Read these three config files and tell me what differs."&lt;/li&gt;
&lt;li&gt;"Create a summary.md from the notes in this folder."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bridgerator can read, search, create and edit files, organize folders, run PowerShell or cmd commands, manage processes, take screenshots with text recognition, and check the PC's health. It works on Windows 10 and 11.&lt;/p&gt;

&lt;h2&gt;
  
  
  How the connection works
&lt;/h2&gt;

&lt;p&gt;A common worry with local MCP is "do I have to open a port on my router?" Here you don't. A small bridge program runs on your PC and makes an &lt;strong&gt;outbound&lt;/strong&gt; secure WebSocket connection to a hosted MCP endpoint. ChatGPT talks to that endpoint; the endpoint forwards tool calls down the connection you already opened. No inbound ports, no public IP, no port forwarding, and no admin rights.&lt;/p&gt;

&lt;p&gt;Two things worth being precise about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Traffic uses TLS, but the server has to decrypt requests in order to forward them. So this is &lt;strong&gt;not&lt;/strong&gt; end-to-end encrypted. The security page states that file contents, paths, search results, command text and output pass through server memory and are not stored.&lt;/li&gt;
&lt;li&gt;Each PC gets its own device key when you confirm it in the browser. The key stays in your Windows profile and the server keeps only a one-way hash.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Setup walkthrough (ChatGPT)
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Create an account&lt;/strong&gt; at &lt;a href="https://bridgerator.recondeck.com/" rel="noopener noreferrer"&gt;bridgerator.recondeck.com&lt;/a&gt; (Google or e-mail).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Install the bridge on your PC.&lt;/strong&gt; Use the download on the website, or, if you have Node.js, run &lt;code&gt;npm i -g bridgerator&lt;/code&gt;. No admin rights needed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Confirm the computer.&lt;/strong&gt; A browser tab opens asking you to approve this PC. That is when the device key is issued.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Add the server in ChatGPT.&lt;/strong&gt; Go to chatgpt.com/plugins and add a custom MCP server with the URL &lt;code&gt;https://mcp.bridgerator.recondeck.com/mcp&lt;/code&gt;, using OAuth sign-in. ChatGPT gets access only after OAuth 2.1 sign-in with PKCE, and it sees only your devices.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Try something harmless first.&lt;/strong&gt; For example: "List the files in my Downloads folder."&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Other MCP apps (Claude, Codex, Cursor, VS Code) use the same server URL. Apps without OAuth support can use a personal access key. That key gives full access to your PCs, so keep it like a password.&lt;/p&gt;

&lt;h2&gt;
  
  
  The safety model
&lt;/h2&gt;

&lt;p&gt;Giving an AI access to your files is only reasonable if you can limit it. Here is what is available, with the caveats the documentation itself lists.&lt;/p&gt;

&lt;h3&gt;
  
  
  Allowed folders
&lt;/h3&gt;

&lt;p&gt;By default there is no folder list, which means ChatGPT may work in &lt;strong&gt;any&lt;/strong&gt; folder except Bridgerator's own folders. That is permissive, and I'd change it right away. If you set a folder list, ChatGPT can only work in those folders. A few details:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Network and UNC paths are always refused.&lt;/li&gt;
&lt;li&gt;Paths are resolved through symlinks and junctions before checking.&lt;/li&gt;
&lt;li&gt;Excluded paths are removed from search results and listings.&lt;/li&gt;
&lt;li&gt;An optional "Protect sensitive folders" setting (off by default) also excludes things like AppData, Startup, PowerShell profiles, and key and config folders.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;readOnlyDirectories&lt;/code&gt; blocks writes in the folders you choose.&lt;/li&gt;
&lt;li&gt;The OneDrive root is open by default, and searching it can download online-only files. Worth knowing before you point ChatGPT at it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My suggestion: start with one project folder, not your whole profile.&lt;/p&gt;

&lt;h3&gt;
  
  
  Confirmations
&lt;/h3&gt;

&lt;p&gt;You can require approval on the PC itself for risky actions. Requests show up as native Windows notifications. If you don't answer within 2 minutes, or you close the prompt, the answer is Deny.&lt;/p&gt;

&lt;p&gt;By default, &lt;code&gt;delete&lt;/code&gt; and &lt;code&gt;dangerous_commands&lt;/code&gt; are on. &lt;code&gt;write_files&lt;/code&gt;, &lt;code&gt;move&lt;/code&gt;, &lt;code&gt;any_command&lt;/code&gt;, &lt;code&gt;install&lt;/code&gt; and &lt;code&gt;scheduled_scripts&lt;/code&gt; are off by default and can be turned on. Confirmations are configured from the command line. The assistant cannot edit &lt;code&gt;confirm.ini&lt;/code&gt;; it can only &lt;em&gt;request&lt;/em&gt; that confirmations be turned off, and lowering protection requires your approval on the PC.&lt;/p&gt;

&lt;h3&gt;
  
  
  Undo and the Recycle Bin
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Simple delete commands go to the Recycle Bin by default (scripts and other programs are not caught by this).&lt;/li&gt;
&lt;li&gt;Undo snapshots are on by default: a copy of files is kept before ChatGPT changes them, for 7 days or up to 500 MB, and files over 50 MB get no copy. "Undo AI changes" restores them.&lt;/li&gt;
&lt;li&gt;Pausing on mass deletes or moves exists, but it is off by default (limit is 20 per minute).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What it does not protect you from
&lt;/h2&gt;

&lt;p&gt;I'd rather you read this here than find it out later:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The terminal is not a folder sandbox.&lt;/strong&gt; Commands run with your Windows user's rights. The bridge refuses commands that name excluded folders, but that is a courtesy, not a boundary. &lt;code&gt;blockedCommands&lt;/code&gt; is a safety net that can be bypassed.&lt;/li&gt;
&lt;li&gt;Code already running on your PC could click the confirmation buttons, and command patterns can be evaded.&lt;/li&gt;
&lt;li&gt;"Allow 10 min" in a confirmation skips checks for 10 minutes.&lt;/li&gt;
&lt;li&gt;The default access preset is Full. Tighten it.&lt;/li&gt;
&lt;li&gt;Results go to ChatGPT, where OpenAI's policies apply. Don't expose anything you wouldn't be comfortable sending there.&lt;/li&gt;
&lt;li&gt;Packages are published from the author's PC without npm provenance. If that matters to you, the security page publishes SHA-256 hashes and describes how to compare the package against the git tag (an empty &lt;code&gt;git diff&lt;/code&gt; against &lt;code&gt;v1.1.15&lt;/code&gt; means they match).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The bridge runs as your own user, never as SYSTEM, and the executables are signed. The practical conclusion: treat the AI like a fast, well-meaning colleague who has your login. Scope the folders, turn on confirmations for anything destructive, and keep the undo window on.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's stored on the server
&lt;/h2&gt;

&lt;p&gt;Account email, password hash, device list, a monthly call counter, and an optional activity log of tool names and times kept for 30 days. Not stored: file contents, paths, search results, command text or output. The bridge also sends install/update events and a daily heartbeat with a random install ID, versions, OS language and per-tool counts. It never sends paths, file names, command text or output, and telemetry can be turned off.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pricing
&lt;/h2&gt;

&lt;p&gt;Free is 10,000 tool calls per month on any number of PCs. Pro is $10 per month with unlimited calls. The counter is per account, resets on the 1st at 00:00 UTC, and chat messages are not counted. For occasional file chores the free tier goes a long way.&lt;/p&gt;

&lt;h2&gt;
  
  
  A sensible first session
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Set a folder list with one test folder.&lt;/li&gt;
&lt;li&gt;Turn on confirmations for &lt;code&gt;write_files&lt;/code&gt; as well, at least for the first week.&lt;/li&gt;
&lt;li&gt;Ask ChatGPT to organize or rename a few copies of files.&lt;/li&gt;
&lt;li&gt;Check the result, then try "Undo AI changes".&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If the undo works as you expect, widen the scope gradually.&lt;/p&gt;

&lt;p&gt;If you try it and something in the safety model is unclear or wrong, I'd like to hear about it: the contact is &lt;a href="mailto:info@recondeck.com"&gt;info@recondeck.com&lt;/a&gt;. And if you have a different approach to exposing a Windows PC to MCP apps, tell me in the comments. I'm curious what other people consider the right default.&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>chatgpt</category>
      <category>windows</category>
      <category>ai</category>
    </item>
    <item>
      <title>How we try to stop an AI operator in an RMM from running format C: (5 layers, and where they stop)</title>
      <dc:creator>ReconDeck</dc:creator>
      <pubDate>Wed, 28 Oct 2026 02:44:42 +0000</pubDate>
      <link>https://dev.to/recondeck/how-we-try-to-stop-an-ai-operator-in-an-rmm-from-running-format-c-5-layers-and-where-they-stop-2adj</link>
      <guid>https://dev.to/recondeck/how-we-try-to-stop-an-ai-operator-in-an-rmm-from-running-format-c-5-layers-and-where-they-stop-2adj</guid>
      <description>&lt;p&gt;&lt;em&gt;Disclosure: I work on ReconDeck, a self-hosted RMM with a built-in AI operator. This post describes how its safety design works, based on what we publish on recondeck.com. It is vendor material, so read it with that in mind.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Letting an LLM run PowerShell as SYSTEM on client machines is the thing most MSP owners fear about AI in RMM. It is a reasonable fear. A model that is wrong 1 time in 200 is still a problem when it can run &lt;code&gt;Remove-Item -Recurse&lt;/code&gt; on a customer's file server.&lt;/p&gt;

&lt;p&gt;This post walks through how we approach it: five layers, each assuming the previous one failed. I'll also say what we don't claim, because "AI safety" posts that skip that part aren't worth much.&lt;/p&gt;

&lt;h2&gt;
  
  
  The threat model
&lt;/h2&gt;

&lt;p&gt;The operator is an AI agent that works inside the RMM console. It diagnoses incidents on Windows and Linux machines and proposes fixes. We assume:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The model will sometimes be confidently wrong.&lt;/li&gt;
&lt;li&gt;Prompt text (ticket bodies, log lines, file names) can contain instructions nobody intended.&lt;/li&gt;
&lt;li&gt;A single check, whether a prompt rule or a regex, will eventually be bypassed or misconfigured.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So no single layer is trusted. The design goal is that a destructive command needs to get past several independent mechanisms, and that a human is on the hook for the ones that matter.&lt;/p&gt;

&lt;h2&gt;
  
  
  Layer 1: a hard block, on the server
&lt;/h2&gt;

&lt;p&gt;The first layer is not an AI at all. Destructive commands are blocked server-side, before they are dispatched to the agent. Our published examples are &lt;code&gt;format&lt;/code&gt;, &lt;code&gt;del&lt;/code&gt; and &lt;code&gt;Remove-Item -Recurse&lt;/code&gt;. Running one of those requires explicit operator confirmation.&lt;/p&gt;

&lt;p&gt;Two design points matter here:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;It is deterministic.&lt;/strong&gt; A model can be talked into things. A pattern check on the server can't be argued with, whatever the prompt says.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It runs on the server, not in the agent or the prompt.&lt;/strong&gt; If the safeguard lived in the system prompt, a prompt injection could try to override it. If it lived on the endpoint, a compromised endpoint could skip it. Server-side means the check sits on the path every command has to take.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A sketch of the idea (illustrative pseudocode, not our source):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;HARD_BLOCK&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sa"&gt;r&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;\bformat\b&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sa"&gt;r&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;\bdel\b&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sa"&gt;r&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Remove-Item\s+.*-Recurse&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;dispatch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;cmd&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nf"&gt;any&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;search&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;cmd&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;I&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;p&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;HARD_BLOCK&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;operator_confirmed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;cmd&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nc"&gt;Blocked&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;destructive: needs explicit operator confirmation&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="bp"&gt;...&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The obvious weakness is the one every blocklist has: it only catches what it recognizes. That is why it is layer 1 and not the whole answer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Layer 2: an AI reviewer for risky commands
&lt;/h2&gt;

&lt;p&gt;Before a dangerous command runs, a second, "senior" model assesses the risk. It can block the command or propose an alternative.&lt;/p&gt;

&lt;p&gt;The demo on our site shows this. The operator proposes &lt;code&gt;format C:&lt;/code&gt; on a machine named &lt;code&gt;017-001&lt;/code&gt;. The reviewer stops it, explains that it would wipe the OS with no recovery, and suggests alternatives: &lt;code&gt;sdelete&lt;/code&gt; with confirmation, or an MDM reset with rollback.&lt;/p&gt;

&lt;p&gt;Why have a model review a model? A blocklist can't judge intent. A reviewer can see that a command that looks harmless is aimed at the wrong target, or that a cleanup script would touch more than the ticket needs. The reviewer is also a different call with a different job, so it doesn't share the first model's momentum toward "just do what was asked."&lt;/p&gt;

&lt;p&gt;The cost is that this layer is probabilistic. It reduces risk and doesn't remove it, which is why it comes after the deterministic layer and not instead of it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Layer 3: permission modes with auto-expiry
&lt;/h2&gt;

&lt;p&gt;The operator doesn't hold standing power. It works in named permission modes, each with its own permissions and an auto-expiry timer. The modes we list are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Read-only&lt;/li&gt;
&lt;li&gt;Single agent&lt;/li&gt;
&lt;li&gt;Bulk operations&lt;/li&gt;
&lt;li&gt;Destructive&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The idea is least privilege over time. Diagnosing a slow PC needs read-only. Fixing one machine needs single-agent. Touching a whole fleet needs bulk operations, which is a separate permission from the rest. The riskiest mode is not a permanent setting: it expires on a timer, so the system falls back to a safe state if someone forgets to switch it off.&lt;/p&gt;

&lt;p&gt;This also limits the damage of a mistake. A bad command in read-only mode can't change anything. A bad command in single-agent mode can only hit one machine.&lt;/p&gt;

&lt;h2&gt;
  
  
  Layer 4: an audit log of everything
&lt;/h2&gt;

&lt;p&gt;Every AI and operator action is recorded: who acted, what was done, when, on which agent, and the result. The log is visible in the console.&lt;/p&gt;

&lt;p&gt;An audit log doesn't prevent anything. It does three other jobs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can reconstruct what happened after an incident.&lt;/li&gt;
&lt;li&gt;You can tell "the AI did it" from "a technician did it" and see who approved what.&lt;/li&gt;
&lt;li&gt;You get evidence for reviewing and tuning the other layers: which commands the reviewer blocked, which were confirmed anyway.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Layer 5: your own infrastructure
&lt;/h2&gt;

&lt;p&gt;The server runs in the customer's data center. This layer is about control and data flow more than command safety, but it matters for the same reason: the system that enforces layers 1 to 4 sits on infrastructure you operate, not on a vendor's multi-tenant cloud.&lt;/p&gt;

&lt;p&gt;Two related facts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The AI runs on &lt;strong&gt;your own AI subscription&lt;/strong&gt;, via what we call the AI Bridge. There are no extra per-request charges from us. This is a pricing contrast with RMMs that sell metered AI credits. It also means your prompts and context go to whichever model provider you connect, which is a data-flow decision you make.&lt;/li&gt;
&lt;li&gt;The agent is a Rust binary, about 30 MB of RAM, for Windows 7 and later (x86/x64) and Linux (Ubuntu and other distributions). It has auto-update with beta/prod channels, staged rollout and built-in kill switches. Clients can also end a remote session themselves from the tray with an "End session" button.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How the layers fit together
&lt;/h2&gt;

&lt;p&gt;Take the demo case, an AI that decides to reformat a drive:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The command matches the hard block. It can't run without explicit operator confirmation.&lt;/li&gt;
&lt;li&gt;If it gets as far as review, the senior model assesses it and can block or redirect.&lt;/li&gt;
&lt;li&gt;Whatever mode is active limits what the session may do at all, and the riskiest modes expire.&lt;/li&gt;
&lt;li&gt;Whatever happens ends up in the audit log.&lt;/li&gt;
&lt;li&gt;All of it runs on a server you host.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The human stays in the loop where it counts. The AI diagnoses and proposes, and the technician approves. This matches where the market is: other vendors also keep a human approval step (NinjaOne has said fully autonomous AI won't arrive in 2026). We don't think "fully autonomous" is the right pitch today, and we don't sell it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we don't claim
&lt;/h2&gt;

&lt;p&gt;This is the section I'd want to read as an MSP owner.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No guarantee of safety.&lt;/strong&gt; Layers reduce risk. They are not a proof. A command nobody anticipated, in a form the hard block doesn't match, could reach the reviewer, and the reviewer is a model.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A blocklist is a blocklist.&lt;/strong&gt; Obfuscated commands, indirect execution (scripts that call destructive operations internally) and tools we haven't listed are the classic ways around pattern matching. The reviewer and permission modes exist because of this, and they don't close the gap fully.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The human can be the weak point.&lt;/strong&gt; "Explicit operator confirmation" only works if the operator reads what they confirm. Confirmation fatigue is real.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Details we haven't published.&lt;/strong&gt; The site doesn't state timer durations, the reviewer model's identity, the full definition of "destructive", how modes get assigned, audit-log retention, or whether a reviewer's block can be overridden. I won't guess at them here. If those matter to you, ask us before you rely on them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The numbers are vendor claims.&lt;/strong&gt; Anything quantitative on our site, including the incident-resolution and productivity figures, is stated by us and is not independently verified. This post doesn't rely on them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No third-party audit or red-team report yet.&lt;/strong&gt; We think one is the right next step for a design like this. It doesn't exist as a public document today.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;BYO model shifts responsibility.&lt;/strong&gt; Using your own AI subscription means data goes to your chosen provider. That's your call, and your compliance question.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Takeaways if you're building something similar
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Put the first safeguard outside the model.&lt;/strong&gt; A deterministic server-side check can't be prompt-injected.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don't give standing privileges.&lt;/strong&gt; Modes with expiry timers turn "the AI is allowed to do X" into a temporary state.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use a second model as a reviewer, not as the only guard.&lt;/strong&gt; It catches what patterns can't, and it is itself fallible.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Log everything with actor, target, time and result.&lt;/strong&gt; You'll need it the first time something goes wrong.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep a human approval step for destructive work&lt;/strong&gt;, and design the UI so confirming isn't a reflex.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Say publicly where it can fail.&lt;/strong&gt; It's the only way a skeptical buyer can judge the design.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Questions for you
&lt;/h2&gt;

&lt;p&gt;If you run an MSP or manage a fleet: what would you need to see before letting an AI touch production endpoints? A public red-team report? A dry-run mode? Per-command approval for every write? I'd like to hear what's missing from this design.&lt;/p&gt;

&lt;p&gt;More on the design: &lt;a href="https://recondeck.com/en/" rel="noopener noreferrer"&gt;recondeck.com/en/&lt;/a&gt;. Contact: &lt;a href="mailto:info@recondeck.com"&gt;info@recondeck.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;ReconDeck is developed by KLIK.BEL, Minsk. I'm affiliated with the vendor.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>security</category>
      <category>devops</category>
      <category>sysadmin</category>
    </item>
  </channel>
</rss>
