Show HN: Ncrypt – Query encrypted files privately with FHE
Show HN (score: 7)Description
We're building ncrypt, an open-source encrypted file manager that allows you to store, manage, and privately query your files using fully homomorphic encryption (FHE). This project originally started as a simple SFTP-like CLI for my personal S3 buckets which I used to send and retrieve encrypted files and have more granular control over key rotation.
As the number of files that I was storing grew, file discovery started to become a problem, and I found myself frequently having to download and decrypt files to inspect their contents. Rather than leaving them unencrypted in S3 and therefore easier to search, I started looking into the concept of searching over encrypted data using fully homomorphic encryption. This led me to Zama's concrete-python library (https://github.com/zama-ai/concrete), which provides a simple Python interface for performing FHE operations.
FHE is notoriously slow, so rather than trying to search over entire files I focused on a more tractable problem, indexing and searching over file metadata (summaries, keywords, embeddings, etc) which was small enough to make search practical. While still not fast compared to traditional file management tools, ncrypts search performance is decent if you keep directory sizes relatively small (under 25 files), and most of the heavy lifting happens during metadata extraction, not at search time.
The two types of encrypted queries we currently support are keyword search and cosine similarity search over vector embeddings, which are generated using user-specified huggingface models. Ncrypt currently supports metadata extraction for text, image, and audio files. Check out our code and give it a try at https://github.com/ncryptai/ncrypt.
We love feedback!
More from Show
Show HN: Mist – a lightweight, self-hosted PaaS
Show HN: Mist – a lightweight, self-hosted PaaS Hi HN,<p>We’re building Mist, a lightweight, self-hosted PaaS for running and managing applications on your own servers.<p>We started Mist because we wanted a middle ground between raw VPS management and heavy, all-in-one platforms. Existing PaaS solutions often felt too complex or resource-intensive for small servers, homelabs, and side projects. We wanted something that keeps the PaaS experience but stays simple and predictable.<p>Our goals with Mist are: - A simple PaaS to deploy and manage apps on your own infrastructure - HTTPS, routing, and app access handled automatically - Low resource usage so it runs well on small VPSes - Self-hosted and transparent, with minimal magic<p>Mist focuses on being an opinionated but lightweight layer on top of your server. It doesn’t try to hide everything behind abstractions, but it does aim to remove the repetitive operational work that comes with managing apps by hand.<p>Mist is still early, and this is where we really need help. We’re actively looking for:<p>- Users who want a simple self-hosted PaaS and can share real-world feedback<p>- Contributors who want to help shape the core features, architecture, and UX<p>Website: <a href="https://trymist.cloud" rel="nofollow">https://trymist.cloud</a><p>Repo: <a href="https://github.com/corecollectives/mist" rel="nofollow">https://github.com/corecollectives/mist</a>
Show HN: Marten – Elegant Go web framework (nothing in the way)
Show HN: Marten – Elegant Go web framework (nothing in the way)
Show HN: I vibecoded an ARM64 operating system that boots on real hardware
Show HN: I vibecoded an ARM64 operating system that boots on real hardware VibeOS is a retro operating system that boots on qemu and Pi Zero 2W. I built this with Claude code in about 4 weeks.
Show HN: Seapie – a Python debugger where breakpoints drop into a REPL
Show HN: Seapie – a Python debugger where breakpoints drop into a REPL
No other tools from this source yet.