We're open-sourcing CyborgDB, starting with our client SDKs today and the service layer later this year. Here's what this means for teams building encrypted vector search into their AI systems.
The problem we're solving
Every RAG pipeline, semantic search system, and recommendation engine relies on vector embeddings. These embeddings encode your sensitive data - medical records, financial transactions, legal documents - into mathematical representations that traditional databases store in plaintext.
This creates an uncomfortable reality: your most sensitive information sits unencrypted in vector databases, vulnerable to breaches, insider threats, and compliance violations. Recent research shows embeddings can be inverted to reconstruct original data with surprising accuracy. For regulated industries, this is a dealbreaker.
CyborgDB encrypts vectors client-side before they hit the database, then searches directly on encrypted vectors without decryption. No plaintext exposure, no trust assumptions about your infrastructure.
What we're open-sourcing
Available now: Client SDKs
Our Python, TypeScript, JavaScript and Go SDKs are now open source. These handle the cryptographic heavy lifting - key generation, vector encryption, secure search protocols - so you can focus on building features.
from cyborgdb import CyborgDB
import os
# Initialize with your encryption key
db = CyborgDB(
base_url="http://localhost:8000",
api_key=os.environ["CYBORGDB_API_KEY"]
)
# Create an encrypted index - vectors never exist in plaintext
index = db.create_index(
name="medical_records",
dimension=768,
encryption_key=os.environ["ENCRYPTION_KEY"]
)
# Search happens on encrypted vectors
results = index.search(
vector=query_embedding,
top_k=10,
filter={"department": "cardiology"}
)
GitHub repositories:
- Python: github.com/cyborginc/cyborgdb-py
- TypeScript / JavaScript: github.com/cyborginc/cyborgdb-js
Coming later this year: CyborgDB Service
The service layer (cyborgdb-service) is currently distributed as a Python package and Docker image. It's a FastAPI microservice that:
- Exposes REST endpoints for encrypted vector operations
- Manages connections to your backing store (PostgreSQL, Redis)
- Handles index management and query optimization
- Provides health checks and metrics
We'll open-source cyborgdb-service
later this year. Until then, you can use the current distribution:
# Via pip
pip install cyborgdb-service
cyborgdb-service run --port 8000
# Or Docker
docker run -p 8000:8000 \
-e CYBORGDB_DB_TYPE=postgres \
-e CYBORGDB_CONNECTION_STRING="..." \
cyborginc/cyborgdb-service:latest
Architecture that respects your infrastructure
CyborgDB isn't another database to manage. It's an encryption layer that transforms your existing database (e.g., PostgreSQL or Redis) into an encrypted vector store.
Your data flow looks like this:
- Application generates embeddings from your AI model
- CyborgDB client encrypts vectors locally using your keys
- Encrypted vectors store in your existing database
- Searches execute without decryption using cryptographic protocols
- Only your application with the key can decrypt results
This means:
- No new database to operate
- Your data stays in your infrastructure
- Keys remain under your control
- Existing backup and DR procedures still work
Real-world usage patterns
Healthcare RAG system:
# Patient data never leaves encrypted state
index = client.load_index("patient_records", encryption_key)
similar_cases = index.query(
query_vectors=symptoms_embedding,
filter={"diagnosis_confirmed": {"$eq": True}},
top_k=20
)
Financial fraud detection:
# Transaction patterns remain encrypted
index = client.load_index("transaction_vectors", encryption_key)
suspicious = index.query(
query_vectors=current_transaction_embedding,
filter={"flagged": {"$eq": True}},
)
Multi-tenant SaaS:
# Each customer gets unique encryption keys
customer_index = client.load_index(
f"customer_{tenant_id}",
index_key=customer_keys[tenant_id]
)
Getting started
1. Install the SDK for your language:
pip install cyborgdb # Python
npm install cyborgdb # TypeScript
go get github.com/cyborginc/cyborgdb-go # Go
2. Run the service locally:
# Docker
docker run -d -p 8000:8000 cyborginc/cyborgdb-service:latest
# Or module
cyborgdb-service run --port 8000
3. Start encrypting vectors: Check our quickstart guide for complete examples.
The path forward
Open-sourcing CyborgDB is our commitment to building security infrastructure in the open. We believe encrypted vector search should be a standard capability, not a proprietary black box.
The client SDKs are just the beginning. When we open-source the service layer later this year, you'll have full visibility into every component. Until then, the current service distribution is production-ready and actively deployed in healthcare, finance, and government applications.