<?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>Forem: Tide Foundation</title>
    <description>The latest articles on Forem by Tide Foundation (@tidefoundation).</description>
    <link>https://forem.com/tidefoundation</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%2F2452330%2F4b2abccc-1241-476a-b977-00d8b542643d.jpg</url>
      <title>Forem: Tide Foundation</title>
      <link>https://forem.com/tidefoundation</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/tidefoundation"/>
    <language>en</language>
    <item>
      <title>KeyleSSH: A New PAM Concept for IT Admins</title>
      <dc:creator>Tide Foundation</dc:creator>
      <pubDate>Thu, 12 Feb 2026 01:28:50 +0000</pubDate>
      <link>https://forem.com/tidefoundation/keylessh-a-pam-with-no-single-point-of-vulnerability-4n1h</link>
      <guid>https://forem.com/tidefoundation/keylessh-a-pam-with-no-single-point-of-vulnerability-4n1h</guid>
      <description>&lt;h3&gt;
  
  
  For greater security and less admin overhead
&lt;/h3&gt;

&lt;p&gt;Infrastructure security is built on a paradox: to protect your assets, you must create a catastrophic single point of vulnerability - a vault, a Certificate Authority, or a database that holds the keys to everything. The US Treasury Department &lt;a href="https://www.bleepingcomputer.com/news/security/postgresql-flaw-exploited-as-zero-day-in-beyondtrust-breach/" rel="noopener noreferrer"&gt;learnt that lesson&lt;/a&gt; the hard way when they put their trust in a single vendor last year.&lt;/p&gt;

&lt;p&gt;The industry's answer has always been "a safer box": bastion hosts, PAM vaults, rotation policies. But a key stored anywhere is a key exposed somewhere. We call this the key-under-mat problem.&lt;/p&gt;

&lt;p&gt;Our senior dev at Tide, Sasha, spent a few weekends trying a new PAM approach that eliminates both the key and the mat. No key left to secure or rotate, also leaves nothing to steal and zero admin overhead.&lt;/p&gt;

&lt;p&gt;She built and open sourced the PoC, KeyleSSH, a browser-based SSH console that replaces the centralized vault with a decentralized secrets manager.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Architecture: Ineffable Cryptography
&lt;/h2&gt;

&lt;p&gt;KeyleSSH utilizes the &lt;strong&gt;Tide Cybersecurity Fabric&lt;/strong&gt;, a network of nodes (ORKs) that operate on secrets without ever seeing them. This is based on a framework we call "Ineffable Cryptography" - A cryptographic scheme where secrets that are never expressed in whole, therefore can never be lost, stolen or misused.&lt;br&gt;
Traditional Multi-Party Computation (MPC), used by advanced vaults to operate on split keys, still momentarily combines the pieces inside a Trusted Execution Environment (TEE). The protocols behind Ineffable Cryptography, however, remain entirely blind from start to end. &lt;strong&gt;The key is never reconstructed, not even in a TEE&lt;/strong&gt;. A signature, decryption or other key action is mathematically constructed directly from the distributed shares performing partial operations.&lt;/p&gt;

&lt;p&gt;Instead of a server holding an SSH private key and signing user requests, the signing operation itself is distributed:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Authentication&lt;/strong&gt;: The user performs Zero-Knowledge authentication via OIDC (via TideCloak IAM), receiving a token bound to their device and session.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Request&lt;/strong&gt;: KeyleSSH constructs a signing request containing the raw SSH challenge bytes and human-readable metadata.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Consensus&lt;/strong&gt;: The request is sent to the decentralized Fabric. Nodes independently validate the policy (e.g., "Is User A allowed to access Server B?").&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Threshold Signing&lt;/strong&gt;: If the policy passes, nodes generate partial signatures using Tide's special MPC. These are combined to form a valid Ed25519 signature.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Crucially, the private key is never reassembled. Even if you compromised a node in the fabric, you would find only mathematical noise. To compromise a single key, you would need to compromise a majority of nodes simultaneously.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The underlying protocol has been formally analyzed over 7 years of academic research. &lt;a href="https://arxiv.org/abs/2309.00915" rel="noopener noreferrer"&gt;Read one of the cryptographic proofs here&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Implementation: 30 Lines of Code
&lt;/h2&gt;

&lt;p&gt;Proper key management is notoriously difficult to implement. When used as part of a cryptographic protocol, like SSH, it usually requires specialized cryptography teams and complex state management. With KeyleSSH, none of that is necessary.&lt;/p&gt;

&lt;p&gt;What makes KeyleSSH interesting is that Sasha built the core proof-of-concept in only few weekends using the &lt;a href="https://docs.tidecloak.com/" rel="noopener noreferrer"&gt;TideCloak SDK&lt;/a&gt;. The SDK abstracts the complex orchestration of the decentralized network and the key lifecycle management into a standard async interface.&lt;/p&gt;

&lt;p&gt;This is the actual code that replaces the entire "secure vault" backend of a traditional PAM:&lt;/p&gt;

&lt;h6&gt;
  
  
  &lt;code&gt;client/src/lib/tideSsh.ts&lt;/code&gt;
&lt;/h6&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;IAMService&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@tidecloak/js&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;TideMemory&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;BaseTideRequest&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;heimdall-tide&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;createTideSshSigner&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt; &lt;span class="nx"&gt;SSHSigner&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;async &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;SSHSignatureRequest&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;tc&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;IAMService&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="kr"&gt;any&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;_tc&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="c1"&gt;// 1. Pack the data (Metadata + SSH Challenge)&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;humanReadable&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;createHumanReadableInfo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;draft&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;TideMemory&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;CreateFromArray&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="nx"&gt;humanReadable&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;

    &lt;span class="c1"&gt;// 2. Construct the Request for the Fabric&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;tideRequest&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;BaseTideRequest&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;BasicCustom&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// Protocol&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;BasicCustom&amp;lt;1&amp;gt;&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// Version&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Policy:1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// The policy contract to execute&lt;/span&gt;
      &lt;span class="nx"&gt;draft&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;TideMemory&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="c1"&gt;// 3. Attach Authorizer (The user's doken)&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;dokenBytes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;TextEncoder&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;encode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;tc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;doken&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nx"&gt;tideRequest&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;addAuthorizer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;TideMemory&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;CreateFromArray&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="nx"&gt;dokenBytes&lt;/span&gt;&lt;span class="p"&gt;]));&lt;/span&gt;

    &lt;span class="c1"&gt;// 4. Execute Distributed Signing&lt;/span&gt;
    &lt;span class="c1"&gt;// The SDK handles the communication with the ORK nodes.&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;initialized&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;tc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;createTideRequest&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;tideRequest&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;encode&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;sigs&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;tc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;executeSignRequest&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;initialized&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;sigs&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt; &lt;span class="c1"&gt;// The valid Ed25519 signature.&lt;/span&gt;
  &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This snippet achieves something that previously required expensive hardware modules (HSMs) or high-risk software vaults: generating a valid signature without the signing key ever being present in memory.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Demise of the Rogue Admin
&lt;/h2&gt;

&lt;p&gt;Because the authority over assets now live in the network, away from the PAM and anyone administering it, we can enforce logic that even a root admin cannot bypass. For example, a policy can require M-of-N signatures from other admins before granting access to a production cluster.&lt;/p&gt;

&lt;p&gt;Unlike application-layer logic (which can be patched out by a rogue admin), this approach is a constraint enforced by the signing network itself. If the quorum isn't met, the mathematical threshold for the signature is never reached.&lt;/p&gt;

&lt;h2&gt;
  
  
  Current Limitations &amp;amp; Alpha Status
&lt;/h2&gt;

&lt;p&gt;While the architectural model offers significant advantages over centralized PAMs, KeyleSSH is currently a proof-of-concept.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Browser Security&lt;/strong&gt;: The client runs in a browser. While we use Subresource Integrity (SRI), a compromised endpoint device (malware on the admin's laptop) remains a threat vector.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Centralization of the Testnet&lt;/strong&gt;: Currently, the Tide ORK nodes are operated primarily by the Tide test network. We are working toward a fully decentralized mainnet, but today, trust is still placed in the Tide infrastructure providers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Host Hardening&lt;/strong&gt;: As with any PAM, this solution solves the authentication problem. It does not replace the need for standard OS-level controls, patching, or network segmentation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;KeyleSSH demonstrates what's possible beyond the "trusted vault" era. By pushing state and authority to a decentralized fabric, we eliminate the Single Point of Failure that plagues modern infrastructure. It doesn't eliminate every security risk, but it does eliminate the "central trust" blast radius that underpins traditional security stacks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;p&gt;Source Code: &lt;a href="https://github.com/sashyo/keylessh/" rel="noopener noreferrer"&gt;github.com/sashyo/keylessh&lt;/a&gt;&lt;br&gt;
Live Demo: &lt;a href="https://demo.keylessh.com/" rel="noopener noreferrer"&gt;demo.keylessh.com&lt;/a&gt;&lt;br&gt;
TideCloak SDK: &lt;a href="https://docs.tidecloak.com/" rel="noopener noreferrer"&gt;docs.tidecloak.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>infrastructure</category>
      <category>ssh</category>
    </item>
    <item>
      <title>Beyond Patching: Mitigating RCE with Architectural Cryptography</title>
      <dc:creator>Tide Foundation</dc:creator>
      <pubDate>Mon, 08 Dec 2025 23:21:14 +0000</pubDate>
      <link>https://forem.com/tidefoundation/the-unattainable-key-mitigating-rce-with-architectural-cryptography-3km3</link>
      <guid>https://forem.com/tidefoundation/the-unattainable-key-mitigating-rce-with-architectural-cryptography-3km3</guid>
      <description>&lt;h4&gt;
  
  
  TL;DR
&lt;/h4&gt;

&lt;p&gt;How to shut down the next "React2Shell" by removing its target, so patching becomes important hygiene, not the last line of defense.&lt;/p&gt;




&lt;p&gt;The disclosure of CVE-2025-55182 (React2Shell) - a CVSS 10.0 Remote Code Execution (RCE) vulnerability in React Server Components now being actively exploited and added to the CISA Known Exploited Vulnerabilities catalog - is a wake-up call for developers. With 39% of cloud environments running vulnerable React or Next.js instances, the attack surface is massive.&lt;/p&gt;

&lt;p&gt;This vulnerability highlights a fundamental security principle: &lt;strong&gt;Your system is only as secure as the most valuable secret it holds.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When an RCE occurs, an attacker gains shell access to the backend server. If that server holds the database credentials, API signing keys, or cloud secrets, the breach instantly escalates from an application exploit to a catastrophic, systemic compromise.&lt;/p&gt;

&lt;p&gt;While robust defense-in-depth (like input sanitization and Zero Trust) is mandatory, the new cryptographic paradigm "Ineffable Cryptography" introduces a fundamental shift that allows developers  to remove the target assets entirely from the attack surface.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is Ineffable Cryptography and How Does It Mitigate React2Shell?
&lt;/h2&gt;

&lt;p&gt;Ineffable Cryptography is a practical application of advanced cryptographic concepts like Threshold Cryptography and secure Multi-Party Computation (sMPC). It fundamentally changes the relationship between your application and its secrets.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. The Core Principle: Decentralized Key Authority
&lt;/h3&gt;

&lt;p&gt;In traditional systems, a single key (a secret string, file, or token) grants "god-like" authority over data or systems. This key is stored in a single vault, file, or configuration variable on the backend server, making it the Single Point of Compromise (SPoC).&lt;/p&gt;

&lt;p&gt;The Ineffable approach eliminates the SPoC by ensuring the full cryptographic key is never assembled or stored in one place.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Fragmentation&lt;/strong&gt;: A key only exists in multiple, useless pieces (fragments).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Decentralized Network&lt;/strong&gt;: These fragments are distributed across a decentralized, independently-operated network of nodes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Swarm Rule&lt;/strong&gt;: To perform any action (like signing an API request or decrypting a database field), a mathematically predetermined number of fragments (a swarm) must securely cooperate. The full key is never reconstructed, even during the computation. Nodes remain forever blind to both the key and the eventual result.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Quorum-Governance&lt;/strong&gt;: Setting the parameters around the swarm-action, like who's permitted to request, on what conditions, etc., can only be done with an explicit approval of a quorum of admins. No single admin can go rogue or risk compromise.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  2. The Developer's Benefit: Removing the RCE's Ultimate Goal
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Traditional Architecture (Vault on Server)&lt;/th&gt;
&lt;th&gt;Ineffable Cryptography Architecture&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Attacker Action:&lt;/strong&gt; Executing a shell command: &lt;code&gt;cat /etc/secrets/db_password.env&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Attacker Action:&lt;/strong&gt; Executing a shell command: &lt;code&gt;cat /etc/secrets/db_password.env&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Result:&lt;/strong&gt; The database password is exfiltrated. The attacker has full, persistent access to the most valuable asset, leading to data theft.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Result:&lt;/strong&gt; The file only contains a cryptographic stub or token. The secret password is not present on the server. The attacker's ultimate goal is defeated.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The compromised server is reduced to a "dumb terminal" with no authority. It can only request usage of a key, but the key's authority rests outside the server, distributed and secured by mathematics.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Takeaway for All Developers
&lt;/h3&gt;

&lt;p&gt;Every developer, regardless of their role, must understand that vulnerabilities like React2Shell expose the entire application's security surface. You should assume that other React2Shell-class weaknesses already exist or will inevitably be introduced somewhere in your software supply chain. A determined attacker will discover them before you do, which is precisely why the architectural layer of your security is just as important as the code layer.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Immediate Fix&lt;/strong&gt;: Patching the insecure deserialization in the React environment is the first and non-negotiable step.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Long-Term Defense&lt;/strong&gt;: Evaluate where your most critical secrets reside. If a successful RCE on any backend server grants an attacker access to your master keys, you have a Single Point of Compromise.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;New cryptographic models, like the Ineffable approach, offer an evolution in security architecture. Shifting from defending the bastion that holds the key (Zero Trust) to eliminating the existence of the key within any container entirely. By removing the target asset, the most severe consequences of RCE become structurally impossible.&lt;/p&gt;




&lt;h2&gt;
  
  
  Frequently Asked Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What are the affected frameworks?
&lt;/h3&gt;

&lt;p&gt;CVE-2025-55182 affects the React Flight protocol's deserialization logic in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;React 19.x&lt;/strong&gt; (&lt;code&gt;react-server&lt;/code&gt;, &lt;code&gt;react-server-dom-webpack&lt;/code&gt;, &lt;code&gt;react-server-dom-parcel&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Next.js&lt;/strong&gt; (tracked separately as CVE-2025-66478, now merged)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;React Router&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Waku&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Parcel RSC&lt;/strong&gt; (&lt;code&gt;@parcel/rsc&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vite RSC&lt;/strong&gt; (&lt;code&gt;@vitejs/plugin-rsc&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Where can I find additional reading on this?
&lt;/h3&gt;

&lt;p&gt;For a deeper dive into Ineffable Cryptography and the concepts that underpin it, see &lt;a href="https://tide.org/blog/rethinking-cybersecurity-for-developers" rel="noopener noreferrer"&gt;Reimagining Cybersecurity for Developers&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>node</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
    <item>
      <title>How to future-proof your web app's password authentication</title>
      <dc:creator>Tide Foundation</dc:creator>
      <pubDate>Mon, 29 Sep 2025 06:14:34 +0000</pubDate>
      <link>https://forem.com/tidefoundation/how-to-future-proof-your-web-apps-password-authentication-3oh3</link>
      <guid>https://forem.com/tidefoundation/how-to-future-proof-your-web-apps-password-authentication-3oh3</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;Declare:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;login&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useTideCloak&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Add this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;onClick=&lt;/span&gt;&lt;span class="s"&gt;{login}&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Login&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. No password storage, no hashing logic.&lt;/p&gt;

&lt;h2&gt;
  
  
  Some context
&lt;/h2&gt;

&lt;p&gt;Traditional authentication knows dangerously too much. Its sole job is to determine whether users are who they claim to be, and nothing more. Yet today's systems must both know &lt;strong&gt;how to challenge users&lt;/strong&gt; (password/biometric) and &lt;strong&gt;decide&lt;/strong&gt; if they're valid. Whether you hash and salt passwords locally or use OAuth via a provider like Okta or Facebook, &lt;em&gt;someone&lt;/em&gt; still holds secrets. When that someone is compromised, because you trusted them implicitly, you absorb the fallout.&lt;/p&gt;

&lt;p&gt;It feels unavoidable. But what if authentication could verify a user &lt;strong&gt;without sending or storing secrets anywhere&lt;/strong&gt;, and without trusting any single party to act as the authority? That's what we're building with TideCloak.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The problem with current approaches&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Password hashes are targets&lt;/strong&gt;. Modern GPU clusters can test billions of combinations per second; offline attacks thrive on stolen hashes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Social login shifts trust&lt;/strong&gt;. You're now betting on the &lt;a href="https://tide.org/blog/god-mode-vulnerability-microsoft-authorityless-security" rel="noopener noreferrer"&gt;provider's security&lt;/a&gt; posture. Credentials (or their derivatives) still exist somewhere and can be attacked offline.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;Instead of storing credentials, TideCloak converts each credential into a &lt;strong&gt;zero-knowledge proof of a challenge&lt;/strong&gt; that only the rightful holder can solve, then shards that proof across a network of independent nodes. No single node holds enough to reconstruct any meaningful proof, or to act as the sole authority to validate it. During login, the user engages the network to obtain a short-lived proof. The user's credential becomes effectively &lt;strong&gt;ineffable&lt;/strong&gt; - beyond the ability to be expressed anywhere, by anyone.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;INEFFABLE /ɪnˈɛfəbəl/ (adj) - too great to be expressed.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F15u35s0bj63o2am45b44.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F15u35s0bj63o2am45b44.jpg" alt="Zero-knowledge Authentication with TideCloak" width="552" height="482"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sequence (at a glance):&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The user clicks &lt;strong&gt;Login&lt;/strong&gt;, launching a login screen with a secret session bound to the browser.&lt;/li&gt;
&lt;li&gt;The user enters their &lt;strong&gt;Username&lt;/strong&gt; and &lt;strong&gt;Password&lt;/strong&gt;, performing a zero-knowledge authentication using &lt;a href="https://link.springer.com/chapter/10.1007/978-3-031-41181-6_19" rel="noopener noreferrer"&gt;Tide's PRISM protocol&lt;/a&gt;, against the network.&lt;/li&gt;
&lt;li&gt;A correctly entered credentials will manifest a cryptographic proof from the network.&lt;/li&gt;
&lt;li&gt;Using that proof, TideCloak sends your app an OAuth2 Access Token (JWT) bound to the secret browser session.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Unique properties and benefits:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Best of both worlds&lt;/strong&gt;: Familiar, frictionless UX, but passkey level security.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;User privacy and identity ownership&lt;/strong&gt;: Each user receives a deterministic, app-scoped, anonymized identity (untraceable and unlinkable across apps). Their master credentials are trusted to no one.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Nothing to steal&lt;/strong&gt;: no password database, no hashes, no secrets at rest - Rendering offline attacks (e.g. Rainbow) infeasible.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Provable integrity&lt;/strong&gt;: network-level and browser-level verification ensure tamper resistance and trust.&lt;/li&gt;
&lt;li&gt;Any MITM tampering causes authentication to fail.&lt;/li&gt;
&lt;li&gt;Resilient against token hijacking. The JWT is unusable outside its originating browser.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  And the implementation looks like this
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Create a React app using Vite&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 create vite@latest tidecloak-react &lt;span class="nt"&gt;--&lt;/span&gt; &lt;span class="nt"&gt;--template&lt;/span&gt; react-ts
&lt;span class="nb"&gt;cd &lt;/span&gt;tidecloak-react
npm &lt;span class="nb"&gt;install&lt;/span&gt; @tidecloak/react
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Get TideCloak running&lt;/strong&gt;&lt;br&gt;
Run a local test instance with Docker:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;docker run &lt;span class="nt"&gt;--name&lt;/span&gt; tidecloakdev &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-v&lt;/span&gt; .:/opt/keycloak/data/h2 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-p&lt;/span&gt; 8080:8080 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;KC_BOOTSTRAP_ADMIN_USERNAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;admin &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;KC_BOOTSTRAP_ADMIN_PASSWORD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;change-me-now &lt;span class="se"&gt;\&lt;/span&gt;
  tideorg/tidecloak-dev:latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Tip: Ports 8080 (server) and 5173 (Vite) must be free.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Activate your TideCloak instance&lt;/strong&gt;&lt;br&gt;
Tide offers a free developer license for up to 100 users.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open: &lt;a href="http://localhost:8080/admin/master/console/#/myrealm/identity-providers/tide/tide/settings" rel="noopener noreferrer"&gt;http://localhost:8080/admin/master/console/#/myrealm/identity-providers/tide/tide/settings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Sign in (Username: admin, Password: change-me-now, unless changed). You'll land on: myrealm realm → Identity Providers → tide IdP → Settings screen.&lt;/li&gt;
&lt;li&gt;Click Manage License → Request License.&lt;/li&gt;
&lt;li&gt;Complete the checkout with a contact email.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Within a few seconds, your TideCloak host should be licensed and activated.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Export your TideCloak adapter&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go to &lt;a href="http://localhost:8080/admin/master/console/#/myrealm/clients" rel="noopener noreferrer"&gt;Clients&lt;/a&gt; → mytest&lt;/li&gt;
&lt;li&gt;Set Valid redirect URIs to &lt;a href="http://localhost:5173/*" rel="noopener noreferrer"&gt;http://localhost:5173/*&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Set Web origins to &lt;a href="http://localhost:5173" rel="noopener noreferrer"&gt;http://localhost:5173&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;In &lt;a href="http://localhost:8080/admin/master/console/#/myrealm/clients" rel="noopener noreferrer"&gt;Clients&lt;/a&gt; menu → mytest client ID → Action dropdown → Download adaptor configs option (keep it as keycloak-oidc-keycloak-json format)&lt;/li&gt;
&lt;li&gt;Download as tidecloak.json in your project root&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Edit src/main.tsx&lt;/strong&gt;&lt;br&gt;
Add imports:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;TideCloakContextProvider&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;useTideCloak&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;Authenticated&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;Unauthenticated&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@tidecloak/react&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;tidecloakConfig&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;../tidecloak.json&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pre-authentication view:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;Welcome&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;login&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useTideCloak&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;h1&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Hello&lt;/span&gt;&lt;span class="o"&gt;!&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/h1&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Please&lt;/span&gt; &lt;span class="nx"&gt;authenticate&lt;/span&gt; &lt;span class="nx"&gt;yourself&lt;/span&gt;&lt;span class="o"&gt;!&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/p&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;button&lt;/span&gt; &lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;login&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Login&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/button&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;  &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Post-authentication view:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;LoggedIn&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;logout&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useTideCloak&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;You&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;re signed in!&amp;lt;/p&amp;gt;
      &amp;lt;button onClick={logout}&amp;gt;Logout&amp;lt;/button&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Mount the app:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;createRoot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;root&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;render&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;StrictMode&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;TideCloakContextProvider&lt;/span&gt; &lt;span class="nx"&gt;config&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;tidecloakConfig&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Authenticated&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;LoggedIn&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/Authenticated&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Unauthenticated&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Welcome&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/Unauthenticated&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/TideCloakContextProvider&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/StrictMode&amp;gt;&lt;/span&gt;&lt;span class="err"&gt;,
&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Build and run&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;npm run dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Technical properties&lt;/strong&gt;&lt;br&gt;
TideCloak uses ineffable cryptography where authentication requires collaboration from multiple nodes, and no single node - or any subset below a threshold - can reconstruct credentials or proofs. This is a novel form of secure multi-party computation, validated through published research with RMIT and Deakin universities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key properties:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Threshold&lt;/strong&gt;: authentication succeeds if any &lt;strong&gt;14 of 20&lt;/strong&gt; nodes respond.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resilience&lt;/strong&gt;: compromising up to &lt;strong&gt;14 nodes reveals nothing&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unlinkability&lt;/strong&gt;: each service sees users as unique, unlinkable identifiers (app-scoped).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Performance&lt;/strong&gt;: on par with, or better than, major cloud IdPs; browser-bound proofs add negligible overhead.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Threat model and limitations&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Protects against:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Database breaches revealing credentials/hashes&lt;/li&gt;
&lt;li&gt;Insider access to user password material&lt;/li&gt;
&lt;li&gt;Token replay in MITM scenarios (browser-bound, DPoP-style proof)&lt;/li&gt;
&lt;li&gt;OAuth/IdP provider compromise leaking user credentials&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Doesn't protect against:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Keyloggers/malware on user devices&lt;/li&gt;
&lt;li&gt;Very weak passwords&lt;/li&gt;
&lt;li&gt;Majority network compromise above threshold (≥14/20)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Current limitations:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Internet connectivity required for authentication&lt;/li&gt;
&lt;li&gt;Alpha stage - not recommended for production yet&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Integration simplicity
&lt;/h2&gt;

&lt;p&gt;The SDK handles the cryptography. Your app calls useTideCloak() and receives a session token. Standard JWT verification works normally.&lt;br&gt;
For existing systems, run traditional auth and zero-knowledge auth on TideCloak in parallel during migration, moving users over as they log in.&lt;/p&gt;

&lt;h2&gt;
  
  
  Open questions we're working on
&lt;/h2&gt;

&lt;p&gt;We're in alpha and looking for feedback on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Developer experience&lt;/li&gt;
&lt;li&gt;Clarity of the approach&lt;/li&gt;
&lt;li&gt;Bugs and feature requests&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;TideCloak's code is open source - we welcome security reviews and integration feedback.&lt;/p&gt;

&lt;h2&gt;
  
  
  Dive into the code
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;One-Click Demo: &lt;a href="https://codespace.new/tide-foundation/tidecloak-playground?quickstart=1" rel="noopener noreferrer"&gt;https://codespace.new/tide-foundation/tidecloak-playground?quickstart=1&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Example React project: &lt;a href="https://github.com/tide-foundation/tidecloak-gettingstarted" rel="noopener noreferrer"&gt;https://github.com/tide-foundation/tidecloak-gettingstarted&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;SDK: &lt;a href="https://docs.tidecloak.com/docs/Languages/React/tidecloak-react-tutorial-quickstart" rel="noopener noreferrer"&gt;https://docs.tidecloak.com/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Join the dev community: &lt;a href="http://tide.org/discord" rel="noopener noreferrer"&gt;https://discord.gg/XBMd9ny2q5&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We're building this because credentials shouldn't be honeypots, individuals should own their identities, and organizations shouldn't have to carry the liability of securing secrets.&lt;/p&gt;

&lt;p&gt;⚠️ Currently Alpha release: not for production use yet. Free developer license (up to 100 users). &lt;a href="https://tide.org/legal" rel="noopener noreferrer"&gt;See Terms&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>authentication</category>
      <category>identity</category>
      <category>react</category>
      <category>cybersecurity</category>
    </item>
    <item>
      <title>The God Mode Vulnerability That Should Kill "Trust Microsoft"</title>
      <dc:creator>Tide Foundation</dc:creator>
      <pubDate>Fri, 19 Sep 2025 07:46:34 +0000</pubDate>
      <link>https://forem.com/tidefoundation/the-god-mode-vulnerability-that-should-kill-trust-microsoft-dad</link>
      <guid>https://forem.com/tidefoundation/the-god-mode-vulnerability-that-should-kill-trust-microsoft-dad</guid>
      <description>&lt;h3&gt;
  
  
  How One Token Could Have Compromised Every Microsoft Entra ID Tenant on Earth, And Why It’s Time for Authorityless Security
&lt;/h3&gt;

&lt;p&gt;Recently, security researcher Dirk-Jan Mollema disclosed CVE-2025–55241, a vulnerability so catastrophic that it reads like fiction: a single token, obtained from any test tenant, could have granted complete administrative control over every Microsoft Entra ID (Azure AD) tenant in the world. Every. Single. One.&lt;/p&gt;

&lt;p&gt;Let that sink in. Dirk-jan uncovered a path where a lab account was all it took to open the doors to every Microsoft cloud customer, from Fortune 500 corporations to the smallest startups.&lt;/p&gt;

&lt;p&gt;This isn’t just another vulnerability. It’s another smoking gun that proves our entire approach to cybersecurity is fundamentally broken.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Another God Mode Vulnerability in a Long Line of “Never Should Have Happened” Breaches&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;The short version for non-technical readers:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
An attacker could have become anyone in any Microsoft cloud tenant, accessed anything, and done it all completely undetected with what appeared to be legitimate access that bypassed all security controls. Think of it as finding a master key that opens every door in every building in the world, while also making you invisible to all security cameras.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The technical details:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Microsoft’s backend uses something called “Actor tokens” for service-to-service communication. Due to a critical validation flaw, these tokens could be used across tenant boundaries, granting attackers the ability to read all user data, group memberships, application permissions, even BitLocker keys, completely undetected. When ready to strike, they could create new Global Admin accounts or take over existing identities. &lt;a href="https://dirkjanm.io/obtaining-global-admin-in-every-entra-id-tenant-with-actor-tokens/" rel="noopener noreferrer"&gt;Read the full technical breakdown here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The vulnerability existed because Microsoft’s architecture requires services to have god-like powers to function. They built a system where ultimate authority had to be trusted to someone, and that trust became the vulnerability.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;“If We Can’t Trust Microsoft, Who Can We Trust?”&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;For decades, enterprises have justified their security decisions with a simple question: “If we can’t trust Microsoft, who can we trust?” It’s been the ultimate defense when things go wrong: at least you chose the industry standard.&lt;/p&gt;

&lt;p&gt;This vulnerability, along with countless others across the industry, demolishes that logic. Microsoft joins a growing list of “trusted” vendors that suffered catastrophic breaches: &lt;a href="https://www.bleepingcomputer.com/news/security/okta-october-data-breach-affects-all-customer-support-system-users/" rel="noopener noreferrer"&gt;Okta’s exposure of all customer support system users&lt;/a&gt;, &lt;a href="https://www.bleepingcomputer.com/news/security/cisco-warns-of-cslu-backdoor-admin-account-used-in-attacks/" rel="noopener noreferrer"&gt;Cisco’s hidden backdoor account exploited in attacks&lt;/a&gt;, &lt;a href="https://www.bleepingcomputer.com/news/security/beyondtrust-says-hackers-breached-remote-support-saas-instances/" rel="noopener noreferrer"&gt;BeyondTrust’s remote support SaaS compromise&lt;/a&gt;, and &lt;a href="https://cyberpress.org/severe-vulnerabilities-ztna-solutions/" rel="noopener noreferrer"&gt;severe zero-trust flaws in Check Point, Zscaler, and Netskope&lt;/a&gt;. Each had the resources, expertise, and certifications. Each failed catastrophically. It's inevitable.&lt;/p&gt;

&lt;p&gt;What should really concern you is the invisibility of these flaws. Behind all the security promises and compliance badges, customers had no way of knowing these Actor tokens existed or carried such sweeping powers. You can’t audit what you can’t see, and you can’t secure what you must blindly trust.&lt;/p&gt;

&lt;p&gt;The uncomfortable reality is that this is just the vulnerability that was discovered and disclosed responsibly. How many similar flaws are lurking in these vast codebases? How many have already been found by nation-state actors who are quietly exploiting them? When you have systems this complex, with this much centralized authority, vulnerabilities aren’t anomalies. They’re mathematical certainties.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;The Ultimate Supply Chain Attack Vector&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Large platforms like Microsoft aren’t just targets, they’re supply chain force multipliers. Compromise Microsoft, and you compromise everyone. This vulnerability proved that definitively.&lt;/p&gt;

&lt;p&gt;Consider the exponential nature of the attack path discovered: starting from a single compromised tenant, an attacker could jump to every tenant that had guest users, then to every tenant those tenants had connections to. Within minutes, the majority of all Entra ID tenants worldwide could have been mapped and compromised.&lt;/p&gt;

&lt;p&gt;Microsoft’s own tenant would likely be one of the first compromised (since Microsoft consultants are guests in countless customer tenants), and from there, every major service provider would be one step away. The entire global business infrastructure, falling like dominoes.&lt;/p&gt;

&lt;p&gt;This isn’t a bug. It’s the natural consequence of building systems where ultimate authority must be blindly trusted to the system, and those that administer it.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Why “Authority” Is the Real Vulnerability&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;First, let’s define what we mean by “authority” in the digital world: it’s the power to grant access, approve actions, or enforce rules within a system. It’s what lets someone or something open the door to sensitive data, change configurations, or allow operations to run. Think of it as the master key to your digital kingdom.&lt;/p&gt;

&lt;p&gt;The root cause of this Microsoft vulnerability wasn’t poor coding or lack of testing. It also isn’t correct to say that it’s the need to trust Microsoft. It’s more accurately what we’re trusting Microsoft with — Authority.&lt;/p&gt;

&lt;p&gt;As long as someone or something holds it, it can be exploited. Today’s systems are built with someone, somewhere, having the ability to do anything. Maybe it’s an administrator, maybe it’s the vendor, maybe it’s a service account, maybe it’s a sub-system, but that ultimate power exists. And it doesn’t need to. Modern cryptographic techniques have made it possible to build systems where no single entity needs or has complete authority, where authority itself is distributed across multiple independent parties who must collaborate to act.&lt;/p&gt;

&lt;p&gt;Traditional security, even “Zero Trust” security, doesn’t eliminate authority. It just moves it around. You stop trusting the network perimeter, but now you must blindly trust your Identity Provider. You implement defense in depth, but at the bottom of that depth sits an all-powerful system that, if compromised, renders every other defense meaningless.&lt;/p&gt;

&lt;p&gt;The Actor token vulnerability perfectly illustrates this. It doesn’t matter how many security policies you had, how much you spent on monitoring, or how well-trained your security team was. When the Identity Provider itself is compromised at the most fundamental level, all of that becomes theater.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;The Path to Authorityless Security&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;We need systems where inevitable breaches don’t have catastrophic consequences. We need architectures where authority doesn’t exist in any single place that can be compromised.&lt;/p&gt;

&lt;p&gt;Imagine a world where:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No single entity, not even the platform vendor, can access your sensitive data&lt;/li&gt;
&lt;li&gt;No administrator, no matter how privileged, can override the system without oversight&lt;/li&gt;
&lt;li&gt;No supply chain compromise can grant universal access&lt;/li&gt;
&lt;li&gt;No vulnerability, no matter how critical, can provide god-mode to attackers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This isn’t just better for security, it’s for a better ecosystem. Platform vendors can demonstrate they’re beyond reproach. Businesses can verify their security rather than hope for it. Users can trust systems because they don’t have to. Mistakes will be made, breaches will continue, but platforms will be cyber-immune to the consequences.&lt;/p&gt;

&lt;p&gt;The technology to eliminate centralized authority already exists. Forward-thinking vendors are adopting it because they recognize the core architectural flaw, don’t want the liability, want to build fast and innovate without losing sleep over breaches, want to simplify compliance, and want customers to trust them because they no longer have to.&lt;/p&gt;

&lt;p&gt;Consider how this alternative approach works: authority over user identities, administrative actions, and business data is distributed in the form a key who’s pieces live across a decentralized network. No single node, organization, or administrator ever holds complete power. When someone needs access to data:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Their identity is verified through distributed authentication where no single node knows their credentials&lt;/li&gt;
&lt;li&gt;Authorization requires cryptographic consensus from multiple independent servers&lt;/li&gt;
&lt;li&gt;Cryptographic keys needed to decrypt data or sign access tokens never exist in any one place, only their cryptographic actions manifest through the collaboration of multiple independent nodes&lt;/li&gt;
&lt;li&gt;Even if an attacker compromises the IAM or multiple nodes holding key fragments, they cannot forge access or decrypt data&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The crucial difference: there is no Actor token. There is no god mode. There is no single point of authority that, if compromised, hands over the kingdom.&lt;/p&gt;

&lt;p&gt;In such a distributed system, the keys that could elevate privileges or forge tokens remain out of anyone’s reach. So even with a vulnerability similar to Microsoft’s, attackers still couldn’t access customer data, impersonate users, or grant themselves permissions. Mathematical guarantees ensure that authority remains distributed, even in the face of compromise.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;The Uncomfortable Questions We Must Ask&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Next week, another critical vulnerability will be discovered. Another emergency patch will be rushed out. Another post-mortem will be written. But the fundamental problem will remain: we’re trusting single entities with absolute authority over our most critical systems.&lt;/p&gt;

&lt;p&gt;Consider the numbers: despite over $300 billion spent on cybersecurity annually, breaches caused over $10 trillion in damage last year. Things are only getting worse. This isn’t a failure of execution, it’s a failure of architecture.&lt;/p&gt;

&lt;p&gt;How many undiscovered Actor token-equivalent vulnerabilities exist right now? How many have been found by adversaries who are silently exploiting them? How long can we pretend that “trust Microsoft” or “trust Google” or “trust any single vendor” is an acceptable security strategy?&lt;/p&gt;

&lt;p&gt;The answer is clear: we can’t. Not anymore.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;The Future Is Authorityless&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The Actor token vulnerability isn’t just another security incident. It’s more proof that our entire approach to security is fundamentally flawed. As long as ultimate authority exists in any single place, that place will be compromised.&lt;/p&gt;

&lt;p&gt;The future belongs to systems where authority doesn’t exist in any single place. Where cryptographic proofs replace blind trust. Where mathematical guarantees supersede vendor promises. Where the inevitable breach doesn’t mean inevitable catastrophe.&lt;/p&gt;

&lt;p&gt;This isn’t about replacing one vendor with another. It’s about eliminating the need for vendors to hold any authority at all, replacing it with distributed, verifiable, mathematically-guaranteed security.&lt;/p&gt;

&lt;p&gt;Microsoft has fixed this particular vulnerability. But the architecture that made it possible, the existence of centralized, god-like authority, remains. And it will remain until we collectively decide that trusting any single entity with everything is no longer acceptable.&lt;/p&gt;

&lt;p&gt;The question isn’t whether another Actor token-level vulnerability exists. It’s when it will be discovered, and by whom.&lt;/p&gt;

&lt;p&gt;Isn’t it time we stopped gambling with that question?&lt;/p&gt;




&lt;p&gt;&lt;em&gt;The authorityless architecture described in this piece is not theoretical. Advances in distributed cryptography now make it practical, economical, and verifiable at scale. At Tide Foundation, our peer reviewed research in ineffable cryptography and the development of platforms like &lt;a href="https://docs.tidecloak.com/docs/architecture" rel="noopener noreferrer"&gt;TideCloak&lt;/a&gt; show how identity and access can be managed without trusting ultimate authority to any vendor, administrator, or insider. The goal is not for customers to “trust Tide,” but to remove the need for trust in any single entity at all.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Learn more at &lt;a href="https://tide.org/" rel="noopener noreferrer"&gt;tide.org&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>microsoft</category>
      <category>authentication</category>
      <category>zerotrust</category>
    </item>
    <item>
      <title>Future proofing your platform</title>
      <dc:creator>Tide Foundation</dc:creator>
      <pubDate>Tue, 29 Jul 2025 04:28:14 +0000</pubDate>
      <link>https://forem.com/tidefoundation/future-proofing-your-platform-2265</link>
      <guid>https://forem.com/tidefoundation/future-proofing-your-platform-2265</guid>
      <description>&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;So, you want to build the most secure digital platforms on the planet, without the burden of worrying about security, and simultaneously grant your users sovereignty over their identities? Great!&lt;/p&gt;

&lt;p&gt;This developer guide will take you through the minimal steps to build your own Single-Page React application, secured with TideCloak - &lt;strong&gt;all in under 6 minutes&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;TideCloak gives you a plug and play tool that incorporates all the concepts and technology discussed in this series. It allows you to manage your web users' roles and permissions - It's an adaptation of Red Hat's open-source Keycloak, one of the most robust, powerful and feature-rich Identity and Access Management system. But best of all it's secured by Tide's Cybersecurity Fabric so no-one holds the keys to the kingdom.&lt;/p&gt;




&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;p&gt;Before starting, make sure you have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Docker installed and running on your machine&lt;/li&gt;
&lt;li&gt;NPM installed&lt;/li&gt;
&lt;li&gt;Internet connectivity&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For the purpose of this guide, we assume to run on a Debian linux host (either under Windows WSL or not).&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Getting TideCloak up and running
&lt;/h2&gt;

&lt;p&gt;Start a TideCloak-Dev docker container that already includes all the basic configuration and settings to get you going. To get it, open your Docker/WSL/Linux terminal and run the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo docker run \
  -d \
  -v .:/opt/keycloak/data/h2 \
  -p 8080:8080 \
  -e KC_BOOTSTRAP_ADMIN_USERNAME=admin \
  -e KC_BOOTSTRAP_ADMIN_PASSWORD=password \
  tideorg/tidecloak-dev:latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will take a minute or two, and when it's done, you'll be able to go to TideCloak's console at: &lt;a href="http://localhost:8080" rel="noopener noreferrer"&gt;http://localhost:8080&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Activate your TideCloak license
&lt;/h2&gt;

&lt;p&gt;To get your TideCloak host to tap into Tide's Cybersecurity Fabric, you'll need to activate your license. Tide offers free developer license for up to 100 users. To do that, you'll need to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Access your TideCloak administration console at &lt;a href="http://localhost:8080/admin/master/console/#/myrealm/identity-providers/tide/tide/settings" rel="noopener noreferrer"&gt;http://localhost:8080/admin/master/console/#/myrealm/identity-providers/tide/tide/settings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Log in using your admin credentials (Username: admin, Password: password, if you haven't changed it) (You should be automatically navigated to: myrealm realm → Identity Providers → tide IdP → Settings screen)&lt;/li&gt;
&lt;li&gt;Click on the &lt;code&gt;Manage License&lt;/code&gt; button next to &lt;code&gt;License&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Click on the blue &lt;code&gt;Request License&lt;/code&gt; button&lt;/li&gt;
&lt;li&gt;Go through the checkout process by providing a contact email&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Within few seconds, you'll get your TideCloak host licenced and activated!&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Create your React JS project
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: You can find deep dives on the provider props, hook return values, TypeScript types, and more in the &lt;a href="https://github.com/tide-foundation/tidecloak-js/blob/main/packages/tidecloak-react/README.md" rel="noopener noreferrer"&gt;TideCloak React SDK docs&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;a. Create a React app using Vite:&lt;/strong&gt;&lt;br&gt;
Run the following commands to create a new React app using Vite:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm create vite@latest tidecloak-react -- --template react-ts
cd tidecloak-react
npm install @tidecloak/react
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;b. Export your TideCloak adapter:&lt;/strong&gt;&lt;br&gt;
Export your specific TideCloak settings and hardcode it in your project:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go to your &lt;a href="http://localhost:8080/admin/master/console/#/myrealm/clients" rel="noopener noreferrer"&gt;Clients&lt;/a&gt; menu → &lt;code&gt;mytest&lt;/code&gt; client ID&lt;/li&gt;
&lt;li&gt;Update &lt;code&gt;Valid redirect URIs&lt;/code&gt; to &lt;code&gt;http://localhost:5173/*&lt;/code&gt; &lt;/li&gt;
&lt;li&gt;Update &lt;code&gt;Web origins&lt;/code&gt; to &lt;code&gt;http://localhost:5173&lt;/code&gt; &lt;/li&gt;
&lt;li&gt;In your &lt;a href="http://localhost:8080/admin/master/console/#/myrealm/clients" rel="noopener noreferrer"&gt;Clients&lt;/a&gt; menu → mytest &lt;code&gt;client ID&lt;/code&gt; → &lt;code&gt;Action&lt;/code&gt; dropdown → &lt;code&gt;Download adaptor configs&lt;/code&gt; option (keep it as &lt;code&gt;keycloak-oidc-keycloak-json&lt;/code&gt; format)&lt;/li&gt;
&lt;li&gt; &lt;code&gt;Download&lt;/code&gt; or copy the details of that config and paste it in your project's root folder under &lt;code&gt;tidecloak.json&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;c. Update &lt;code&gt;main.tsx&lt;/code&gt; via &lt;code&gt;nano src/main.tsx&lt;/code&gt;&lt;/strong&gt;&lt;br&gt;
Make the following changes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight diff"&gt;&lt;code&gt; import { StrictMode } from 'react'
 import { createRoot } from 'react-dom/client'
 import './index.css'
&lt;span class="gd"&gt;- import App from './App.tsx'
&lt;/span&gt;&lt;span class="gi"&gt;+ import {
+   TideCloakContextProvider,
+   useTideCloak,
+   Authenticated,
+   Unauthenticated
+ } from '@tidecloak/react'
+ import tidecloakConfig from '../tidecloak.json'
+
+ function UserInfo() {
+   const { logout, getValueFromIdToken, hasRealmRole } = useTideCloak()
+   const isAllowedToViewProfile = () =&amp;gt;
+     hasRealmRole('default-roles-myrealm') ? 'Yes' : 'No'
+
+   return (
+     &amp;amp;lt;div&amp;amp;gt;
+       &amp;amp;lt;p&amp;amp;gt;Signed in as &amp;amp;lt;b&amp;amp;gt;{getValueFromIdToken('preferred_username') ?? '…'}&amp;amp;lt;/b&amp;amp;gt;&amp;amp;lt;/p&amp;amp;gt;
+       &amp;amp;lt;p&amp;amp;gt;Has Default Roles? &amp;amp;lt;b&amp;amp;gt;{isAllowedToViewProfile()}&amp;amp;lt;/b&amp;amp;gt;&amp;amp;lt;/p&amp;amp;gt;
+       &amp;amp;lt;button onClick={logout}&amp;amp;gt;Logout&amp;amp;lt;/button&amp;amp;gt;
+     &amp;amp;lt;/div&amp;amp;gt;
+   )
+ }
+
+ function Welcome() {
+   const { login } = useTideCloak()
+   return (
+     &amp;amp;lt;div&amp;amp;gt;
+       &amp;amp;lt;h1&amp;amp;gt;Hello!&amp;amp;lt;/h1&amp;amp;gt;
+       &amp;amp;lt;p&amp;amp;gt;Please authenticate yourself!&amp;amp;lt;/p&amp;amp;gt;
+       &amp;amp;lt;p&amp;amp;gt;&amp;amp;lt;button onClick={login}&amp;amp;gt;Login&amp;amp;lt;/button&amp;amp;gt;&amp;amp;lt;/p&amp;amp;gt;
+     &amp;amp;lt;/div&amp;amp;gt;
+   )
+ }
+
&lt;/span&gt; createRoot(document.getElementById('root')!).render(
&lt;span class="gi"&gt;+   &amp;amp;lt;StrictMode&amp;amp;gt;
+     &amp;amp;lt;TideCloakContextProvider config={tidecloakConfig}&amp;amp;gt;
+       &amp;amp;lt;Authenticated&amp;amp;gt;
+         &amp;amp;lt;UserInfo /&amp;amp;gt;
+       &amp;amp;lt;/Authenticated&amp;amp;gt;
+       &amp;amp;lt;Unauthenticated&amp;amp;gt;
+         &amp;amp;lt;Welcome /&amp;amp;gt;
+       &amp;amp;lt;/Unauthenticated&amp;amp;gt;
+     &amp;amp;lt;/TideCloakContextProvider&amp;amp;gt;
&lt;/span&gt;&lt;span class="gd"&gt;-     &amp;amp;lt;App /&amp;amp;gt;
&lt;/span&gt;&lt;span class="gi"&gt;+   &amp;amp;lt;/StrictMode&amp;amp;gt;,
&lt;/span&gt; )
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So it looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import './index.css'
import { TideCloakContextProvider, useTideCloak, Authenticated, Unauthenticated } from '@tidecloak/react'
import tidecloakConfig from "../tidecloak.json"

function UserInfo() {
  const { logout, getValueFromIdToken, hasRealmRole } = useTideCloak();
  const IsAllowedToViewProfile = () =&amp;gt; (hasRealmRole("default-roles-myrealm") ? "Yes" : "No");

  return (
    &amp;lt;div&amp;gt;
      &amp;lt;p&amp;gt;Signed in as &amp;lt;b&amp;gt;{getValueFromIdToken("preferred_username") ?? '…'}&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;
      &amp;lt;p&amp;gt;Has Default Roles? &amp;lt;b&amp;gt;{IsAllowedToViewProfile()}&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;
      &amp;lt;button onClick={logout}&amp;gt;Logout&amp;lt;/button&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}

function Welcome() {
  const { login } = useTideCloak();
  return (
    &amp;lt;div&amp;gt;
      &amp;lt;h1&amp;gt;Hello!&amp;lt;/h1&amp;gt;
      &amp;lt;p&amp;gt;Please authenticate yourself!&amp;lt;/p&amp;gt;
      &amp;lt;p&amp;gt;&amp;lt;button onClick={login}&amp;gt;Login&amp;lt;/button&amp;gt;&amp;lt;/p&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}

createRoot(document.getElementById('root')!).render(
  &amp;lt;StrictMode&amp;gt;
    &amp;lt;TideCloakContextProvider config={tidecloakConfig}&amp;gt;
      &amp;lt;Authenticated&amp;gt;
        &amp;lt;UserInfo/&amp;gt;
      &amp;lt;/Authenticated&amp;gt;
      &amp;lt;Unauthenticated&amp;gt;
        &amp;lt;Welcome/&amp;gt;
      &amp;lt;/Unauthenticated&amp;gt;
    &amp;lt;/TideCloakContextProvider&amp;gt;
  &amp;lt;/StrictMode&amp;gt;,
)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  4. Build your NPM environment
&lt;/h2&gt;

&lt;p&gt;Download and install all the dependencies for this project:&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  5. Run your project
&lt;/h2&gt;

&lt;p&gt;Build and run your project:&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;All done!&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Play!
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Go to &lt;a href="http://localhost:5173" rel="noopener noreferrer"&gt;http://localhost:5173/&lt;/a&gt; You should see a "Hello!" message.&lt;/li&gt;
&lt;li&gt;Click on the &lt;code&gt;Login&lt;/code&gt; button&lt;/li&gt;
&lt;li&gt;Click on &lt;code&gt;Create an account&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Provide a new username, password, recovery email
It will now show you that you're "Signed in" and it will show you your anonymous Tide username for this app.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Project recap
&lt;/h2&gt;

&lt;p&gt;Let's review what just happened and what you've just accomplished:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;You have programmed, compiled, built and deployed, from the ground-up, a fully-functional ReactJS Single-Page-Application (SPA).&lt;/li&gt;
&lt;li&gt;Web users can now sign up and sign in to your SPA, being served customized content to authenticated and unauthenticated users and based on their predefined roles.&lt;/li&gt;
&lt;li&gt;Your web users' roles and permissions are managed locally on your very own self-hosted instance of TideCloak - one of the most robust, powerful and feature-rich Identity and Access Management system which you have downloaded, installed, configured and deployed locally.&lt;/li&gt;
&lt;li&gt;Your web users enjoy fully-secured Tide accounts, with their identity and access-credentials sitting outside of anyone's reach.&lt;/li&gt;
&lt;li&gt;Your TideCloak instance is secured by the global Tide Cybersecurity Fabric that you have activated and licensed.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What next?
&lt;/h2&gt;

&lt;p&gt;There's two additional layers of protection you can configure through TideCloak:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Identity Governance&lt;/strong&gt;: Establish workflow processes ensuring that no compromised administrator can cause damage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;User walletization&lt;/strong&gt;: Ability to lock user data with unique user keys secured by Tide's Cybersecurity Fabric - so ownership and privacy can be guaranteed.
For early access to these features &lt;a href="https://tide.org/alpha" rel="noopener noreferrer"&gt;Sign up for our Alpha Program&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  Authors
&lt;/h3&gt;

&lt;p&gt;This 5‑part series outlining the worry‑free future of cybersecurity for platform developers is an adaptation of Tide Foundation Co‑Founders Michael Loewy and Yuval Hertzog's keynote at &lt;strong&gt;ACM SIGCOMM 2024&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.linkedin.com/in/michaelloewy/" rel="noopener noreferrer"&gt;Michael Loewy&lt;/a&gt;&lt;/strong&gt; — Co‑Founder of Tide Foundation and advisor to the Children's Medical Research Institute.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.linkedin.com/in/uvhertzog/" rel="noopener noreferrer"&gt;Yuval Hertzog&lt;/a&gt;&lt;/strong&gt; — Co‑Founder of Tide Foundation and one of the inventors of VoIP.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>cybersecurity</category>
      <category>webdev</category>
      <category>identity</category>
      <category>authentication</category>
    </item>
    <item>
      <title>I got 99 problems, but a breach ain’t one</title>
      <dc:creator>Tide Foundation</dc:creator>
      <pubDate>Tue, 29 Jul 2025 04:11:55 +0000</pubDate>
      <link>https://forem.com/tidefoundation/i-got-99-problems-but-a-breach-aint-one-1fm7</link>
      <guid>https://forem.com/tidefoundation/i-got-99-problems-but-a-breach-aint-one-1fm7</guid>
      <description>&lt;h2&gt;
  
  
  Ineffable Cryptography: The science behind a new era of cybersecurity
&lt;/h2&gt;

&lt;h3&gt;
  
  
  The future of security – now
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F24nbapz00ay7p8wbogjl.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F24nbapz00ay7p8wbogjl.jpg" alt=" " width="800" height="457"&gt;&lt;/a&gt;&lt;br&gt;
So far in this series, we’ve explored why today’s cybersecurity models are flawed. We’ve discussed how centralized authority is the Achilles’ heel of modern systems and how decentralizing authority, inspired by swarm intelligence, can protect against catastrophic breaches. &lt;strong&gt;But how do we make this revolutionary idea work in practice?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Enter &lt;strong&gt;Ineffable Cryptography&lt;/strong&gt; – the breakthrough that makes decentralized authority not just possible but practical, economical, scalable and performant. Think of it as the secret sauce that allows us to decouple authority from individuals, systems, and even organizations, while maintaining airtight security. It’s not just a theoretical model; it’s backed by solid mathematics and years of research, validated by experts from &lt;a href="https://www.rmit.edu.au/news/all-news/2023/nov/tide-critical-infrastrcuture" rel="noopener noreferrer"&gt;RMIT University&lt;/a&gt;, &lt;a href="https://www.deakin.edu.au/about-deakin/news-and-media-releases/articles/deakin-university-researchers-prove-tides-tech-breakthrough-into-zero-trust-cyber-security" rel="noopener noreferrer"&gt;Deakin University&lt;/a&gt;, the University of Wollongong and others.&lt;/p&gt;

&lt;p&gt;But don’t worry, we won’t dive into complex formulas. I’ll explain the concept in a way developers can appreciate – because, at its heart, Ineffable Cryptography unlocks a reality where security is seamlessly integrated into the development process, ensuring breaches are no longer a nightmare scenario. And best of all, it’s just an API call away.&lt;/p&gt;

&lt;h3&gt;
  
  
  The problem with traditional cryptography
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6a6qrt2p5exi67k0a4bo.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6a6qrt2p5exi67k0a4bo.jpg" alt=" " width="800" height="457"&gt;&lt;/a&gt;&lt;br&gt;
First, let’s revisit how &lt;strong&gt;traditional cryptography&lt;/strong&gt; works. At its core, cryptography relies on &lt;strong&gt;keys&lt;/strong&gt; to secure data – whether you’re encrypting sensitive information or signing off on important transactions. These keys are the backbone of security.&lt;/p&gt;

&lt;p&gt;Here’s the problem: those keys have to exist somewhere, and &lt;strong&gt;someone always has access to them&lt;/strong&gt;. Even in the most secure systems, keys are often stored in vaults or managed by IAM platforms. If an attacker gains access to those keys, it’s game over. Despite protections like MFA and advanced monitoring, centralized authority remains the single point attackers target.&lt;/p&gt;

&lt;h3&gt;
  
  
  Enter Ineffable Cryptography: the key no one will ever hold
&lt;/h3&gt;

&lt;p&gt;Now imagine a world where &lt;strong&gt;no one holds the keys&lt;/strong&gt; – not the admins, not the system itself, and not even the developers who built it. That’s the future made possible by Ineffable Cryptography.&lt;/p&gt;

&lt;p&gt;The core idea is deceptively simple: instead of a single entity controlling a cryptographic key, the key is &lt;strong&gt;manifested in fragments&lt;/strong&gt; across a decentralized network of nodes. Each node stores only a piece; no node can reconstruct the full key on its own. When the system needs to decrypt data, authorize permission or sign a transaction, these nodes collaborate. They never share their fragments; each performs a partial computation and returns a meaningless puzzle piece. Only when enough pieces combine does a meaningful result emerge – &lt;strong&gt;the key is everywhere and nowhere at once&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  How does it work?
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F451qbm2zm1segncudioh.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F451qbm2zm1segncudioh.jpg" alt=" " width="800" height="457"&gt;&lt;/a&gt;&lt;br&gt;
Here are the five components that make Ineffable Cryptography so powerful:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Decentralization&lt;/strong&gt; – Key fragments are distributed across independent nodes controlled by different organizations. A breach of one node doesn’t expose the key. The nodes never communicate with each other.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Threshold Cryptography&lt;/strong&gt; – Only a subset of nodes (the threshold) must participate for any operation, guaranteeing continuity during outages without sacrificing security.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero‑Knowledge Proofs&lt;/strong&gt; – Nodes prove their partial results are valid without revealing secret information, preventing malicious behavior or man‑in‑the‑middle attacks.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi‑Party Computation (MPC)&lt;/strong&gt; – Nodes work together like a single key vault, performing complex operations while keeping fragments isolated.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Edge Cryptography&lt;/strong&gt; – “Encrypted at rest” and “in transit” extends to the edge device; decrypted data only ever materializes on the legitimate user’s device.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Together, these create a security model where &lt;strong&gt;authority never sits in one place&lt;/strong&gt;. Developers can now lock sensitive data, identities and permissions with keys no one will ever hold – keys that can’t be stolen, lost or misused.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why this changes everything for developers
&lt;/h3&gt;

&lt;p&gt;Ineffable Cryptography is a game‑changer because it lifts security without lifting your headcount:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Rogue admins? No problem.&lt;/strong&gt; No single person – insider or attacker – can assemble the key.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Breaches are contained.&lt;/strong&gt; Compromising a key becomes improbable, and even then only a single record is exposed.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Continuous verification.&lt;/strong&gt; Two‑Way Zero Trust means systems continually prove their own integrity before acting, giving developers mathematical assurance that results only materialize when security is intact.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s not just about keeping hackers out; it’s about building systems that can survive a highest‑privilege breach &lt;strong&gt;without catastrophic damage&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Real‑world application: securing the future of your platform
&lt;/h3&gt;

&lt;p&gt;Imagine you’re developing a platform handling sensitive medical data. Traditionally, you’d encrypt records, rely on a key vault, and use IAM. One misconfigured permission – boom, &lt;a href="https://www.itnews.com.au/news/medibanks-data-breach-costs-anticipated-to-reach-126m-by-mid-2025-610905" rel="noopener noreferrer"&gt;mass breach&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;With Ineffable Cryptography, each record is encrypted by a different key fragmented across a global node network. Even if your infrastructure is breached, attackers must compromise multiple nodes on multiple continents just to unlock a single record. Critical‑infrastructure firms, IAM platforms, universities, password managers, algo‑trading systems and software‑supply‑chain tools are already adopting this model.&lt;/p&gt;

&lt;h3&gt;
  
  
  The endgame: trustless, secure and scalable
&lt;/h3&gt;

&lt;p&gt;Ineffable Cryptography finally delivers on the promise of Zero Trust, going further by &lt;strong&gt;removing centralized authority entirely&lt;/strong&gt;. No single point of failure. Even in a worst‑case scenario, your platform stays secure.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Tide is turning
&lt;/h3&gt;

&lt;p&gt;In this series, we dismantled cybersecurity’s Achilles’ heel – **authority * – and introduced a decentralized fabric that grows stronger with scale. Picture a world where individuals bring their own authority, share medical records securely, or track family members without risking privacy. Resistance is inevitable, just as with the cloud, but decentralizing authority is where security is heading.&lt;/p&gt;

&lt;p&gt;In Part 5, we'll bring everything together by walking through a real-world implementation, showing you exactly how to turn these concepts into actionable steps. Get ready to see how theory becomes execution, and how this approach can transform your platform's security.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The revolution has begun. Now it’s your turn to be part of it.&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Authors
&lt;/h3&gt;

&lt;p&gt;This 5‑part series outlining the worry‑free future of cybersecurity for platform developers is an adaptation of Tide Foundation Co‑Founders Michael Loewy and Yuval Hertzog's keynote at &lt;strong&gt;ACM SIGCOMM 2024&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.linkedin.com/in/michaelloewy/" rel="noopener noreferrer"&gt;Michael Loewy&lt;/a&gt;&lt;/strong&gt; — Co‑Founder of Tide Foundation and advisor to the Children's Medical Research Institute.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.linkedin.com/in/uvhertzog/" rel="noopener noreferrer"&gt;Yuval Hertzog&lt;/a&gt;&lt;/strong&gt; — Co‑Founder of Tide Foundation and one of the inventors of VoIP.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>cybersecurity</category>
      <category>cryptography</category>
      <category>web3</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How nature holds the key to cybersecurity’s future</title>
      <dc:creator>Tide Foundation</dc:creator>
      <pubDate>Tue, 29 Jul 2025 03:49:32 +0000</pubDate>
      <link>https://forem.com/tidefoundation/how-nature-holds-the-key-to-cybersecuritys-future-5695</link>
      <guid>https://forem.com/tidefoundation/how-nature-holds-the-key-to-cybersecuritys-future-5695</guid>
      <description>&lt;h2&gt;
  
  
  Nature's secret to achieving more while risking less — and how you can use it
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Lessons from nature
&lt;/h3&gt;

&lt;p&gt;Ants! Precisely what came to your mind when you thought of cybersecurity — right alongside firewalls and Identity and Access Management (IAM) systems, right? Probably not! But consider this unlikely source of inspiration for a moment. These tiny creatures may not seem like experts, but they hold the answer to one of the biggest challenges we face: managing authority.&lt;/p&gt;

&lt;p&gt;Individually, ants are simple creatures without much intelligence. They don't have grand strategies or master plans in their tiny brains. Each ant just does its job — gather food, defend the colony, build tunnels. No single ant holds the key to the colony's success, not even the queen, yet, as a collective, they achieve remarkable feats: complex underground networks, food supply chains, and even farming fungi.&lt;/p&gt;

&lt;p&gt;This decentralized approach, known as &lt;strong&gt;swarm intelligence&lt;/strong&gt;, allows the colony to thrive without relying on any one ant to keep it running. If one ant fails, it doesn't bring down the whole operation. The colony survives because no single point of failure exists to cripple it.&lt;/p&gt;

&lt;h3&gt;
  
  
  The problem with centralized authority
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fproqpgglt3lnbxpb4ojm.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fproqpgglt3lnbxpb4ojm.jpg" alt=" " width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Shifting back to cybersecurity. Today's security models, especially Zero Trust, still concentrate authority in single points — admin accounts, IAM systems, root certificates. These are the keys to the kingdom. Once an attacker breaches any of these points, it's game over for your platform.&lt;/p&gt;

&lt;p&gt;But what if we could apply &lt;strong&gt;swarm intelligence&lt;/strong&gt; to cybersecurity? Imagine a system where no one holds the keys and authority is spread across a network. No single point holds enough power to take down the entire system. Visualize a key vault that manages the keys you want to protect — and now imagine that vault broken into pieces across a network such that even if several pieces are compromised, the entire key, and therefore the system remain completely secure.&lt;/p&gt;

&lt;p&gt;Think of it like trying to launch a tactical missile that requires multiple different keys, each held by different people in different locations. Even if one key gets stolen, the missile stays locked because you still need the other keys.&lt;/p&gt;

&lt;p&gt;But if all those key holders still answered to the same authority, wouldn't this just be an overly complicated system with only a slight security boost? Exactly. If the distributed network was still controlled by a single IT team, it wouldn't solve the problem. That's why it's crucial that swarm intelligence operates in a truly decentralized way, spread across multiple independent organizations, so no one controls the network. Think of it like combining the strength of all independent ant colonies.&lt;/p&gt;

&lt;p&gt;This is the concept of &lt;strong&gt;Cyber‑Herd Immunity&lt;/strong&gt; — a cybersecurity model inspired by nature but built for the digital world.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Cyber‑Herd Immunity concept
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft7qjw69i1tf1u90un55u.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft7qjw69i1tf1u90un55u.jpg" alt=" " width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We're all painfully familiar with &lt;strong&gt;herd immunity&lt;/strong&gt; in a medical sense — thanks COVID! When enough people in a population are immune to a virus, the virus can't spread easily — protecting the entire population including those who aren't immune. The same principle can apply to cybersecurity. Instead of relying on a single system or authority to defend against attacks, we create a decentralized network of systems that protect each other.&lt;/p&gt;

&lt;p&gt;The more participants in the network, the stronger the overall defense becomes.&lt;/p&gt;

&lt;p&gt;In today's security architectures, we trust centralized systems with too much authority. Once an attacker gains control of that authority, it's like introducing a virus into a body with no immune system. The damage is immediate and widespread.&lt;/p&gt;

&lt;p&gt;But in a &lt;strong&gt;Cyber‑Herd Immunity&lt;/strong&gt; model, the authority needed to grant access and unlock sensitive data isn't held by any single entity. It's distributed across a decentralized network of nodes, much like ants distribute tasks across the colony. This decentralization protects the system, even if one part is compromised.&lt;/p&gt;

&lt;p&gt;In a decentralized security system, each node (like an ant) has limited authority — incomplete authority. No one node has enough information to unlock sensitive data or grant access on its own. For any operation to be authorized, multiple nodes must collaborate to verify and action the request.&lt;/p&gt;

&lt;h3&gt;
  
  
  Trustless authority: the key to the future
&lt;/h3&gt;

&lt;p&gt;This brings us back to the core issue we identified in &lt;a href="https://dev.to/tidefoundation/its-cybersecuritys-kryptonite-why-are-you-still-holding-it-1ll9"&gt;Part 2&lt;/a&gt;: authority. In traditional security setups, authority is concentrated in a few places — for example: admins, IAM systems, root certificates, even plain‑text configuration files. But with a decentralized, &lt;strong&gt;trustless network&lt;/strong&gt;, we remove the need to place blind trust in any one system or person.&lt;/p&gt;

&lt;p&gt;Let's say you're working on a platform storing sensitive medical data. Normally, you'd trust your IAM system to manage permissions, encryption, and authentication. But what happens if that IAM system is compromised? All the data is at risk.&lt;/p&gt;

&lt;p&gt;In a decentralized network, the authority to grant access to that medical data isn't held by a single IAM system. Instead, it's distributed across multiple nodes. Even if one part of the system is breached, the attacker can't access the data without compromising the network. This decentralization doesn't just improve security — it &lt;strong&gt;eliminates&lt;/strong&gt; the authority problem.&lt;/p&gt;

&lt;p&gt;No one holds too much power. No one has the “keys to the kingdom.” Even if an attacker breaches several layers of defense, they still won't have enough authority to cause damage.&lt;/p&gt;

&lt;h3&gt;
  
  
  How this works in practice: decentralized key vaults
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6uxqj742saaarktz5d9c.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6uxqj742saaarktz5d9c.jpg" alt=" " width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, let's put this concept into practice with &lt;strong&gt;decentralized key vaults&lt;/strong&gt;. Today, key vaults are centralized treasure chests storing encryption keys, credentials, and certificates. But these vaults are also high‑value targets. If an attacker breaches your key vault, they've essentially hit the jackpot.&lt;/p&gt;

&lt;p&gt;But what if instead of one centralized vault, we had a network of vaults, each holding a fragment of the key? No single vault contains the full key, so even if one vault is breached, the key remains secure. And because this network is decentralized, it becomes nearly impossible to compromise the entire system.&lt;/p&gt;

&lt;p&gt;Interacting with a decentralized key vault would still feel exactly like any key vault — where you'd treat it as the store of keys, authenticate to it and request it to perform cryptographic operations on the stored keys on your behalf, like decrypt a sensitive record for a particular patient — with one significant difference: you'd have a verifiable guarantee no one will ever hold the complete key at any point, so you can rest assured no breach can occur.&lt;/p&gt;

&lt;p&gt;In this decentralized model, each key is generated in fragments distributed across independent nodes. When a request is made to access data, these nodes work together, each performing a small part of the operation. No node ever holds the full key, and no single actor can misuse it. This is &lt;strong&gt;trustless authority&lt;/strong&gt; in action — security that doesn't rely on trusting any single person, system, or vendor.&lt;/p&gt;

&lt;h3&gt;
  
  
  A new era of collaboration: building the network
&lt;/h3&gt;

&lt;p&gt;Here's where it gets exciting: this decentralized model doesn't just protect &lt;strong&gt;your&lt;/strong&gt; platform — it protects &lt;strong&gt;everyone&lt;/strong&gt;. By joining a network of decentralized nodes, you contribute to the security of the entire ecosystem. It's like being part of a collective immune system that grows stronger with every antigen. The more nodes in the network, the harder it becomes for attackers to breach any single entity.&lt;/p&gt;

&lt;p&gt;This isn't just a theoretical concept — it's the future of cybersecurity. A collective of organizations collaborating to protect each other, without the need for mutual trust, decentralizing authority, and turning catastrophic breaches into relics of the past.&lt;/p&gt;

&lt;p&gt;By spreading authority across a decentralized fabric, we create a system where no one holds enough power to cause real damage, and everyone — from startups to global tech companies — can tap into the collective security benefits of the network.&lt;/p&gt;

&lt;p&gt;In Part 4, we'll dive into the technology that makes this possible: &lt;strong&gt;Ineffable Cryptography&lt;/strong&gt;. We'll break down how decentralized authority works at scale and how this mathematical breakthrough can protect your systems in ways that traditional cybersecurity measures never could. Get ready to explore the fulfillment of true Zero Trust, where everything sensitive is locked with keys no‑one will ever hold — keys no‑one can steal, lose or misuse.&lt;/p&gt;




&lt;h3&gt;
  
  
  Authors
&lt;/h3&gt;

&lt;p&gt;This 5‑part series outlining the worry‑free future of cybersecurity for platform developers is an adaptation of Tide Foundation Co‑Founders Michael Loewy and Yuval Hertzog's keynote at &lt;strong&gt;ACM SIGCOMM 2024&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.linkedin.com/in/michaelloewy/" rel="noopener noreferrer"&gt;Michael Loewy&lt;/a&gt;&lt;/strong&gt; — Co‑Founder of Tide Foundation and advisor to the Children's Medical Research Institute.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.linkedin.com/in/uvhertzog/" rel="noopener noreferrer"&gt;Yuval Hertzog&lt;/a&gt;&lt;/strong&gt; — Co‑Founder of Tide Foundation and one of the inventors of VoIP.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>cybersecurity</category>
      <category>webdev</category>
      <category>web3</category>
      <category>cryptography</category>
    </item>
    <item>
      <title>Ghost in the Network</title>
      <dc:creator>Tide Foundation</dc:creator>
      <pubDate>Wed, 04 Jun 2025 03:20:06 +0000</pubDate>
      <link>https://forem.com/tidefoundation/ghost-in-the-network-2d5e</link>
      <guid>https://forem.com/tidefoundation/ghost-in-the-network-2d5e</guid>
      <description>&lt;p&gt;&lt;strong&gt;A car engine is only supposed to start with the right key. Yet, as every heist movie shows, pry off the steering column, twist a couple of wires, and the car is yours! The rule that only the key can bring a machine to life turns out to be optional.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Corporate networks operate on the same wishful thinking. Firewalls, cloud apps, and databases are meant to stay locked until a user shows the right credentials, but attackers slip in through overlooked bugs, compromised vendors, or sloppy settings – just to name a few. The login screen feels like a steel vault door. In practice, it's drywall.&lt;/p&gt;

&lt;p&gt;Breaches are now a daily headline. One day it's a payroll platform, the next a hospital system. The details change, but not the script. A target system already holds the power it needs to function, so once an intruder finds an unintended path to the controls, they can "start the engine". Unlike a car thief who can only work one dashboard at a time, a hacker can hot-wire a thousand organizations, simultaneously. A single coding slip can – and does – trigger catastrophe.&lt;/p&gt;

&lt;p&gt;We keep piling hurdles on real users, like one-time codes, CAPTCHA riddles, fancy passkeys – while the software beneath never truly needs the user's key. It's an architectural flaw we paper over with an ever-growing constellation of security tools. Even with all these tools at our disposal, IBM's 2024 Cost of a Data Breach report pegs the average breach at $4.88 million, a 10 percent jump in a single year.&lt;/p&gt;

&lt;p&gt;The time has come to fundamentally rethink this approach. What if we could build systems where the user truly is the missing key?&lt;/p&gt;

&lt;p&gt;Imagine a car whose engine could only work with its specific driver present. The driver themselves becomes a missing puzzle piece required for this particular engine to start. Without the driver, this car is just an expensive hunk of steel that not even the manufacturer can operate. Hot-wiring the car would be futile because only the driver can complete the circuit.&lt;/p&gt;

&lt;p&gt;Recent advances in zero-knowledge cryptography make this vision achievable for digital systems. We can now treat a user like that missing puzzle piece – one that forever sits outside the system itself. When the real user shows up, the missing piece powers only the slice of data they're entitled to and vanishes when they leave. Beyond that interaction, the email platform, CRM, or AI assistant remains a harmless pile of ones and zeros.&lt;/p&gt;

&lt;p&gt;This approach flips the entire threat model. An attacker must first become the user, and even then, the damage stops at that single account. Administrators can't impersonate customers, malware can't rummage through decrypted records, and compliance shifts from promises to mathematical certainty.&lt;/p&gt;

&lt;p&gt;Security teams will still patch bugs and monitor logs, but that work becomes maintenance rather than crisis response. Software vendors that embrace this "user-as-key" architecture will become significantly harder targets, and insurers, regulators, and customers will take notice.&lt;br&gt;
The best safety upgrades seem obvious in hindsight. Platforms that require the rightful user’s presence to function will not only shed breach anxiety and liability; they cultivate the kind of trust that turns customers into advocates.&lt;/p&gt;

&lt;p&gt;Soon, any service that leaves sensitive data accessible without an authorized user present will seem as outdated as a car without seatbelts.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>identity</category>
      <category>authentication</category>
      <category>cybersecurity</category>
    </item>
    <item>
      <title>Another security patch. Another missed opportunity.</title>
      <dc:creator>Tide Foundation</dc:creator>
      <pubDate>Tue, 20 May 2025 06:17:44 +0000</pubDate>
      <link>https://forem.com/tidefoundation/another-security-patch-another-missed-opportunity-4p68</link>
      <guid>https://forem.com/tidefoundation/another-security-patch-another-missed-opportunity-4p68</guid>
      <description>&lt;p&gt;&lt;strong&gt;If a system (whether it’s a firewall, SaaS app, or database) is only supposed to work once someone has proven they’re entitled to access it (in technical terms: authenticated and authorized), why are they built today with the power to operate before that critical step?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Most systems today are built with this inherent contradiction. It means the system itself has the authority to make decisions about access without needing to verify who is asking, leaving it exposed when that authority is tricked or bypassed. This isn’t a small oversight - it’s a fundamental design flaw.&lt;/p&gt;

&lt;p&gt;Fortinet’s latest zero-day vulnerability (&lt;a href="https://cybersecuritynews.com/fortios-authentication-bypass-vulnerability/" rel="noopener noreferrer"&gt;CVE-2024–55591&lt;/a&gt;) is a fresh reminder of this problem. When a product has god-like access to the sensitive data or abilities it holds, without itself needing external permission, a single exploit can give attackers that level of access. This isn’t a problem that can be fixed by just “patching faster.” It requires a fundamental rethink of how these systems handle authority to begin with.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem we keep bandaging over
&lt;/h2&gt;

&lt;p&gt;Every year, we see the same kinds of vulnerabilities hit the headlines. Last November, researchers discovered a &lt;a href="https://www.tenable.com/blog/cve-2024-55591-fortinet-authentication-bypass-zero-day-vulnerability-exploited-in-the-wild" rel="noopener noreferrer"&gt;new flaw&lt;/a&gt; in FortiOS/FortiProxy that allowed attackers to slip straight into the management GUI without presenting a single credential. The patch landed in January 2025 — after the damage was already done. Just this month, another vulnerability (&lt;a href="https://www.fortiguard.com/psirt/FG-IR-24-472" rel="noopener noreferrer"&gt;CVE-2025–22252&lt;/a&gt;) was found that allowed a particular legitimate mode to skip authentication altogether and log in as an admin.&lt;/p&gt;

&lt;p&gt;These aren’t isolated incidents, and it’s not limited to Fortinet.&lt;/p&gt;

&lt;h2&gt;
  
  
  A history of band-aids
&lt;/h2&gt;

&lt;p&gt;While each entry point or exploit is different, they all take advantage of the same fundamental flaw: once you’re inside the box, you’ve got everything you need to cause damage.&lt;/p&gt;

&lt;p&gt;Feel free to skip the boring stuff, but here’s a sample of Fortinet’s history of these “login-optional” bugs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;2024–21762 — SSL-VPN out-of-bounds write lets attackers run code pre-auth&lt;/li&gt;
&lt;li&gt;2023–27997 (“XORtigate”) — Heap overflow, again pre-auth on SSL-VPN&lt;/li&gt;
&lt;li&gt;2022–40684 — Bypass the admin API, create your own super-admin&lt;/li&gt;
&lt;li&gt;2020–12812 — Change username case to dodge FortiToken 2FA&lt;/li&gt;
&lt;li&gt;2018–13379 — Path-traversal that leaks raw VPN session files and passwords&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Shooting ourselves in the foot
&lt;/h2&gt;

&lt;p&gt;This design approach breaks two fundamental security principles we claim to live by:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;a href="https://csrc.nist.gov/pubs/sp/800/207/final" rel="noopener noreferrer"&gt;Zero Trust&lt;/a&gt;: “No asset is implicitly trusted” (NIST SP 800–207)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://csrc.nist.gov/glossary/term/least_privilege" rel="noopener noreferrer"&gt;Least Privilege&lt;/a&gt;: Every component should get only the power it absolutely needs&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Yet, in practice, we keep building systems with total, unverified power because “that’s how it’s always worked.”&lt;/p&gt;

&lt;h2&gt;
  
  
  A better model
&lt;/h2&gt;

&lt;p&gt;Instead of designing systems as all-knowing, all-powerful gatekeepers that poorly dispense the explicit access they have over sensitive data, what if the systems themselves lacked that god-like access entirely? What if only through the act of a user successfully authenticating could the system gain the authority to access sensitive data or operations?&lt;/p&gt;

&lt;p&gt;It’s like a circuit that only completes when a user logs in. Without that signal, the system can store data, but it can’t act on it. Once the user session is gone, so too is the system’s ability to operate. If the code inside the system is tricked or compromised, the authority over sensitive data is nowhere to be found.&lt;/p&gt;

&lt;p&gt;This act of “&lt;a href="https://tide.org/blog/cybersecuritys-kryptonite-decoupling-authority" rel="noopener noreferrer"&gt;Decoupling authority&lt;/a&gt;” keeps an indispensable piece outside the blast-radius, and only lends it when the user authentically connects.&lt;/p&gt;

&lt;h2&gt;
  
  
  Moving from “access control” to “authority control”
&lt;/h2&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;h2&gt;
  
  
  A way forward
&lt;/h2&gt;

&lt;p&gt;The next patch will come, and another critical vulnerability will follow. To break the cycle, we need to change the way these systems are built, so they literally cannot grant themselves access until someone authenticates. Shift from “access control” to “authority control.” If we do that, there’s nothing stopping us from moving fast because the inevitable breach leaves nothing for an attacker to find.&lt;/p&gt;

&lt;p&gt;Original post - &lt;a href="https://tide.org/blog/cve-patching" rel="noopener noreferrer"&gt;here&amp;gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>cybersecurity</category>
      <category>devops</category>
    </item>
    <item>
      <title>Reimagining Cybersecurity for Developers</title>
      <dc:creator>Tide Foundation</dc:creator>
      <pubDate>Mon, 03 Feb 2025 07:25:02 +0000</pubDate>
      <link>https://forem.com/tidefoundation/reimagining-cybersecurity-for-developers-2d5h</link>
      <guid>https://forem.com/tidefoundation/reimagining-cybersecurity-for-developers-2d5h</guid>
      <description>&lt;p&gt;&lt;strong&gt;Because you shouldn't have to be a security expert—and let's face it, the “experts” aren’t stopping breaches anyway.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It’s 2025, and breaches still dominate the headlines. Despite an endless array of security tools —and billions spent on security—we’re stuck in perpetual whack-a-mole, forever patching yesterday’s vulnerabilities and bracing for the one we missed.&lt;/p&gt;

&lt;p&gt;In this post, we accept the inevitability of the breach and explore a new security model—one that ensures the authority allowing unchecked access to sensitive data or operations remains out of anyone’s hands. Yours included! If you’re the hands-on type, check out the &lt;a href="https://github.com/tide-foundation/tidecloak-gettingstarted" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. The Fundamental Problem: A Single Authority Over Everything
&lt;/h2&gt;

&lt;p&gt;Nearly every platform places absolute authority over secrets, credentials, and user data in a singular centralized system. Sure, we encrypt, hash, or vault them. But from a hacker’s perspective, there’s still just one “god-mode” repository waiting to be plundered.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Single-Point-of-Failure&lt;/strong&gt;: If an attacker grabs the one set of master credentials—or subverts the singular authority controlling them—everything is compromised.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Privilege Reliance&lt;/strong&gt;: Even if only a handful of admins have top-level access, each single member essentially holds the keys to the kingdom.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So long as one authority has the final say over user data and credentials, we’re playing breach roulette. We may harden the perimeter, but the jackpot for attackers remains tantalizingly large.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. The Kryptonite We Won’t Let Go Of
&lt;/h2&gt;

&lt;p&gt;The singular-authority model is cybersecurity’s “kryptonite.” By concentrating the power to unlock data in one place, we’re essentially handing attackers a key to the treasure chest.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Credential Vaults Are Still Centralized&lt;/strong&gt;: Even the best vault solutions maintain a single authority over keys.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Complex Tool Stacks&lt;/strong&gt;: Every additional security layer can introduce new vulnerabilities or friction for developers. Their highly trusted nature has been used to expose us.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Under One Roof&lt;/strong&gt;: When user data and the means to decrypt it coexist in the same environment or with the same people, a breach can unravel everything.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We keep reinforcing walls around this Kryptonite, instead of questioning why we’re holding it in the first place.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. How Nature Points the Way
&lt;/h2&gt;

&lt;p&gt;Swarm Intelligence, found in various systems in nature, demonstrates a model where no single entity wields absolute authority—and that makes entire systems remarkably resilient.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Distributed Responsibility&lt;/strong&gt;: In ant colonies or immune systems, the “knowledge” and “power” are spread out, making it nearly impossible to topple the entire system at once.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local Defenses&lt;/strong&gt;: Threats spark localized responses. No single bottleneck can bring everything down.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Organic Scalability&lt;/strong&gt;: These natural structures can grow to massive sizes without creating critical single points of vulnerability or failure.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When authority is decentralized—split across multiple participants—no single compromise can imperil the whole. It’s a blueprint for security that’s fundamentally different from the fortress-and-moat approach.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. “Got 99 Problems, But a Breach Ain’t One”
&lt;/h2&gt;

&lt;p&gt;Our work at Tide Foundation is translating these ideas into a working model for distributed trust that makes developers’ lives easier:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Decentralized Key Generation and operations&lt;/strong&gt;: Credentials (or encryption keys) are generated and stored in “shards” across multiple independent nodes. Nodes perform key actions as a swarm—no one node ever “knows” the entire key. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No Single Authority&lt;/strong&gt;: Even if few nodes are compromised, it doesn’t hold all the credentials, and it doesn’t have unilateral power.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Developer-Friendly Integration&lt;/strong&gt;: By providing straightforward APIs and libraries, developers offload the heavy cryptographic lifting without sacrificing user experience.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cutting-edge cryptographic methods (like Threshold Signatures and Multi-Party-Computation) let us ditch the single-authority approach. Instead, each piece of the puzzle is worthless by itself, drastically reducing the incentive and feasibility of a mass breach—enabling developers to build rapidly, and fearlessly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final thoughts
&lt;/h2&gt;

&lt;p&gt;It may sounds like a radical shift in thinking, but so was the concept of the—now ubiquitous—cloud computing. Besides, what have we got to lose other than liability?&lt;/p&gt;

&lt;p&gt;Check out the &lt;a href="https://tide.org/blog/rethinking-cybersecurity-for-developers" rel="noopener noreferrer"&gt;multi-part series&lt;/a&gt; for the full deep dive, and &lt;a href="https://github.com/tide-foundation/tidecloak-gettingstarted" rel="noopener noreferrer"&gt;how-to guide&lt;/a&gt; when you’re ready to check how all this works under the hood.&lt;/p&gt;

&lt;p&gt;Breaches might be inevitable, but the damage doesn’t have to be.&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>identity</category>
      <category>decentralization</category>
      <category>authentication</category>
    </item>
    <item>
      <title>It’s cybersecurity’s kryptonite: Why are you still holding it?</title>
      <dc:creator>Tide Foundation</dc:creator>
      <pubDate>Thu, 12 Dec 2024 05:48:23 +0000</pubDate>
      <link>https://forem.com/tidefoundation/its-cybersecuritys-kryptonite-why-are-you-still-holding-it-1ll9</link>
      <guid>https://forem.com/tidefoundation/its-cybersecuritys-kryptonite-why-are-you-still-holding-it-1ll9</guid>
      <description>&lt;h2&gt;
  
  
  Decoupling authority, so a breach leaves nothing for hackers to find.
&lt;/h2&gt;

&lt;h2&gt;
  
  
  The real culprit: authority
&lt;/h2&gt;

&lt;p&gt;In &lt;a href="https://dev.to/tidefoundation/part-1-its-time-for-platform-developers-to-rethink-cybersecurity-1m0h"&gt;Part 1&lt;/a&gt;, we explored how trust isn’t the core issue in cybersecurity — it’s authority and the way we’re resigned to trusting someone or something with it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Authority&lt;/strong&gt;, in the digital world, is the power to grant access, approve actions, or enforce rules within a system. It’s what lets someone — or something — open the door to sensitive data, change configurations, or allow an operation to run. Whether it’s an admin with elevated privileges, an IAM system managing permissions, or a cryptographic key that decrypts sensitive data, authority is the ultimate gatekeeper.&lt;/p&gt;

&lt;p&gt;Even in systems with comprehensive Zero Trust architectures, we still rely on centralized points of authority, making them prime targets for hackers. If you’re a developer, you’ve likely heard the saying, “A breach isn’t a matter of if, but when.” It could be from something as minor as a &lt;a href="https://www.miggo.io/resources/uncovering-auth-vulnerability-in-aws-alb-albeast" rel="noopener noreferrer"&gt;misconfigured&lt;/a&gt; setting in your cloud infrastructure, a compromised &lt;a href="https://www.theregister.com/2023/12/11/log4j_vulnerabilities/%20rel=" rel="noopener noreferrer"&gt;component&lt;/a&gt; in your software stack, a phishing attack on an administrator, or a sophisticated &lt;a href="https://cybersecuritynews.com/0-0-0-0-day/%20rel=" rel="noopener noreferrer"&gt;zero day&lt;/a&gt; vulnerability exploited by state actors — Just to name a few.&lt;/p&gt;

&lt;p&gt;The losing game of whack-a-mole that is cybersecurity, means that as long as authority exists somewhere in the system, when it’s exposed, it can bring down even the most secure platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  “Respect my authoritah!”
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwueu9qcovjb0lmjeypdg.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwueu9qcovjb0lmjeypdg.jpg" alt=" " width="800" height="341"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As platform developers, you probably don’t wake up worrying about authority. But authority is at the heart of many of the security challenges we face today, and we’re doing a terrible job of managing it.&lt;/p&gt;

&lt;p&gt;To understand it, consider this famous myth of the Middle Ages: Chastity belts! Knights heading off to the Crusades didn’t trust their wives to stay faithful, so, these contraptions gave them the guarantee that by holding its key, they’re wielding the ultimate authority. No trust needed!&lt;/p&gt;

&lt;p&gt;Fast forward to today: you pull up to a Michelin-star restaurant in your brand-new Ferrari. You apprehensively hand your keys to the valet, thinking &lt;a href="https://youtu.be/c0_rKOlzVuY?feature=shared&amp;amp;t=77" rel="noopener noreferrer"&gt;what you’d do&lt;/a&gt; with that car if the situation was reversed. But thanks to valet protection mode, you’ve throttled the speed and range, stripping away their authority to do anything more than park your car — no joyrides today!&lt;/p&gt;

&lt;p&gt;In both cases, authority defines the level of trust required. The knight didn’t need to trust anyone because he held the key. You don’t need to trust the valet once their ability to misuse your car is removed. By stripping away authority, you also remove the risk.&lt;/p&gt;

&lt;p&gt;Now let’s jump to a more common scenario: picking up prescription meds. You get a prescription from your doctor (an authorization), and the pharmacist checks it and your ID before handing over the medication (authentication). But who really holds the power here? It’s not the doctor — it’s the pharmacist. They have the key to the medicine cabinet, and if someone else — say, their delinquent 16-year-old kid — gets that key, they become the king of the cabinet (and probably the most popular kid in school). It doesn’t matter what the doctor says; that kid now has the real, explicit authority.&lt;/p&gt;

&lt;h2&gt;
  
  
  Implied vs. Explicit authority
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6fmkuc39d0y9pmqomonq.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6fmkuc39d0y9pmqomonq.jpg" alt=" " width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This distinction between &lt;strong&gt;implied&lt;/strong&gt; authority (the doctor’s prescription) and &lt;strong&gt;explicit&lt;/strong&gt; authority (the person holding the keys) is crucial to understanding why cybersecurity often fails. In modern systems, we assume that those in charge of issuing credentials, managing permissions, or maintaining admin privileges are the ultimate authority, but those are merely agents of &lt;strong&gt;implied authority&lt;/strong&gt;. Something down the line with the &lt;strong&gt;explicit authority&lt;/strong&gt; will need to render judgement after checking those permissions to either honor it or not. Let’s say you’ve got an Identity and Access Management (IAM) system like Microsoft Entra or Okta. Great! You’ve implemented role-based access control (RBAC), multi-factor authentication (MFA), and anomaly detection. But at the end of the day, the IAM still holds &lt;strong&gt;god-like power&lt;/strong&gt; over the system. A misstep by an admin, a compromised credential, or a malicious insider will render all your security measures useless.&lt;/p&gt;

&lt;p&gt;In reality, &lt;strong&gt;explicit authority&lt;/strong&gt; — the power to open a file or present sensitive content — is often scattered across the system, hidden in plain sight, waiting helplessly for a hacker (or insider) to exploit the implicit authority providing the directives.&lt;/p&gt;

&lt;p&gt;In today’s systems, authority always sits somewhere, on something, with &lt;strong&gt;someone&lt;/strong&gt; controlling it. This is where the real threat lies.&lt;/p&gt;

&lt;p&gt;I specifically used an example with a 16-year-old kid in my pharmacist analogy earlier to take you to my next point. In 2021, some of the biggest, most secure and well-resourced technology companies in the world were rocked by devastating cyber breaches. Losing some of their most valuable IP to a ransomware gang led by just such a 16-year-old &lt;a href="https://thehackernews.com/2022/03/researchers-trace-lapsus-cyber-attacks.html" rel="noopener noreferrer"&gt;living with his mom&lt;/a&gt;. He didn’t use fancy technology or advanced hacking skills. Instead, he went straight for the sources of authority. He simply bought access credentials from employees that willingly handed it over. All that was needed to steal the crown jewels was the access rights of a sufficiently privileged employee — and it was game over for cybersecurity.&lt;/p&gt;

&lt;p&gt;This threat of authority abuse is a fundamental flaw that undermines every digital platform, no matter how secure it appears.&lt;/p&gt;

&lt;h2&gt;
  
  
  The fatal flaw of authority in Zero Trust today
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flzg602wmk5aw5h00flb2.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flzg602wmk5aw5h00flb2.jpg" alt=" " width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Zero Trust aims to mitigate risk with the mantra, “Never trust, always verify.” But let’s be honest, our best implementation of this approach is more like “Never trust anyone or anything (except if it’s us or our things).” The problem? We still &lt;strong&gt;blindly trust&lt;/strong&gt; the systems responsible for upholding Zero Trust principles, the IAM system that manages access, or the root certificates that authorize users — these elements hold immense power. Once compromised, all bets are off.&lt;/p&gt;

&lt;p&gt;It’s like handing your car to a valet with valet protection mode on, feeling secure — until the valet’s buddy at Mercedes tech support disables it remotely and goes full Ferris Bueller on your car. If that trust is misplaced, it doesn’t matter how strong your security measures are — all unravels once authority is compromised.&lt;/p&gt;

&lt;p&gt;We’ve essentially concentrated trust into the very systems that are supposed to be trustless. If breaches are ‘a matter of when, not if,’ why doesn’t that apply to the core systems we now trust to protect us? The answer is probably because there were just no other alternatives. Until now.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ensuring security isn’t your problem
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff9vbphxxwjr3wvz2p06p.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff9vbphxxwjr3wvz2p06p.jpg" alt=" " width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let’s visualize the worry-free future you need. You’re a developer, not a security analyst. You should develop tech, build platforms, and deliver features. You shouldn’t have to worry about rogue admins or compromised IAMs. You shouldn’t lose sleep over the possibility that a dodgy line of code or a phishing email could see you featured in TechCrunch for all the wrong reasons.&lt;/p&gt;

&lt;p&gt;Even if your platform gets breached, no one should be able to access critical data because no one — not your IAM system, not your vendors, not even you — should hold the ultimate authority to unlock it. Attackers might break through every layer of the Zero Trust stack, but it won’t matter because there’s no single point of failure.&lt;/p&gt;

&lt;p&gt;This is the utopia we’re after: a world where developers focus on building without the burden of overhanded DevSecOps and technical debt, and without constantly worrying about how secure every single system is. A world where compliance with regulations like GDPR shifts from a box-ticking exercise into a built-in feature of the architecture. And it starts with decoupling authority from the systems and people who currently wield it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Evolution needs a leap: beyond physical security
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjho04dartkcun88cuelm.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjho04dartkcun88cuelm.jpg" alt=" " width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Right now, we treat digital security like it’s just an extension of physical security — a blueprint naturally evolving over the past 300,000 years. We build walls (firewalls), install surveillance (monitoring systems), and place guards (IAMs). But here’s the thing — digital systems aren’t bound by the same constraints as physical ones. In the physical world, someone has to hold the keys. In the digital world, they don’t.&lt;/p&gt;

&lt;p&gt;The solution to our authority problem isn’t to shift trust around or to build better IAM systems. It’s to &lt;strong&gt;rethink how we handle authority entirely&lt;/strong&gt;. We need a system where no single person or entity has the power to abuse authority because no one ever fully holds it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Decoupling authority: a glimpse into the future
&lt;/h2&gt;

&lt;p&gt;So, where do we put this authority once we’ve decoupled it from systems and admins? How do we remove the need to blindly trust anyone or anything?&lt;/p&gt;

&lt;p&gt;This is where things get exciting. In Part 3, we’ll dive into a concept inspired by nature itself: &lt;strong&gt;Swarm Intelligence&lt;/strong&gt;. Think of ants. Individually they’re basic creatures performing menial jobs. Squash any one and it poses no threat to the colony. But as a colony, they achieve incredible feats. Applying this same concept by decentralizing authority can provide a new model for cybersecurity.&lt;/p&gt;

&lt;p&gt;Next, we’ll explore how a network of organizations can protect each other, much like a colony of ants or a swarm of bees. Get ready for the future of security — where &lt;strong&gt;authority is out of everyone’s reach&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Original op-ed published &lt;a href="https://tide.org/blog/cybersecuritys-kryptonite-decoupling-authority" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Authors:
&lt;/h2&gt;

&lt;p&gt;This 5-part series outlining the worry-free future of cybersecurity for platform developers is an adaptation of Tide Foundation Co-Founders Michael Loewy and Yuval Hertzog’s keynote at ACM SIGCOMM 2024&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/michaelloewy/" rel="noopener noreferrer"&gt;Michael Loewy&lt;/a&gt; is a Co-Founder of &lt;a href="https://tide.org/" rel="noopener noreferrer"&gt;Tide Foundation&lt;/a&gt; and serves on the advisory board of the Children’s Medical Research Institute.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/uvhertzog/" rel="noopener noreferrer"&gt;Yuval Hertzog&lt;/a&gt; is a Co-Founder of &lt;a href="https://tide.org/" rel="noopener noreferrer"&gt;Tide Foundation&lt;/a&gt; and one of the inventors of VoIP.&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>devops</category>
      <category>privacy</category>
      <category>identity</category>
    </item>
    <item>
      <title>Reimagining cybersecurity for developers</title>
      <dc:creator>Tide Foundation</dc:creator>
      <pubDate>Tue, 19 Nov 2024 04:24:27 +0000</pubDate>
      <link>https://forem.com/tidefoundation/part-1-its-time-for-platform-developers-to-rethink-cybersecurity-1m0h</link>
      <guid>https://forem.com/tidefoundation/part-1-its-time-for-platform-developers-to-rethink-cybersecurity-1m0h</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR:
&lt;/h2&gt;

&lt;p&gt;Despite advances like “The Zero Trust Model”, cybersecurity is still fundamentally broken, as repeatedly proven by the increasing breaches in the largest, most secured companies in the world. This series unveils an entirely different approach, made possible by a breakthrough in cryptography, that allows developers, like you, to stop worrying about the next vulnerability by locking systems with keys no-one will ever hold—Keys that are impervious to theft, loss, or misuse. This series demonstrates how the introduction of herd-immunity principles to cybersecurity removes today's inescapable need to blindly trust people, brands and processes. This new approach not only promises to redefine cybersecurity, but empowers you to innovate without fear of the inevitable breach. Try it &lt;a href="https://tide.org/blog/future-proofing-your-platform" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Every developer’s nightmare
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fci1u339tn9hh57hsstvy.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fci1u339tn9hh57hsstvy.jpg" alt="Every developer’s nightmare" width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You want to build something new, create awesome digital experiences, not to spend your nights worrying about security breaches. Yet here you are, staring at your screen, wondering if that last rushed feature commit opened the floodgates to a data breach. Remember when a single sketchy update nearly broke half the internet? Nobody wants to be &lt;a href="https://www.pcmag.com/news/crowdstrike-exec-shows-up-to-accept-most-epic-fail-award-in-person" rel="noopener noreferrer"&gt;that developer&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In today’s fast-paced world, security isn’t someone else’s problem. It’s a target painted directly &lt;a href="https://www.theverge.com/2023/2/28/23618353/lastpass-security-breach-disclosure-password-vault-encryption-update" rel="noopener noreferrer"&gt;on you&lt;/a&gt;. Cross-site scripting, SQL injections, session hijacking… Every line of code is a potential entry point for hackers, and every decision could lead to disaster. And it doesn’t even have to be your code – but a vulnerable 3rd party package you use!&lt;/p&gt;

&lt;h2&gt;
  
  
  Zero Trust: a false sense of security?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fulcyqhp5pagf7z5fu5on.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fulcyqhp5pagf7z5fu5on.jpg" alt="Zero Trust: a false sense of security?" width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Zero Trust model is hailed as the savior of modern cybersecurity. If you’ve spent any time in security meetings or reading up on best practices, you’ve heard of it. It operates on the principle of “Never trust, always verify,” promising to secure platforms by treating everything interacting with your system as a potential threat. On paper, it’s brilliant—the default response to any access request is to grant "zero trust." Then, with appropriate and ongoing validation, the model allows for least-privilege access—giving users and systems only the permissions they need to perform their tasks. Think of it like installing a card reader on every door in your office, from the boardroom to the bathroom, not just the entrance.&lt;/p&gt;

&lt;p&gt;Yet, if Zero Trust is the answer, why are we still seeing massive breaches? Despite over $300 billion poured into cybersecurity, breaches caused over $10 trillion in damage last year. Clearly, something isn’t working.&lt;/p&gt;

&lt;p&gt;Here’s the kicker: &lt;strong&gt;Zero Trust solutions, in their current form, don’t eliminate the need for trust&lt;/strong&gt;, they just shift it around. Sure, you’re not implicitly trusting the devices or identities interacting with your platform anymore, but now you’re putting blind faith in the very systems that manage that trust—your Identity &amp;amp; Access Management (IAM) system, your antivirus, your monitoring tools—and the people that administer them. It’s like locking every door in your house but leaving all the keys with a minimum-wage guard.&lt;/p&gt;

&lt;p&gt;You’ve verified access and enforced least privilege—great! But what happens when the system responsible for issuing these permissions is compromised? Who verifies them? Right now, no one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who’s watching the watchers?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fub5qw8wa6l4mf8036ssc.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fub5qw8wa6l4mf8036ssc.jpg" alt="Who’s watching the watchers?" width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The naming of “Zero Trust” is rooted in the base assumption that anything connecting with your platform is afforded no trust, by default. Unfortunately, it’s been obnoxiously slapped onto the packaging of most major cybersecurity products promising “zero” trust, but in reality, we blindly trust those systems enforcing it, with god-like powers. Whether it’s your IAM system, end-point security, or anomaly detection tools, they’re treated as infallible. But what if they’re compromised?&lt;/p&gt;

&lt;p&gt;Have you ever checked if your antivirus is doing more harm than good? Can you even verify if the systems you rely on haven’t already been breached? No matter how sophisticated, no system is foolproof—&lt;a href="https://techcrunch.com/2023/07/17/microsoft-lost-keys-government-hacked/" rel="noopener noreferrer"&gt;When these particular systems fall&lt;/a&gt;, the entire house of cards collapses.&lt;/p&gt;

&lt;p&gt;Attackers know this, and they’re going after the systems we depend on—our &lt;a href="https://www.npr.org/2021/04/16/985439655/a-worst-nightmare-cyberattack-the-untold-story-of-the-solarwinds-hack" rel="noopener noreferrer"&gt;supply chains&lt;/a&gt;, our tools, even the very &lt;a href="https://siliconangle.com/2024/07/01/qualys-warns-openssh-vulnerability-researchers-calling-extremely-dangerous/" rel="noopener noreferrer"&gt;security measures&lt;/a&gt; we’ve put in place to stop them. The result? Breaches are causing damage on an unprecedented scale.&lt;/p&gt;

&lt;h2&gt;
  
  
  The trust problem isn’t what you think
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fer43d8e6x6v5dk3haey4.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fer43d8e6x6v5dk3haey4.jpg" alt="The trust problem isn’t what you think" width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There are many ways to maximize trust—like improving communications, proving follow-through, and demonstrating accountability—however, even at its top levels, trust is still a form of blind faith. Being such an intangible construct, trust isn’t some parameter you can fine-tune, install or fabricate. Therefore, to remove the need for trust altogether, we must focus on &lt;strong&gt;what&lt;/strong&gt; we’re trusting—&lt;strong&gt;authority&lt;/strong&gt;. A breach of trust becomes problematic only when authority is exploited or abused. In other words: if we remove all authority from something, it no longer requires any trust. It is then &lt;strong&gt;guaranteed&lt;/strong&gt; to be completely safe.&lt;/p&gt;

&lt;p&gt;Authority is what gives the power to make important decisions, like granting access to data. Hackers don’t need to break through every layer of security—they just need to compromise the authority that controls it. Whether it’s a rogue admin, a misconfigured server, or a hacked vendor, once authority is abused, your platform is left vulnerable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Authority is the Achilles’ heel of cybersecurity.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The Zero Trust model aims to remove the need for trust, but today it still relies on systems that wield &lt;strong&gt;unchecked authority&lt;/strong&gt;. Trust in these systems is required because we can’t independently verify what’s happening behind the scenes. The IAM, identifying a user as a super-admin, is hopefully doing so correctly all the time, but how could you know?&lt;/p&gt;

&lt;p&gt;But what if we could remove that authority entirely? What if no single person, system, or entity was trusted with enough power to compromise your platform?&lt;/p&gt;

&lt;h2&gt;
  
  
  Enter Two-Way Zero Trust
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj43lbsl2w4w498kogldt.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj43lbsl2w4w498kogldt.jpg" alt="Enter Two-Way Zero Trust" width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let me introduce you to a new concept: &lt;strong&gt;Two-Way Zero Trust&lt;/strong&gt;. Imagine a world where you don’t just verify &lt;strong&gt;everything&lt;/strong&gt; interacting with your system, but where the system itself is continuously verified—by you and others interacting with it. In this model, no single entity holds unchecked authority. Instead, authority is decoupled from any one person or system and distributed.&lt;/p&gt;

&lt;p&gt;Think of it as upgrading Zero Trust’s mantra of “Never trust, always verify” and applying it to everything, including the system itself. Imagine every time your IAM granted a user admin privilege to your platform, you had an instant guarantee it was issued correctly. It’s like building a security fortress where even the guards are under constant verification. And the best part? &lt;strong&gt;Even if someone breaches the system, they can’t access sensitive data&lt;/strong&gt; because the authority to unlock it lives outside the system entirely.&lt;/p&gt;

&lt;p&gt;Whether you’re a startup founder or a market leading platform, implementing Two-Way Zero Trust means you can finally sleep at night without worrying about being the weak link in a security chain. Even in the worst-case scenario, your platform stays protected because no one holds the “keys to the kingdom” —shielding you from potential legal liabilities and preserving customer trust. You could rest assured that encrypted data can only be decrypted to correctly-verified users or that write-permission can only be given to those approved of it. For some, this could mean avoiding the kind of catastrophic breach that may spell the &lt;a href="https://www.itnews.com.au/news/medisecure-calls-in-administrators-after-cyber-breach-608580" rel="noopener noreferrer"&gt;end of the company&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where do we go from here?
&lt;/h2&gt;

&lt;p&gt;So, what’s next? We’ve identified the real problem: &lt;strong&gt;authority&lt;/strong&gt;. Now, the challenge is figuring out how to remove it from the systems and people managing it. It’s not about abstract trust—it’s about ensuring that no one holds enough power to cause catastrophic damage, even if they’re compromised.&lt;/p&gt;

&lt;p&gt;In the next part of this series, we’ll dive deeper into the vulnerabilities around authority and explore how it’s managed today. More importantly, we’ll look at how we can strip authority away, ensuring that no one has unchecked control.&lt;/p&gt;

&lt;p&gt;And we’re not just going to shift the burden into another box you’ll have to, well, trust. Instead, I’ll introduce a radically different approach to managing authority—one that could fundamentally reshape how we think about cybersecurity, privacy, and digital ownership.&lt;/p&gt;

&lt;p&gt;Trust me. But don’t! &lt;strong&gt;Verify&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Original op-ed published &lt;a href="https://tide.org/blog/rethinking-cybersecurity-for-developers" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Authors:
&lt;/h2&gt;

&lt;p&gt;This 5-part series outlining the worry-free future of cybersecurity for platform developers is an adaptation of Tide Foundation Co-Founders Michael Loewy and Yuval Hertzog’s keynote at ACM SIGCOMM 2024&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/michaelloewy/" rel="noopener noreferrer"&gt;Michael Loewy&lt;/a&gt; is a Co-Founder of &lt;a href="https://tide.org/" rel="noopener noreferrer"&gt;Tide Foundation&lt;/a&gt; and serves on the advisory board of the Children’s Medical Research Institute.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/uvhertzog/" rel="noopener noreferrer"&gt;Yuval Hertzog&lt;/a&gt; is a Co-Founder of &lt;a href="https://tide.org/" rel="noopener noreferrer"&gt;Tide Foundation&lt;/a&gt; and one of the inventors of VoIP.&lt;/p&gt;

</description>
      <category>security</category>
      <category>opensource</category>
      <category>devsecops</category>
      <category>cybersecurity</category>
    </item>
  </channel>
</rss>
