<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[DeploySafe Blog]]></title><description><![CDATA[Notes from building DeploySafe, a security scanner for apps you ship fast. Practical writing on web security, finding vulnerabilities, and fixing them without a]]></description><link>https://blog.deploysafe.io</link><image><url>https://cdn.hashnode.com/uploads/logos/6a1af774f14037cc1a81a89c/2a7ff929-e34b-4f4b-a599-ceed21851c3d.png</url><title>DeploySafe Blog</title><link>https://blog.deploysafe.io</link></image><generator>RSS for Node</generator><lastBuildDate>Sat, 30 May 2026 17:37:04 GMT</lastBuildDate><atom:link href="https://blog.deploysafe.io/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Your API keys might be sitting in your JavaScript bundle right now]]></title><description><![CDATA[I ship small apps fast. Some of them I build mostly with AI tools. And every time I deployed one, the same thought nagged at me: I have no idea if this is secure. I'm not a security person. I don't kn]]></description><link>https://blog.deploysafe.io/your-api-keys-might-be-sitting-in-your-javascript-bundle-right-now</link><guid isPermaLink="true">https://blog.deploysafe.io/your-api-keys-might-be-sitting-in-your-javascript-bundle-right-now</guid><category><![CDATA[Security]]></category><category><![CDATA[webdev]]></category><category><![CDATA[Devops]]></category><category><![CDATA[ShowHashnode]]></category><dc:creator><![CDATA[Habeeb Salami]]></dc:creator><pubDate>Sat, 30 May 2026 15:34:16 GMT</pubDate><content:encoded><![CDATA[<p>I ship small apps fast. Some of them I build mostly with AI tools. And every time I deployed one, the same thought nagged at me: I have no idea if this is secure. I'm not a security person. I don't know what I don't know.</p>
<p>The existing options didn't fit. Most scanners want to live in your CI pipeline, need access to your repo, or spit out a 40-page report full of jargon that I was never going to read, let alone act on.</p>
<p>So I built DeploySafe (<a href="https://deploysafe.io">https://deploysafe.io</a>). The idea is simple: you paste your live app's URL, and it probes the running app the way someone poking at it would.</p>
<p>Here is what it checks for right now:</p>
<ul>
<li><p>Leaked environment variables and API keys sitting in your JS bundles</p>
</li>
<li><p>Broken or missing access control on routes that should be protected</p>
</li>
<li><p>Open redirects</p>
</li>
<li><p>Missing CSRF protection</p>
</li>
<li><p>Cookies without secure flags</p>
</li>
<li><p>Vulnerable dependency versions</p>
</li>
<li><p>Exposed .git and .env files</p>
</li>
<li><p>Dangerous HTTP methods left enabled</p>
</li>
<li><p>Missing security headers</p>
</li>
</ul>
<p>The part I cared about most: it does not just tell you what is wrong. Every finding comes with three things. A plain-English explanation of how the issue would actually get exploited. A rough estimate of what it would cost you if it did. And a copy-paste prompt written to drop straight into your AI coding tool, so you can fix it in a few minutes instead of researching it for an hour.</p>
<p>A few technical notes for anyone curious how it works:</p>
<ul>
<li><p>It drives a real headless browser (Playwright), so it understands single-page app routes and behaves like a real session instead of just curling endpoints.</p>
</li>
<li><p>There is a triage layer that filters raw probe output down to real findings. Cutting false positives has honestly been most of the work. A scanner that cries wolf is worse than no scanner.</p>
</li>
<li><p>You can only scan targets you confirm you own or are authorized to test.</p>
</li>
</ul>
<p>It is free to scan, with a small credit grant when you sign up. The deeper parts (full fix prompts, scanning behind a login) are paid through credit packs. It is a solo project, so I am being upfront about that.</p>
<p>If you scan something and it flags nonsense, I genuinely want to hear about it. And if there is a check you wish it ran, tell me. GraphQL introspection and subdomain takeover detection are already next on my list.</p>
<p>You can try it at <a href="https://deploysafe.io">deploysafe.io</a>. Would love your feedback.</p>
]]></content:encoded></item></channel></rss>