Hacker News

New stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Show HN: Using a diffusion model to write docs quickly(cortee.ai ↗)
    discuss
  2. Making a game for the GBA and PC from the same codebase(mattgreer.dev ↗)
    discuss
  3. lonely 20 questions – a game for people with no friends(foxmoss.com ↗)
    discuss
  4. Don't Trust the Super-App: A Case Study of Russia's Max(arxiv.org ↗)
    discuss
  5. Does this mean it's fine to use Claude subscriptions with third party harnesses?
    discuss
  6. New cat species identified for the first time in a century(cbc.ca ↗)
    1comments
  7. Moving Share Homes for Ukraine data's code to open source(mhclgdigital.blog.gov.uk ↗)
    discuss
  8. Grep your Claude Code/Codex history and jump back into the exact session
    discuss
  9. Hjfjhg
    discuss
  10. Building an Integrated Vector Database System in PostgreSQL(arxiv.org ↗)
    discuss
  11. Albanins discovering the long-banned car (1992)(washingtonpost.com ↗)
    1comments
  12. Backgrounding My Way to Japan – How to learn truth from fiction(aethermug.com ↗)
    discuss
  13. Show HN: Jawz – macro market state for AI agents, now a ChatGPT app (no login)(jawz.ai ↗)
    discuss
  14. Query Plan Rewriting in PostgreSQL(theconsensus.dev ↗)
    discuss
  15. If materialism is true, the United States is probably conscious(jstor.org ↗)
    discuss
  16. Deploying Monorepos Sucks(dominikkoch.dev ↗)
    discuss
  17. NeverLose – Crash-proof any Python function with one decorator(github.com/neverlose-io ↗)
    discuss
  18. The 2.5-hour AI-generated Odyssey movie is 2.5 hours too long(theverge.com ↗)
    discuss
  19. RepoGuard – CLI to stop Cursor and Copilot from bypassing architecture(github.com/taylormatematica-beep ↗)
    discuss
  20. Show HN: OpsGraph – evidence-first PostgreSQL investigations(opsgraph-site-seven.vercel.app ↗)
    discuss
  21. Show HN: I built a small tool to turn my essays into visual stories for YouTube [video](youtube.com ↗)
    discuss
  22. Are AIs Still Struggling with CAPTCHAs?(schneier.com ↗)
    discuss
  23. Show HN: Qpilot – run your manual test cases without writing test code(github.com/broxhq ↗)
    discuss
  24. Allelify: Run commands in parallel while storing logs in /tmp to limit noise(npmjs.com ↗)
    discuss
  25. Grandmother falsely accused of bank theft after alleged AI facial recognition(abcnews.com ↗)
    discuss
  26. Models train, from gradient descent to Adam(stochastic.blog ↗)
    discuss
  27. I Thought Running to Christ Will Save Me from My Demons(etechx.co.ke ↗)
    discuss
  28. My Boyfriend's Fiancée Revealed His Hidden Truth(etechx.co.ke ↗)
    discuss
  29. Auditing in the age of (good enough) AI(trailofbits.com ↗)
    discuss
  30. Last 30 days of AI but as an anime scene(twitter.com/davidamal ↗)
    1comments

I built a password vault that hides your secrets inside an ordinary photo (PNG)

1 pointsby 1h agoblindlock.app
2 comments
1h agoHN ↗

Hi everyone, I'm David, the solo developer and owner of BlindLock. This is my second post here. BlindLock is more than a year of work. Not a weekend hobby project I threw together. I've put a hell of a lot of time, heart, and nerves into it.

Why steganography?

Picture a burglar. He looks for valuables, the obvious ones: gold, cash, jewelry, the safe in the basement. The picture of your kid on the fridge, the holiday photo on the wall, are irrelevant to him. That's exactly the principle BlindLock is built on. Hackers go after cookies, passwords in the browser, container files that can be decrypted with a password on any computer, crypto seeds, and other sensitive data. Anyone who can log into your Google account or your ChatGPT knows more about you than they could learn in a personal conversation with you. All of that can be grabbed with RATs and other malware, passwords included. BlindLock hides exactly these sensitive logins and passwords inside a picture, because a photo has almost no value to an attacker. And he'd first have to identify the picture as his target at all. On top of that, BlindLock seals this picture to the security chip of your computer. That means: even if an attacker copies the picture, together with the password, he cannot get at your data. The same chip sealing applies to the container vault files. And for these larger files BlindLock has a built-in file explorer, so you can open and edit files without mounting them into the OS. Wherever the respective OS allows it, I've written it to leave no traces behind.

Why isn't BlindLock open source?

That was the most frequent question. Take Bitwarden as an example. Bitwarden sells a service: servers, sync, accounts. The code can be open because the value isn't in the code. I sell the program itself. There's no service behind it, no cloud, nothing on my side that the customer would need. The entire value is in the program itself. That's why Bitwarden can give the code away and make it public for everyone, and I can't.

What's open on my side is what has to be open: the cryptography libraries are freely available and partly formally verified (HACL, level 5, the highest). Anyone can audit them, down to the smallest detail.

The network: BlindLock is offline at its core

The main software never has an internet connection. Nothing goes out. That's not a setting, it's the build, the architecture: BlindLock is built so it can't reach the internet at all. There is no HTTP client in the program. There is no code, no module, no function that could open a connection to the outside.

Everything that needs the server runs in a separate small program, the Net-Helper. It ships in the same package and installs with BlindLock, but runs as its own process with its own binary. BlindLock starts it, asks it a question, and gets an answer. No port, no socket, just the child process's standard input and output. The helper never sees a vault or a password. It has exactly two jobs: it checks the license, and it checks whether the latest BlindLock version is installed. If there's a new version, it downloads the update package and hands it over.

In short: when you open BlindLock, it pings the server through the helper. That's it. There is no other internet connection. You can also use BlindLock offline for 7 days at any time.

Tech stack, licenses, and WalletLink in my first comment below. Happy to answer everything here personally. Anyone can try BlindLock free for 7 days. No email, no payment details.

David

1h agoHN ↗

Tech stack: Rust and Tauri

Rust for the core, all the logic, all the commands. Tauri strictly as a dumb UI with no logic.

Why Rust: I love Rust, always have. In my opinion, security-relevant software belongs in Rust. It rules out entire classes of bugs up front, because otherwise the code won't even compile. That doesn't mean you can't make mistakes. But where many people make mistakes in C++/C#, a lot of that is simply ruled out in Rust. Rust is compact and logical.

Unlike Electron, BlindLock doesn't ship a Chrome browser inside the program. Only the Rust part and Tauri. That's why the installers are very small.

Updates matter a lot to me. I regularly ship improvements and stabilizations. Software like this lives on constant observation, extension, and improvement. After 7 days offline you need to go online once, for the license check and above all for the update check.

Licenses Licenses can be moved from computer A to computer B at any time. Lifetime licenses don't die when a computer dies! The same will of course apply to subscriptions later.

WalletLink Once WalletLink is active, the Net-Helper can optionally check blockchain activity, exclusively against publicly verifiable, freely accessible, and trustworthy sources. Even then BlindLock sends nothing out and stores no values. It only mirrors the values from the hardware wallet. Transactions are neither confirmed nor received in BlindLock. All of that happens exclusively on the hardware wallet.

My customers' privacy always comes first.