<?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: Andrea Catalucci</title>
    <description>The latest articles on DEV Community by Andrea Catalucci (@andrea_catalucci_01990d25).</description>
    <link>https://dev.to/andrea_catalucci_01990d25</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%2F4114960%2Fb1ff95a4-16c0-49a1-a054-ab6a99db63b3.jpg</url>
      <title>DEV Community: Andrea Catalucci</title>
      <link>https://dev.to/andrea_catalucci_01990d25</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/andrea_catalucci_01990d25"/>
    <language>en</language>
    <item>
      <title>Keyclasp: Let agents use tokens without putting them in prompts</title>
      <dc:creator>Andrea Catalucci</dc:creator>
      <pubDate>Tue, 08 Sep 2026 05:49:13 +0000</pubDate>
      <link>https://dev.to/andrea_catalucci_01990d25/keyclasp-let-agents-use-tokens-without-putting-them-in-prompts-4ken</link>
      <guid>https://dev.to/andrea_catalucci_01990d25/keyclasp-let-agents-use-tokens-without-putting-them-in-prompts-4ken</guid>
      <description>&lt;p&gt;I kept running into the same problem: either I’d have the agent give me the command, run it myself with the credentials, and copy-paste the output back, or I’d let the agent run it and keep finding secrets in its output.&lt;/p&gt;

&lt;p&gt;I looked into alternatives and asked friends, but the only workable approach I found for my workflow was writing custom wrappers around CLIs to handle authentication. I got tired of the back-and-forth, rotating leaked tokens, and maintaining wrappers, so I built &lt;a href="https://github.com/AndreaCatalucci/keyclasp" rel="noopener noreferrer"&gt;Keyclasp&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Keyclasp stores credentials in a local encrypted vault. The agent works with secret names and selects what a command needs:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;keyclasp run &lt;span class="nt"&gt;--project&lt;/span&gt; myapp &lt;span class="nt"&gt;--environment&lt;/span&gt; dev &lt;span class="nt"&gt;--env&lt;/span&gt; API_KEY &lt;span class="nt"&gt;--&lt;/span&gt; npm &lt;span class="nb"&gt;test&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The child process receives the requested token through its environment. The agent can discover available secret names without retrieving their values. I also include a skill that explains the workflow. You can require operator authorization or explicitly allow selected secrets to run unattended. Everything is local and open source.&lt;/p&gt;

&lt;p&gt;The command still needs to be trusted: it receives the real credential and can write it to disk or send it over the network. Keyclasp doesn’t sandbox commands or isolate secrets from other processes running as your OS user.&lt;/p&gt;

&lt;p&gt;An output guard scans stdout and stderr for exact injected values of at least eight characters. If it detects one, it redacts the match, stops forwarding output, and attempts to terminate the process group. Shorter values, encoded values, and fragments are outside that protection. Keyclasp hasn’t had a professional third-party security audit.&lt;/p&gt;

&lt;p&gt;You can install it with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; keyclasp@beta
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;a href="https://github.com/AndreaCatalucci/keyclasp#try-it-with-a-dummy-credential" rel="noopener noreferrer"&gt;README&lt;/a&gt; has a walkthrough using a dummy credential in a temporary vault, so you can try it without touching real keys. It currently supports Apple Silicon Macs and glibc Linux on arm64/x64, with Node 24 or 26.&lt;/p&gt;

&lt;p&gt;It’s MIT licensed and began as a fork of &lt;a href="https://keyblind.dev/" rel="noopener noreferrer"&gt;Keyblind&lt;/a&gt;, created by Mohammed Aarif Shaikh.&lt;/p&gt;

&lt;p&gt;How are you handling credentials for local coding agents today? I’d be interested in approaches I missed and places where this workflow falls short.&lt;/p&gt;

</description>
      <category>showdev</category>
    </item>
  </channel>
</rss>
