<?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: duncan n. ndegwa</title>
    <description>The latest articles on DEV Community by duncan n. ndegwa (@ndegwaduncan).</description>
    <link>https://dev.to/ndegwaduncan</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%2F3944179%2Fe4e5aa9b-265a-4e45-907c-4e91fe97b053.png</url>
      <title>DEV Community: duncan n. ndegwa</title>
      <link>https://dev.to/ndegwaduncan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ndegwaduncan"/>
    <language>en</language>
    <item>
      <title>I Published Security Research Papers While Building DevFortress</title>
      <dc:creator>duncan n. ndegwa</dc:creator>
      <pubDate>Wed, 10 Jun 2026 07:29:55 +0000</pubDate>
      <link>https://dev.to/ndegwaduncan/i-published-security-research-papers-while-building-devfortress-i21</link>
      <guid>https://dev.to/ndegwaduncan/i-published-security-research-papers-while-building-devfortress-i21</guid>
      <description>&lt;p&gt;&lt;em&gt;This post originally appeared at devfortress.net/blog/research-behind-devfortress&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Before DevFortress had its first subscriber, it had research papers.&lt;/p&gt;

&lt;p&gt;Not because I planned it that way. When I started designing the credential&lt;br&gt;
isolation system — the part where your monitoring platform receives token&lt;br&gt;
aliases instead of real credentials — I realised I had to document the&lt;br&gt;
theory properly before I could defend the architecture to anyone who&lt;br&gt;
mattered. Investors. Potential acquirers. Engineers who would actually&lt;br&gt;
integrate it.&lt;/p&gt;

&lt;p&gt;So I wrote the papers. Filed the patents. Then built the product.&lt;/p&gt;

&lt;p&gt;This post explains what I found — and why the research changed how I&lt;br&gt;
built DevFortress.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why a Solo Founder in Nairobi Published Security Research
&lt;/h2&gt;

&lt;p&gt;The short answer: prior art.&lt;/p&gt;

&lt;p&gt;If you build something genuinely new in security architecture, you face&lt;br&gt;
two risks. First, someone patents the idea you just shipped. Second, no&lt;br&gt;
one believes the approach is novel because there is no published record&lt;br&gt;
of it.&lt;/p&gt;

&lt;p&gt;Research papers solve both problems. Once your architecture is formally&lt;br&gt;
described in a peer-reviewed preprint, it establishes a date and a&lt;br&gt;
public record. No one can claim they invented it after that date. And&lt;br&gt;
any engineer who reads the paper can see that the reasoning holds.&lt;/p&gt;

&lt;p&gt;I also filed four provisional patents with the Kenya Industrial Property&lt;br&gt;
Institute (KIPI KE/P/2026/005970–005973) before writing a single word&lt;br&gt;
of marketing content. Filing first, publishing second — that is the&lt;br&gt;
sequence that protects you.&lt;/p&gt;




&lt;h2&gt;
  
  
  What the Two Published Papers Found
&lt;/h2&gt;

&lt;p&gt;I have two papers live on SSRN at this point. Here is what each one&lt;br&gt;
actually found, in plain terms.&lt;/p&gt;

&lt;h3&gt;
  
  
  Paper 1 — Why API Monitoring Tools Accumulate the Credentials
&lt;/h3&gt;

&lt;p&gt;They Were Built to Protect&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SSRN:&lt;/strong&gt; &lt;a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=6813141" rel="noopener noreferrer"&gt;https://papers.ssrn.com/sol3/papers.cfm?abstract_id=6813141&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This paper starts with a question that sounds obvious once you ask it:&lt;br&gt;
if your security monitoring tool needs to watch your API sessions, does&lt;br&gt;
it need your real session tokens to do that?&lt;/p&gt;

&lt;p&gt;The answer is no — and the fact that nearly every existing tool does&lt;br&gt;
store real tokens is the structural problem the paper addresses.&lt;/p&gt;

&lt;p&gt;When a monitoring platform holds a copy of your real session token, you&lt;br&gt;
have created a second attack surface. A breach of the monitoring tool&lt;br&gt;
is now equivalent to a breach of every application it monitors. The&lt;br&gt;
paper calls this the credential accumulation problem.&lt;/p&gt;

&lt;p&gt;The proposed fix is credential isolation: the SDK generates a random&lt;br&gt;
alias that has no mathematical relationship to the real token, and sends&lt;br&gt;
only the alias to the monitoring platform. If the platform is breached,&lt;br&gt;
attackers get random strings that authenticate nothing.&lt;/p&gt;

&lt;p&gt;This is the core architecture of DevFortress.&lt;/p&gt;

&lt;h3&gt;
  
  
  Paper 2 — The Three-Mode API Protection Framework
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;SSRN:&lt;/strong&gt; &lt;a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=6813640" rel="noopener noreferrer"&gt;https://papers.ssrn.com/sol3/papers.cfm?abstract_id=6813640&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Most API security tools work in one mode: they monitor traffic and alert&lt;br&gt;
you when something looks wrong. The second paper examines why this is&lt;br&gt;
insufficient — and what a complete protection system looks like across&lt;br&gt;
three distinct operational modes.&lt;/p&gt;

&lt;p&gt;The three modes are: Observe (monitor without intervention), Enforce&lt;br&gt;
(block requests matching defined threat patterns), and Respond (close&lt;br&gt;
the loop automatically when a confirmed threat appears).&lt;/p&gt;

&lt;p&gt;The key finding: "alert and wait" security has a structural speed&lt;br&gt;
problem. Attackers need seconds. Human response takes minutes or hours.&lt;br&gt;
Automated closed-loop response — detect, revoke session, block IP,&lt;br&gt;
confirm — closes this gap. DevFortress executes this in under 2 seconds&lt;br&gt;
without waiting for a human.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Papers and the Textbook
&lt;/h2&gt;

&lt;p&gt;The papers answer a specific question: &lt;em&gt;what should the architecture&lt;br&gt;
guarantee?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;They do not answer: &lt;em&gt;here is the code that implements it.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The implementation — production TypeScript, exact algorithms, 703&lt;br&gt;
validation tests, and the full architecture of all 34 patent-pending&lt;br&gt;
inventions — is in the DevFortress Master Edition textbook.&lt;/p&gt;

&lt;p&gt;The papers are free on SSRN. The textbook is the bridge from "I&lt;br&gt;
understand the architecture" to "I can build this."&lt;/p&gt;

&lt;p&gt;→ Read the research at devfortress.net/blog/research-behind-devfortress&lt;br&gt;
→ Master Edition textbook: devfortress.gumroad.com/l/master-edition&lt;br&gt;
   Use code RESEARCH15 for 15% off — expires in 14 days.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Comes Next
&lt;/h2&gt;

&lt;p&gt;Two more papers are in the review process at Preprints.org. Once they&lt;br&gt;
are accepted, I will publish a second research post with all four papers&lt;br&gt;
and their findings together.&lt;/p&gt;

&lt;p&gt;In the meantime, the platform is live and the SDK is available:&lt;br&gt;
npm install devfortress-sdk&lt;/p&gt;

&lt;p&gt;Patent Pending KIPI KE/P/2026/005970–005973 · devfortress.net&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Patent Pending KIPI KE/P/2026/005970–005973&lt;/em&gt;&lt;br&gt;
&lt;em&gt;npm install devfortress-sdk | devfortress.net&lt;/em&gt;&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>security</category>
      <category>api</category>
      <category>javascript</category>
      <category>opensource</category>
    </item>
    <item>
      <title>DevFortress Open Core is Live — Free Credential Isolation for Node.js</title>
      <dc:creator>duncan n. ndegwa</dc:creator>
      <pubDate>Tue, 02 Jun 2026 15:26:33 +0000</pubDate>
      <link>https://dev.to/ndegwaduncan/devfortress-open-core-is-live-free-credential-isolation-for-nodejs-ikb</link>
      <guid>https://dev.to/ndegwaduncan/devfortress-open-core-is-live-free-credential-isolation-for-nodejs-ikb</guid>
      <description>&lt;p&gt;Last week we launched the DevFortress platform.&lt;/p&gt;

&lt;p&gt;The most consistent response from developers: "I want to use this, but I cannot&lt;br&gt;
justify a subscription right now."&lt;/p&gt;

&lt;p&gt;That is a fair response. Today we publish the open-core edition.&lt;/p&gt;




&lt;h2&gt;
  
  
  What is free, permanently
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Tier 1 local rule engine&lt;/strong&gt;&lt;br&gt;
SQLi, XSS, path traversal, rate limiting. Evaluation happens in under 1 millisecond.&lt;br&gt;
Zero network calls. Your application does not need internet access for this to work.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Credential isolation&lt;/strong&gt;&lt;br&gt;
Real session tokens never leave your application boundary. If you connect to the&lt;br&gt;
DevFortress platform, it receives only non-derivable aliases — never your real tokens.&lt;br&gt;
Even a complete platform breach yields no usable credentials.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agent scope enforcement&lt;/strong&gt;&lt;br&gt;
Define which tools your AI agents are permitted to call. Unsanctioned tool calls&lt;br&gt;
are blocked before execution. This is the structural answer to prompt injection —&lt;br&gt;
the injection string alone does not cause the damage; the unsanctioned tool&lt;br&gt;
execution does.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Local ML inference (embedded, optional)&lt;/strong&gt;&lt;br&gt;
In-process threat scoring using an ONNX model. No network call required.&lt;br&gt;
Bring your own model or rely on the built-in heuristic fallback.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Local audit trail&lt;/strong&gt;&lt;br&gt;
Every security decision is logged: timestamp, source, decision, score. JSON export.&lt;br&gt;
Compliance-ready without sending data to any external service.&lt;/p&gt;




&lt;h2&gt;
  
  
  What is commercial
&lt;/h2&gt;

&lt;p&gt;Cross-customer threat intelligence (B1), platform ML inference — cloud-scored&lt;br&gt;
cross-customer model (B2), predictive attack trajectory (B12), cloud webhook&lt;br&gt;
delivery, automated response, dashboard.&lt;/p&gt;

&lt;p&gt;The dividing line: local security is free. Platform intelligence is commercial.&lt;/p&gt;




&lt;h2&gt;
  
  
  The license
&lt;/h2&gt;

&lt;p&gt;BUSL-1.1. In plain language:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can use it in your own applications, free.&lt;/li&gt;
&lt;li&gt;You can read the source code and verify exactly what data it touches.&lt;/li&gt;
&lt;li&gt;You cannot build a competing API security SaaS using our code.&lt;/li&gt;
&lt;li&gt;Four years after each release, the code converts to Apache 2.0.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Security tools should be transparent about what they do.&lt;br&gt;
That is why we publish the source.&lt;/p&gt;




&lt;h2&gt;
  
  
  Install
&lt;/h2&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;devfortress-sdk@4.9.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;GitHub: github.com/duncan982/devfortress&lt;br&gt;
Docs: devfortress.net/docs&lt;/p&gt;

&lt;p&gt;Core credential isolation and threat response inventions are patent-pending.&lt;br&gt;
KIPI KE/P/2026/005970–005973.&lt;/p&gt;

</description>
      <category>security</category>
      <category>api</category>
      <category>opensource</category>
      <category>node</category>
    </item>
    <item>
      <title>We built credential isolation and automated closed-loop response into an API security SDK — here is why and how</title>
      <dc:creator>duncan n. ndegwa</dc:creator>
      <pubDate>Fri, 22 May 2026 16:59:31 +0000</pubDate>
      <link>https://dev.to/ndegwaduncan/we-built-credential-isolation-and-automated-closed-loop-response-into-an-api-security-sdk-here-is-49c2</link>
      <guid>https://dev.to/ndegwaduncan/we-built-credential-isolation-and-automated-closed-loop-response-into-an-api-security-sdk-here-is-49c2</guid>
      <description>&lt;p&gt;Security monitoring tools store your real session tokens.&lt;/p&gt;

&lt;p&gt;Every JWT. Every credential. For every user, across every application they protect — sitting in a third-party database. If that vendor is breached, every application they monitor is compromised. This is not a theoretical risk. It is the architecture of almost every API security platform on the market today.&lt;/p&gt;

&lt;p&gt;We spent 18 months building a different approach. DevFortress launches today.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Core Problem: Credential Accumulation
&lt;/h2&gt;

&lt;p&gt;When you integrate a traditional API security monitor, your SDK sends real session tokens to the monitoring platform for analysis. The platform logs them, correlates them, runs ML models on them. The platform needs the real token to do its job.&lt;/p&gt;

&lt;p&gt;This means the security tool designed to protect you is also the largest single point of credential exposure in your infrastructure.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Fix: Credential Isolation
&lt;/h2&gt;

&lt;p&gt;When the DevFortress SDK intercepts a session token, it generates a completely random alias — no mathematical relationship to the real token — and sends only that alias to the platform. The real token never leaves your application boundary.&lt;/p&gt;

&lt;p&gt;If DevFortress is breached tomorrow: attackers get a database of random strings that authenticate nothing, anywhere.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Second Problem: Alert Fatigue
&lt;/h2&gt;

&lt;p&gt;Traditional security tools detect a threat and send you an alert. The attacker's session stays active while you wake up, read the alert, triage it, and decide what to do. Average human response time: hours. Time an attacker needs to exfiltrate data: seconds.&lt;/p&gt;

&lt;p&gt;DevFortress closes the loop automatically. When a threat is detected, the platform fires a signed HMAC-SHA256 webhook to your application. Your application revokes the session, blocks the IP, and confirms back to the platform. The entire cycle completes in under 2 seconds. No human in the loop.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI Agent Security
&lt;/h2&gt;

&lt;p&gt;AI agents introduced a new attack surface. A LangChain or AutoGen agent running in production holds real API keys with broad scope. One successful prompt injection and an attacker has those credentials.&lt;/p&gt;

&lt;p&gt;DevFortress for agents:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AgentScopeEnforcer&lt;/strong&gt; — define a tool allowlist per agent; block any unsanctioned tool call before execution&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Token aliasing for agents&lt;/strong&gt; — master API keys never exposed; the agent operates on scoped aliases&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Auto-quarantine&lt;/strong&gt; — compromised agent is isolated with full tool-call sequence preserved as evidence&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What We Validated
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;133/133 attack events blocked&lt;/li&gt;
&lt;li&gt;26 distinct attack scenarios&lt;/li&gt;
&lt;li&gt;7 reference applications&lt;/li&gt;
&lt;li&gt;100% SDK pass rate&lt;/li&gt;
&lt;li&gt;Sub-millisecond internal blocking (&amp;lt;1ms)&lt;/li&gt;
&lt;li&gt;4 patent filings, 34 inventions&lt;/li&gt;
&lt;li&gt;Patent Pending — KIPI KE/P/2026/005970–005973&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Three Ways to Start
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Install the SDK (free):&lt;/strong&gt;&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;devfortress-sdk@4.8.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Read the full architecture writeup:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://www.devfortress.net/blog/devfortress-launch" rel="noopener noreferrer"&gt;https://www.devfortress.net/blog/devfortress-launch&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Get the Master Edition textbook&lt;/strong&gt; (full architecture deep-dive + interactive demos):&lt;br&gt;
&lt;a href="https://devfortress.gumroad.com/l/master-edition" rel="noopener noreferrer"&gt;https://devfortress.gumroad.com/l/master-edition&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Subscribe to the weekly security journal:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://devfortress.substack.com" rel="noopener noreferrer"&gt;https://devfortress.substack.com&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Happy to go deep on any of the inventions in the comments — especially the credential isolation mechanism, the closed-loop webhook architecture, or the AI agent scope enforcement.&lt;/p&gt;

</description>
      <category>security</category>
      <category>api</category>
      <category>node</category>
      <category>architecture</category>
    </item>
  </channel>
</rss>
