Embed & encrypt
Your model produces a vector. The SDK encrypts it with your key before it ever leaves the device.
Similarity search directly on encrypted embeddings — self-hosted in your VPC or on-prem, with no decryption, no TEE exit, and no plaintext in memory.
Three hops, encrypted end-to-end. CyborgDB runs in your environment — Cyborg holds no keys, sees no vectors, and never receives your data.
Your model produces a vector. The SDK encrypts it with your key before it ever leaves the device.
A trapdoor query is matched against the encrypted IVF index. No plaintext is ever materialised, in memory or on disk.
Encrypted IDs come back to your client. Only your application has the keys to fetch and decrypt the original payloads.
Approximate nearest neighbor on ciphertext, with recall within 2% of plaintext baselines.
Combine vector similarity with encrypted metadata predicates in one request. Hybrid keyword search is on the roadmap.
Different fields can use different keys. Revoke access to a field without re-indexing the rest.
Move indexes between NVMe and object storage with a single API call. Both tiers stay fully encrypted.
Bring your own key from AWS KMS, GCP KMS, Azure Key Vault, or an on-prem HSM.
Encrypted snapshots to your bucket on demand or on a schedule. Restore in-place or to a new index.
Five lines to encrypt, index, and query. The SDK transparently handles client-side encryption and trapdoor generation.
CyborgDB is self-hosted; we never receive your vectors, payloads, or keys. The encryption model means an attacker with disk access to your cluster gets ciphertext only.
Security doesn't have to mean compromising performance. CyborgDB keeps pace with unencrypted vector databases — and beats most of them.
| Database | Recall (%) | QPS |
|---|---|---|
| CyborgDB (encrypted) | 72.8 | 792 |
| CyborgDB (encrypted) | 76.3 | 744 |
| CyborgDB (encrypted) | 81.3 | 672 |
| CyborgDB (encrypted) | 85.9 | 638 |
| CyborgDB (encrypted) | 88.8 | 567 |
| CyborgDB (encrypted) | 91.8 | 499 |
| CyborgDB (encrypted) | 94.0 | 433 |
| CyborgDB (encrypted) | 96.2 | 351 |
| CyborgDB (encrypted) | 97.3 | 321 |
| CyborgDB (encrypted) | 98.2 | 266 |
| CyborgDB (encrypted) | 98.6 | 245 |
| CyborgDB (encrypted) | 99.0 | 220 |
| CyborgDB (encrypted) | 99.4 | 182 |
| CyborgDB (encrypted) | 99.8 | 151 |
| Qdrant | 89.5 | 113 |
| Qdrant | 95.2 | 89 |
| Qdrant | 97.8 | 68 |
| Qdrant | 99.1 | 45 |
| Qdrant | 99.4 | 35 |
| Qdrant | 99.7 | 27 |
| Qdrant | 99.9 | 17 |
| Weaviate | 77.2 | 840 |
| Weaviate | 83.4 | 737 |
| Weaviate | 86.9 | 715 |
| Weaviate | 91.3 | 600 |
| Weaviate | 93.3 | 533 |
| Weaviate | 95.9 | 430 |
| Weaviate | 97.5 | 349 |
| Weaviate | 98.6 | 266 |
| Weaviate | 98.9 | 224 |
| Weaviate | 99.4 | 176 |
| Weaviate | 99.8 | 108 |
| Milvus | 92.6 | 66 |
| Milvus | 96.7 | 61 |
| Milvus | 98.3 | 55 |
| Milvus | 99.1 | 47 |
| Milvus | 99.5 | 41 |
| Milvus | 99.7 | 29 |
| Elasticsearch | 81.4 | 303 |
| Elasticsearch | 83.4 | 293 |
| Elasticsearch | 89.6 | 278 |
| Elasticsearch | 90.8 | 276 |
| Elasticsearch | 94.6 | 241 |
| Elasticsearch | 95.2 | 240 |
| Elasticsearch | 96.6 | 218 |
| Elasticsearch | 97.5 | 198 |
| Elasticsearch | 97.8 | 184 |
| Elasticsearch | 98.7 | 161 |
| Elasticsearch | 99.2 | 131 |
| Elasticsearch | 99.2 | 129 |
| Elasticsearch | 99.4 | 120 |
| Elasticsearch | 99.4 | 117 |
| pgvector | 81.4 | 835 |
| pgvector | 89.2 | 497 |
| pgvector | 94.1 | 402 |
| pgvector | 96.7 | 283 |
| pgvector | 97.6 | 190 |
| pgvector | 98.5 | 130 |
| pgvector | 99.1 | 82 |
| pgvector | 99.5 | 47 |
| pgvector | 99.6 | 38 |
| LanceDB | 94.2 | 282 |
| LanceDB | 97.5 | 174 |
| LanceDB | 99.0 | 101 |
| LanceDB | 99.3 | 90 |
Single-threaded runs on the ann-benchmarks harness, c8g.4xlarge · May 2026.
CyborgDB is a binary you run inside the infrastructure you already operate. Nothing to migrate, nothing new to learn — just a privacy guarantee on top of the tools you already have.
Single container, multi-arch (amd64 / arm64). Helm chart for Kubernetes, Compose file for everything else. No TEE, no special silicon — runs anywhere Linux runs.
CyborgDB separates compute from storage. Point it at Postgres, MySQL, S3, GCS, Azure Blob, or any S3-compatible store. Your existing backup and DR plan covers it for free.
First-party adapters for the orchestration frameworks. Same retriever interface, same indexing pipeline — swap the vector store and you're done.
Envelope encryption with the major cloud KMS providers and any PKCS#11 HSM. CyborgDB never sees your master key — only the data key, only at use, only in memory.
Already on Pinecone, Weaviate, or Milvus? Bring your workload to a thirty-minute call. We'll show you how CyborgDB performs against it. Free for up to 1M vectors.