CyborgDB Core
CyborgDB is the first Confidential Vector Database that enables you to ingest & search vectors embeddings in a privacy-preserving manner, without revealing the contents of the vectors themselves. It runs on a local-disk backing store with a configurable in-memory cache, or on S3, and enables you to add, query and retrieve vector embeddings with transparent end-to-end encryption.
Why Confidential?
Vector Search is at the heart of popular AI applications like RAG, recommendation systems, and semantic search. CyborgDB leverages cryptographic hashing and symmetric encryption to enable Approximate Nearest-Neighbor (ANN) search over encrypted space, keeping your vector embeddings secure throughout their lifecycle.
Key Features
- End-to-End Encryption: Vector embeddings remain encrypted throughout their lifecycle, including at search time
- Zero-Trust Design: Novel architecture keeps confidential inference data secure
- High Performance: GPU-accelerated indexing and retrieval with CUDA support
- Familiar API: Easy integration with existing AI workflows
- Built-in Embedding: Upsert and query with text; embedding runs in-process, with no PyTorch or other extra dependencies
- Durable + Fast: Disk-backed storage with a configurable in-memory cache — enable all cache flags for memory-tier read performance with durability
API Key (Optional)
cyborgdb-core works out of the box with no API key — the client runs in free-tier mode with a per-index cap of 1,000,000 items. For unlimited usage, get an API key from db.cyborg.co: sign up for a free account, create an API key, and pass it to the client.
Installation
# Install CyborgDB Core (CPU):
pip install cyborgdb-core
# Install CyborgDB Core (CUDA):
pip install cyborgdb-core-cu12
Quickstart
import cyborgdb_core as cyborgdb
import secrets
# Create a client with disk storage (no API key required for free-tier usage).
storage_config = cyborgdb.StorageConfig.disk()
client = cyborgdb.Client(storage_config=storage_config)
# For unlimited usage, pass your CyborgDB API key:
# client = cyborgdb.Client("cyborgdb_000000", storage_config)
# Generate an encryption key for all index operations.
index_key = secrets.token_bytes(32)
# Create an encrypted index
index = client.create_index("my_index", index_key)
# Add items to the encrypted index
items = [
{"id": "item_1", "vector": [0.1, 0.2, 0.3, 0.4], "contents": "Hello!"},
{"id": "item_2", "vector": [0.5, 0.6, 0.7, 0.8], "contents": "Bonjour!"},
{"id": "item_3", "vector": [0.9, 0.10, 0.11, 0.12], "contents": "Hola!"}
]
index.upsert(items, index_key=index_key)
# Query the encrypted index
query_vector = [0.1, 0.2, 0.3, 0.4]
results = index.query(query_vector, include=["distance"], index_key=index_key)
# Print the results
for result in results:
print(f"ID: {result['id']}, Distance: {result['distance']}")
Backing Store Configuration
Disk
# Uncached: every read hits disk.
storage_config = cyborgdb.StorageConfig.disk("./cyborgdb-data")
# Cached: warm reads served from RAM (memory-tier performance, durable on disk).
storage_config = cyborgdb.StorageConfig.disk(
"./cyborgdb-data",
cache_vectors=True, cache_metadata=True, cache_ids=True, cache_metadata_index=True,
)
client = cyborgdb.Client(storage_config=storage_config)
S3
storage_config = cyborgdb.StorageConfig.s3(
"my-bucket", region="us-east-1", prefix="cyborgdb/",
)
client = cyborgdb.Client(storage_config=storage_config)
Credentials come from the AWS default provider chain unless you pass
credentials=cyborgdb.S3Credentials(...). All stores are RAM-cached over S3, so the
cache_* flags are disk-only. Client(...) probes the bucket once at construction —
a wrong bucket, endpoint, or bad credentials fail there rather than on a later index
operation.
Text Embedding
Create an index with an embedding_model and CyborgDB embeds text for you: items without a vector are embedded from their contents, and query_contents takes the place of a query vector. The dimension comes from the model.
index = client.create_index("my_text_index", index_key, embedding_model="all-MiniLM-L6-v2")
index.upsert([
{"id": "fox", "contents": "The quick brown fox jumps over the lazy dog."},
{"id": "revenue", "contents": "Quarterly revenue grew eleven percent."},
], index_key=index_key)
results = index.query(query_contents="a fox leaping over a dog", top_k=1, index_key=index_key)
cyborgdb.supported_embedding_models() lists the available models (see cyborgdb-embed for the full list). Names may omit the sentence-transformers/ prefix.
Documentation
For more detailed documentation, visit:
System Requirements
- Python 3.10 - 3.14
- Operating Systems: Linux, macOS, or WSL
License
CyborgDB is provided under a commercial license with a perpetual free tier. Contact Cyborg or visit the pricing page for more information.
About Cyborg
Cyborg is dedicated to making AI safe and secure. We develop solutions that enable organizations to leverage AI while maintaining the confidentiality and privacy of their data.
Metadata
Release files for cyborgdb-core-cu12 0.18.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| cyborgdb_core_cu12-0.18.0-cp314-cp314-manylinux_2_28_x86_64.whl | CPython 3.14 | CPython 3.14 | Linux glibc 2.28+ x86-64 | Details |
| cyborgdb_core_cu12-0.18.0-cp313-cp313-manylinux_2_28_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.28+ x86-64 | Details |
| cyborgdb_core_cu12-0.18.0-cp312-cp312-manylinux_2_28_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.28+ x86-64 | Details |
| cyborgdb_core_cu12-0.18.0-cp311-cp311-manylinux_2_28_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.28+ x86-64 | Details |
| cyborgdb_core_cu12-0.18.0-cp310-cp310-manylinux_2_28_x86_64.whl | CPython 3.10 | CPython 3.10 | Linux glibc 2.28+ x86-64 | Details |
Total release size: 356.7 MB
Release files / cyborgdb_core_cu12-0.18.0-cp314-cp314-manylinux_2_28_x86_64.whl
| Download URL | cyborgdb_core_cu12-0.18.0-cp314-cp314-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 71.3 MB |
| Tags | CPython 3.14 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
3fb0693af94e3ffbb903355b13be64e11ad1f09d57f9a9a9a07d7c47a2a2e7b5
|
|
BLAKE2b-256 checksum How to use checksums |
1d5fbc40e8ab15d30902e01c58869271f3b7e024f722191a564811c0409d6720
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency logRelease files / cyborgdb_core_cu12-0.18.0-cp313-cp313-manylinux_2_28_x86_64.whl
| Download URL | cyborgdb_core_cu12-0.18.0-cp313-cp313-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 71.3 MB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
07c203a644f616d647e68d95e342fbf79d7f611f97440401a8118ee4fa73ca6d
|
|
BLAKE2b-256 checksum How to use checksums |
58eb8f2e9a254ff403a02d13e5ff2dbe2defb0afc69895dc7b2f641740709062
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency logRelease files / cyborgdb_core_cu12-0.18.0-cp312-cp312-manylinux_2_28_x86_64.whl
| Download URL | cyborgdb_core_cu12-0.18.0-cp312-cp312-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 71.3 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
8efa8d573e633802ee0aa89ba274faf663a684324451b0388c37eb3e064a5728
|
|
BLAKE2b-256 checksum How to use checksums |
b166b7490f9f6391cfb8fa2e346ad634eef622c02d2de808e60a5945d048621f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency logRelease files / cyborgdb_core_cu12-0.18.0-cp311-cp311-manylinux_2_28_x86_64.whl
| Download URL | cyborgdb_core_cu12-0.18.0-cp311-cp311-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 71.3 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
b081ddc1a0ba3119876a42047f9688cbbc7a13c37a722829461b4a44eb0004b6
|
|
BLAKE2b-256 checksum How to use checksums |
cba2a3695447232324dee723b9f7996eac35c897c2279cf77e3c5aaff7ed380f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency logRelease files / cyborgdb_core_cu12-0.18.0-cp310-cp310-manylinux_2_28_x86_64.whl
| Download URL | cyborgdb_core_cu12-0.18.0-cp310-cp310-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 71.3 MB |
| Tags | CPython 3.10 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
153b56d72551df1d801c1c7840bfb6be3990f70b72ab6a7da43ebdc04a6ece0d
|
|
BLAKE2b-256 checksum How to use checksums |
03fa20838bbea03205568fa9ef096ee0b1375f972cd74f1f270dc26124e6e64c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency log