<?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: Dark Master</title>
    <description>The latest articles on DEV Community by Dark Master (@darkmaster0345).</description>
    <link>https://dev.to/darkmaster0345</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%2F3882200%2F17cfc069-222c-4bb0-941b-6ed202e24a91.jpeg</url>
      <title>DEV Community: Dark Master</title>
      <link>https://dev.to/darkmaster0345</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/darkmaster0345"/>
    <language>en</language>
    <item>
      <title>I Built a File Encryption App in Rust. Here’s What I Learned About Trust.</title>
      <dc:creator>Dark Master</dc:creator>
      <pubDate>Thu, 16 Apr 2026 10:17:55 +0000</pubDate>
      <link>https://dev.to/darkmaster0345/i-built-a-file-encryption-app-in-rust-heres-what-i-learned-about-trust-3coo</link>
      <guid>https://dev.to/darkmaster0345/i-built-a-file-encryption-app-in-rust-heres-what-i-learned-about-trust-3coo</guid>
      <description>&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%2Fcshaut5r6tadisjqrqvc.png" 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%2Fcshaut5r6tadisjqrqvc.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’m 17. I live in Karachi. I have 8GB of RAM and a laptop that throttles if you look at it wrong.&lt;/p&gt;

&lt;p&gt;And I just shipped a desktop encryption app in Rust.&lt;/p&gt;

&lt;p&gt;Not because someone asked me to. Because I needed it to exist.&lt;/p&gt;

&lt;p&gt;Why Rust&lt;/p&gt;

&lt;p&gt;I could’ve done this in Python in a weekend. But Python wouldn’t give me what I actually wanted — control. When you’re encrypting someone’s files, you don’t want a garbage collector making decisions behind your back. You don’t want mystery allocations. You want to know exactly what’s in memory and when it leaves.&lt;/p&gt;

&lt;p&gt;Rust forces that conversation. The borrow checker is annoying until it saves you from a mistake you didn’t know you were making.&lt;/p&gt;

&lt;p&gt;It took longer. It was worth it.&lt;/p&gt;

&lt;p&gt;The Stack&lt;/p&gt;

&lt;p&gt;AES-256-GCM-SIV for encryption. Argon2id for key derivation. HKDF-SHA512 to stretch the key material. egui for the UI because I didn’t want to ship an Electron app that weighs 200MB to encrypt a text file.&lt;/p&gt;

&lt;p&gt;Each of these choices was deliberate. GCM-SIV over plain GCM because nonce reuse is a real-world failure mode, not a theoretical one. Argon2id because it’s memory-hard and scrypt has a worse story on GPUs. HKDF because you should never use a password directly as a key.&lt;/p&gt;

&lt;p&gt;Security isn’t one big decision. It’s a hundred small ones.&lt;/p&gt;

&lt;p&gt;18 Bugs&lt;/p&gt;

&lt;p&gt;The first version had 18 bugs. I’m not hiding that. UTF-8 panics on non-ASCII filenames. The NSIS installer writing to the wrong path. A title bar gap being counted twice in the layout.&lt;/p&gt;

&lt;p&gt;Become a Medium member&lt;br&gt;
Most of them were embarrassing in hindsight. None of them were unfixable.&lt;/p&gt;

&lt;p&gt;I used AI tooling heavily — Roo Code, Jules — to move through them faster. The AI didn’t replace the thinking. It replaced the typing. I still had to understand every change before it merged.&lt;/p&gt;

&lt;p&gt;That distinction matters.&lt;/p&gt;

&lt;p&gt;Why This Project, Really&lt;/p&gt;

&lt;p&gt;Here’s the honest answer.&lt;/p&gt;

&lt;p&gt;I live in a part of the world where privacy is not a default. Where your data going somewhere you didn’t intend is normal. Where you can’t always trust the platform, the app store, or the company behind the software you’re using.&lt;/p&gt;

&lt;p&gt;I’m also Muslim. There’s a word in Arabic — amanah — it means a trust. Something given to you that you are responsible for. I think about that a lot when I think about other people’s files, other people’s messages, other people’s data.&lt;/p&gt;

&lt;p&gt;If you handle someone’s information, that’s an amanah. Most software treats it like a liability.&lt;/p&gt;

&lt;p&gt;I wanted to build something that treats it like what it actually is.&lt;/p&gt;

&lt;p&gt;What’s Next&lt;/p&gt;

&lt;p&gt;The app is called Neuron-Encrypt. It’s on GitHub. It’s GPL-v3 because I don’t want it locked behind anyone’s business model.&lt;/p&gt;

&lt;p&gt;Version 1 works. It encrypts. It installs. It doesn’t phone home.&lt;/p&gt;

&lt;p&gt;Version 2 will do more. But I’d rather ship something honest and small than something bloated and impressive-looking.&lt;/p&gt;

&lt;p&gt;If you’re a developer who cares about this stuff — not the buzzwords, the actual problem — I’d like to hear from you.&lt;/p&gt;

&lt;p&gt;Ubaid ur Rehman is a DAE Electronics student in Karachi building FOSS privacy tools. GitHub: darkmaster0345.&lt;/p&gt;

</description>
      <category>privacy</category>
      <category>rust</category>
      <category>security</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
