Modern AI systems rely heavily on vector databases to store embeddings and run similarity search at scale. But as these systems move closer to sensitive enterprise data, two problems show up fast:
Most vector databases need access to readable data to work.
Many advanced systems lock you into a single language or SDK.
Endee was built to challenge both.
The Traditional Model: Powerful, but Leaky
In a typical vector database setup:
Data is sent to the server in a readable form.
Queries are decrypted on the server so similarity search can run.
Results are returned after processing on plaintext vectors.
This design works well for performance, but it creates an implicit trust model: the server can see your data while storing it and while searching it. For many teams dealing with regulated, proprietary, or user-sensitive data, that’s a non-starter.
Endee’s Approach: Search Without Seeing
Endee flips this model.
All encryption happens on the client side.
Your data is encrypted before it ever leaves your system.
Your search query is encrypted as well.
Endee runs similarity search directly on encrypted vectors.
Results come back encrypted and are only decrypted on the client.
At no point does the server see readable data not at rest, not in transit, and not during retrieval.
The server’s job is simple: compute similarity, not interpret meaning.
A Simple Mental Model
Think of Endee like a calculator operating on locked boxes.
It can compare shapes and distances between boxes perfectly well, but it never opens them. Only the client holds the key.
The Missing Piece Until Now: Language Flexibility
Initially, Endee’s client-side encryption and query flow was available only in Python. That worked well for ML-heavy teams, but real-world systems are rarely single-language.
Production stacks often look like this:
Java services handling core business logic
JavaScript or TypeScript powering APIs and frontends
Python used for model training or experimentation
A vector database that only speaks one language becomes a bottleneck.
Now: Any Language, Same Security Model
Endee’s server is language-agnostic.
You can now send encrypted data and encrypted queries from:
Python
Java
JavaScript
The flow stays exactly the same, regardless of language:
Generate vectors in your environment
Encrypt them client-side
Send them to the Endee server
Run encrypted similarity search
Decrypt results locally
No special trust assumptions. No server-side decryption. No language lock-in.
Why This Matters
This unlocks a few important things:
Polyglot systems: Different services can interact with the same vector store securely.
Easier adoption: Teams don’t need to rewrite infrastructure to fit a single SDK.
Stronger security boundaries: Encryption is enforced by design, not by convention.
The server remains a compute layer. Control stays with the client.
Where This Fits Best
Endee is a strong fit when:
You’re building AI systems over sensitive or regulated data
You want vector search without exposing embeddings
Your stack spans multiple programming languages
You don’t want security to depend on “just trust the server”
Closing Thoughts
Vector databases are becoming core infrastructure for AI. As they do, assumptions made for convenience start to matter a lot more.
Endee’s goal is simple: make encrypted vector search practical, scalable, and usable across real-world stacks not just one language, not just one team.
If you’re curious about how this works under the hood or where the trade-offs are, we’re always happy to discuss.
Top comments (0)