<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ivan</title>
    <description>The latest articles on DEV Community by Ivan (@system_arch_ivan).</description>
    <link>https://dev.to/system_arch_ivan</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%2F3875241%2F952df2e5-a9e3-479c-8834-418e7f6b6ad2.png</url>
      <title>DEV Community: Ivan</title>
      <link>https://dev.to/system_arch_ivan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/system_arch_ivan"/>
    <language>en</language>
    <item>
      <title>Why 2FA Doesn’t Actually Protect You From Being Hacked</title>
      <dc:creator>Ivan</dc:creator>
      <pubDate>Tue, 21 Apr 2026 17:30:40 +0000</pubDate>
      <link>https://dev.to/system_arch_ivan/why-2fa-doesnt-actually-protect-you-from-being-hacked-1987</link>
      <guid>https://dev.to/system_arch_ivan/why-2fa-doesnt-actually-protect-you-from-being-hacked-1987</guid>
      <description>&lt;p&gt;Two-Factor Authentication (2FA) is often treated as a silver bullet.&lt;br&gt;
“Enable 2FA and you’re safe.”&lt;br&gt;
That’s a dangerous assumption.&lt;/p&gt;

&lt;p&gt;2FA improves security, but it does not eliminate the real attack surface — which is still you and your device.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Phishing Still Wins&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Modern phishing isn’t about stealing passwords later — it’s real-time.&lt;/p&gt;

&lt;p&gt;Flow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Fake website (pixel-perfect copy)&lt;/li&gt;
&lt;li&gt;You enter login/password&lt;/li&gt;
&lt;li&gt;You enter 2FA code&lt;/li&gt;
&lt;li&gt;Attacker instantly logs in&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;No brute force. No hacking.&lt;/p&gt;

&lt;p&gt;You just handed over everything.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. MITM Attacks: You Don’t Even Notice&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With reverse proxy tools, attackers act as a middle layer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You see the real site&lt;/li&gt;
&lt;li&gt;You interact normally&lt;/li&gt;
&lt;li&gt;Your session gets intercepted&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once attacker gets your session cookie:&lt;/p&gt;

&lt;p&gt;2FA is no longer needed at all&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Compromised Device = Broken Security&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If your system is infected:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OTP codes can be intercepted&lt;/li&gt;
&lt;li&gt;Clipboard is monitored&lt;/li&gt;
&lt;li&gt;Sessions are stolen&lt;/li&gt;
&lt;li&gt;Browser is hooked&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At this point:&lt;/p&gt;

&lt;p&gt;2FA becomes just a checkbox&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So Why Do We Still Use 2FA?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Because it protects against:&lt;/p&gt;

&lt;p&gt;✔ Credential leaks&lt;br&gt;
✔ Database breaches&lt;br&gt;
✔ Weak passwords&lt;/p&gt;

&lt;p&gt;But it does NOT protect against:&lt;/p&gt;

&lt;p&gt;✖ Phishing&lt;br&gt;
✖ MITM&lt;br&gt;
✖ Malware&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Actually Works Better&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Real-world security comes from reducing trust assumptions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unique passwords everywhere&lt;/li&gt;
&lt;li&gt;Domain-aware autofill&lt;/li&gt;
&lt;li&gt;Isolation of secrets&lt;/li&gt;
&lt;li&gt;minimize manual input&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Where Lockly Changes the Game&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Most tools treat 2FA as “the second step”.&lt;/p&gt;

&lt;p&gt;But the real problem is earlier — how credentials are handled.&lt;/p&gt;

&lt;p&gt;With Lockly (&lt;a href="https://lockly.at):" rel="noopener noreferrer"&gt;https://lockly.at):&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Autofill works only on correct domains → phishing resistance&lt;/li&gt;
&lt;li&gt;Credentials are isolated → no reuse&lt;/li&gt;
&lt;li&gt;2FA secrets can be stored alongside passwords&lt;/li&gt;
&lt;li&gt;Less manual input → less chance to leak data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is not “add more steps”&lt;br&gt;
The goal is “remove human mistakes”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final Thought&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;2FA is not useless.&lt;/p&gt;

&lt;p&gt;But it’s also not what people think it is.&lt;/p&gt;

&lt;p&gt;Security doesn’t fail at encryption.&lt;br&gt;
It fails at interaction.&lt;/p&gt;

&lt;p&gt;And fixing that layer is where tools like Lockly actually matter.&lt;/p&gt;

</description>
      <category>security</category>
      <category>passwords</category>
      <category>discuss</category>
    </item>
    <item>
      <title>A Password Manager That Doesn’t Trust Its Own Server</title>
      <dc:creator>Ivan</dc:creator>
      <pubDate>Sun, 12 Apr 2026 17:46:24 +0000</pubDate>
      <link>https://dev.to/system_arch_ivan/a-password-manager-that-doesnt-trust-its-own-server-5fi1</link>
      <guid>https://dev.to/system_arch_ivan/a-password-manager-that-doesnt-trust-its-own-server-5fi1</guid>
      <description>&lt;p&gt;Most password managers say they are secure.&lt;/p&gt;

&lt;p&gt;But very few are built on a simple idea:&lt;/p&gt;

&lt;p&gt;The server should not be able to read your data at all.&lt;/p&gt;

&lt;p&gt;I recently started using a tool called Lockly — a password manager built with a zero-knowledge architecture.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://lockly.at" rel="noopener noreferrer"&gt;Lockly password manager&lt;/a&gt; focuses on doing one thing right — secure storage and synchronization of sensitive data.&lt;/p&gt;

&lt;p&gt;No big launch. No marketing noise.&lt;/p&gt;

&lt;p&gt;Just quietly released.&lt;/p&gt;

&lt;h2&gt;
  
  
  What makes it different
&lt;/h2&gt;

&lt;p&gt;The core idea is zero-knowledge architecture.&lt;/p&gt;

&lt;p&gt;All sensitive data is encrypted on the client side, before it ever leaves your device.&lt;/p&gt;

&lt;p&gt;The server only stores ciphertext.&lt;/p&gt;

&lt;p&gt;It literally has no ability to decrypt anything.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works (simplified)
&lt;/h2&gt;

&lt;p&gt;Encryption flow looks like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You have a secret phrase&lt;/li&gt;
&lt;li&gt;It is processed using Argon2id (key derivation)&lt;/li&gt;
&lt;li&gt;A strong encryption key is generated&lt;/li&gt;
&lt;li&gt;Data is encrypted using AES-256-GCM&lt;/li&gt;
&lt;li&gt;Only encrypted data is sent to the server&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Even if someone gets full access to the database:&lt;/p&gt;

&lt;p&gt;→ they only see encrypted blobs&lt;/p&gt;

&lt;p&gt;Without your secret — it’s useless.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is actually encrypted
&lt;/h2&gt;

&lt;p&gt;Everything that matters:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;logins&lt;/li&gt;
&lt;li&gt;passwords&lt;/li&gt;
&lt;li&gt;URLs&lt;/li&gt;
&lt;li&gt;notes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There is no “partial protection” — it’s all encrypted before sync.&lt;/p&gt;

&lt;h2&gt;
  
  
  Local-first approach
&lt;/h2&gt;

&lt;p&gt;Another interesting part — it’s offline-first.&lt;/p&gt;

&lt;p&gt;The app stores data locally in the browser (IndexedDB), encrypted as well.&lt;/p&gt;

&lt;p&gt;This gives you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;instant access without waiting for network&lt;/li&gt;
&lt;li&gt;full functionality offline&lt;/li&gt;
&lt;li&gt;sync happens in the background&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Sync without trust
&lt;/h2&gt;

&lt;p&gt;Synchronization is handled separately:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;local changes are queued&lt;/li&gt;
&lt;li&gt;when online — pushed to server&lt;/li&gt;
&lt;li&gt;remote updates are pulled back&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The backend only coordinates this process.&lt;/p&gt;

&lt;p&gt;It does not participate in decryption.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why browser-based actually matters
&lt;/h2&gt;

&lt;p&gt;There’s no heavy client installation required.&lt;/p&gt;

&lt;p&gt;You can use it directly from a browser.&lt;/p&gt;

&lt;p&gt;Even in incognito mode.&lt;/p&gt;

&lt;p&gt;That means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;nothing persistent on the machine (if you don’t want it)&lt;/li&gt;
&lt;li&gt;no obvious installed app&lt;/li&gt;
&lt;li&gt;works across devices instantly&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Depending on your threat model — this can be either convenience or an extra layer of operational security.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I’m sharing this
&lt;/h2&gt;

&lt;p&gt;I’ve tried a lot of password managers.&lt;/p&gt;

&lt;p&gt;Most of them are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;overloaded&lt;/li&gt;
&lt;li&gt;too “cloud-dependent”&lt;/li&gt;
&lt;li&gt;or require trusting the backend too much&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This one is different.&lt;/p&gt;

&lt;p&gt;It’s minimal.&lt;/p&gt;

&lt;p&gt;This makes Lockly password manager a practical solution for users who care about privacy and control.&lt;/p&gt;

&lt;p&gt;But it gets the fundamentals right:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;encryption before transport&lt;/li&gt;
&lt;li&gt;zero-knowledge backend&lt;/li&gt;
&lt;li&gt;simple and predictable sync&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And honestly — that’s what matters most.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final thought
&lt;/h2&gt;

&lt;p&gt;Security is not about features.&lt;/p&gt;

&lt;p&gt;It’s about what the system is fundamentally capable of doing.&lt;/p&gt;

&lt;p&gt;And in this case:&lt;/p&gt;

&lt;p&gt;The system is fundamentally incapable of reading your data.&lt;/p&gt;

&lt;p&gt;—&lt;/p&gt;

&lt;p&gt;If you're curious, I can share more details about the architecture or setup.&lt;/p&gt;

</description>
      <category>security</category>
      <category>encryption</category>
      <category>webdev</category>
      <category>privacy</category>
    </item>
  </channel>
</rss>
