The first part of our development stack, on GitHub under Apache 2.0.
We believe encrypted computation should be accessible to any developer. Fully homomorphic encryption (FHE) lets a server compute on data it can never see: the data arrives encrypted, stays encrypted through the computation, and leaves encrypted, and only the key holder can read the result. For developers to be able to experiment and build FHE applications, they need tools. To make this easy, we deployed and licensed the first part of our development stack on GitHub under Apache 2.0: the Niobium DSL, the FHE Application Design Skill, and the Niobium client, along with various example applications.
A New Programming Model, Built into the Process
FHE uses a different model than traditional programming. The server cannot branch on the values it computes with, every operation spends a finite noise budget, and the architecture, scheme, parameters, and data layout have to be chosen together. Getting that design right decides whether the program can be written at all. To learn more about that architecture, read about the methodology we use and see how we walk through it step by step to build an encrypted network anomaly detector.
The FHE Application Design Skill bakes that methodology into the agentic development process. It ships inside the client repo and loads automatically in Claude Code sessions, so an agent working on an FHE application moves through the same design stages we do, before any source gets written.
Applications are created with the Niobium DSL. A domain-specific language (DSL) is a programming language built for one problem domain; ours is built for arithmetic FHE, and designed from the ground up for agentic coding. It describes an FHE application, both the client and the server side, in compact terms readable by humans and coding agents, and its compiler generates the complete OpenFHE C++ pipeline. The client/server boundary is enforced at compilation: a server program that touches a secret key will not compile, so the data privacy the application promises is a property of the build rather than of programmer discipline. Together, the skill and the DSL give an agent sound design and sound construction of a production-ready FHE program.
Run It on Your CPU Today
Applications built with the Niobium client are Fog-ready. The client records the computation as a portable trace, and the bundled simulator replays that trace on your own CPU, so you can build, run, and test a complete application before you have hardware or platform access. When you do, the same trace runs on the Fog™, our encrypted cloud platform, and its mistic™ Core accelerators. The code is identical. Only the target changes.
The DSL is one way in, and there are others. An existing OpenFHE C++ application records the same trace with a handful of instrumentation calls, and there are entry points for compiler authors and FHE library integrators, all documented in the client repo README. The trace format implements FHETCH, the open FHE intermediate-representation specification we helped found, and we are aligning our stack with projects like Google's HEIR compiler. We welcome contributions and will be opening these repositories to community pull requests shortly.
Start from a Working Application
The DSL ships with example applications: similarity search, a network monitor, fraud flagging, ML inference, password retrieval, set membership, and a minimal starter. Several map directly to template applications that will be available on the Fog; others were built to show what the DSL can express. Build and try them out on your own machine today.
Fetch by Similarity is the first of those full applications we are releasing. It is forked from the HomomorphicEncryption.org benchmarking suite, and its main contribution relative to the original benchmark is architectural: it takes an established workload and structures it to run on the Fog. An encrypted query goes to a server holding a database that can be evaluated as plaintext or encrypted under FHE. The query is a cosine similarity that runs entirely on ciphertext, and the matching payloads come back without the server learning the query, the data, or the result. It is the basis for the encrypted search application coming to the Fog. We will also be releasing network intrusion detection (NID) and federated learning (FL) OpenFHE applications built for the Fog soon.
If you have access to a Fog terminal, the Niobium Starter Kit is a set of short, runnable examples written against the SDK already installed there, made to be edited and re-run.
Come Build Something We Haven't Thought Of
Niobium has a lot of smart people. But the space of what's possible with encrypted computation is larger than any one team's roadmap. The applications that matter most only surface when enough developers, with their own requirements, challenges, and industry-specific knowledge can experiment. These tools are meant to foster that experimentation. We can't wait to see what you build.
Start programming today: Niobium client and DSL · FHE Application Design Skill · Fetch by Similarity · Starter Kit. Request access to the Fog for accelerated hardware. Join us on the Niobium FHE Developer Discord.