Skip to main content

CyborgDB

CyborgDB Service

PyPI - Version PyPI - License PyPI - Python Version

CyborgDB Service is the FastAPI-based REST API server for CyborgDB — the vector database that stays encrypted even while it's searching. It serves encrypted vector ingestion, search, and retrieval over HTTP: vectors stay encrypted through search, and only the result of a query is decrypted. Run it yourself in your own VPC or on-prem.

Features

  • Encryption-in-use: Vectors stay encrypted at rest, in transit, and through search — only the query result is decrypted
  • Encrypted ANN: Disk-backed encrypted DiskIVF index with recall within 2% of a plaintext baseline (read the benchmarks)
  • Filters on encrypted metadata: Combine vector similarity with equality and range predicates in a single request
  • BYOK / HYOK: Per-index key wrapping via AWS KMS or AWS Secrets Manager, including cross-account BYOK (see BYOK.md)
  • Per-tenant key isolation: Per-index, per-user keys with cryptographic RBAC; revoke a user and their keys are erased
  • Multiple backing stores: Embedded RocksDB disk or AWS S3 / S3-compatible object storage

Getting Started

To get started in minutes, check out our Quickstart Guide.

Installation

  1. Install cyborgdb-service
pip install cyborgdb-service
# GPU (CUDA 12): pip install cyborgdb-service-cu12
  1. [Optional] Set an API key for unlimited usage — without one the service runs in free-tier mode (per-index cap of 1M items)
export CYBORGDB_API_KEY=your_api_key_here   # optional; unset runs free tier
  1. [Optional] Choose a storage backend (default: disk at ~/.cyborgdb/data)
export CYBORGDB_DB_TYPE='disk|s3'          # default: disk
export CYBORGDB_DISK_PATH=/path/to/data    # disk only; default ~/.cyborgdb/data
export CYBORGDB_S3_BUCKET=my-bucket        # s3 only (required)

Tip: Run cyborgdb-service --help for a detailed list of all configuration options.

  1. Run the server
cyborgdb-service

Storage Backends

Backend Select with Notes
Disk (default) CYBORGDB_DB_TYPE=disk Embedded RocksDB. CYBORGDB_DISK_PATH sets the data directory (default ~/.cyborgdb/data).
S3 CYBORGDB_DB_TYPE=s3 Requires CYBORGDB_S3_BUCKET. Optional: CYBORGDB_S3_REGION, CYBORGDB_S3_PREFIX, CYBORGDB_S3_ENDPOINT.

S3 credentials

Each AWS-touching client (S3 storage, KMS) resolves credentials independently:

  • On AWS (ECS/EC2/EKS) — set nothing; the AWS default credential provider chain picks up the instance/task role.
  • Off AWS, real S3 — provide AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY env vars or a mounted AWS profile; the default chain picks them up.
  • S3-compatible endpoint (MinIO etc.) — set CYBORGDB_S3_ENDPOINT plus explicit CYBORGDB_S3_ACCESS_KEY / CYBORGDB_S3_SECRET_KEY (and optionally CYBORGDB_S3_SESSION_TOKEN). A custom endpoint is not AWS: the AWS chain is never used against it, and startup fails fast if the explicit keys are missing. The CYBORGDB_S3_* namespace is kept separate from AWS_* so storage credentials can't collide with KMS credentials.

YAML Configuration File (optional)

Everything settable by environment variable can also live in a YAML file — see cyborgdb.example.yaml. The file is resolved from CYBORGDB_CONFIG_FILE, then ./cyborgdb.yaml, ./cyborgdb.yml, /etc/cyborgdb/cyborgdb.yaml. Environment variables override the file on conflict. The YAML file is also where the per-index KMS registry (kms.registry:) is configured.

API Key Configuration

The CYBORGDB_API_KEY is the cyborgdb-core license key (not a service-auth credential). It is optional — when unset, the service runs in free-tier mode (per-index cap of 1M items). To unlock unlimited usage, provide your key using any of these methods:

Method 1: Environment Variable (Easiest)

export CYBORGDB_API_KEY=your_api_key_here
cyborgdb-service

Method 2: .env File

Create a .env file in the project root:

CYBORGDB_API_KEY=your_api_key_here

Then run:

cyborgdb-service

Method 3: Inline with Launch

CYBORGDB_API_KEY=your_api_key_here cyborgdb-service

Service Authentication

Request authentication is controlled by CYBORGDB_SERVICE_ROOT_KEY — separate from the CYBORGDB_API_KEY license key above:

  • Unset (default): authentication is disabled and the service accepts every request. Do not run a network-exposed deployment this way.
  • Set: authentication is enabled. Clients must send the key in the X-API-Key header. Routes accept the root key or a cdbk_ user token minted under it, and the root key can mint per-user API keys.
export CYBORGDB_SERVICE_ROOT_KEY=your_root_key_here
# then call the API with:  -H "X-API-Key: your_root_key_here"

Documentation

For more information on CyborgDB, see the Cyborg Docs.

License

CyborgDB Service is licensed under the MIT License. The underlying library, CyborgDB Core, is licensed under Cyborg's Terms of Service.

Metadata

Release files for cyborgdb-service 0.18.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cyborgdb-service 0.18.0
File Size Uploaded
cyborgdb_service-0.18.0.tar.gz 2.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for cyborgdb-service 0.18.0
File Interpreter ABI Platform
cyborgdb_service-0.18.0-py3-none-any.whl Python 3 none any Details

Total release size: 2.1 MB

Release files / cyborgdb_service-0.18.0.tar.gz

Download URL cyborgdb_service-0.18.0.tar.gz
Size 2.0 MB
Tags Source
SHA-256 checksum
How to use checksums
0f1bde97500198f82e999a4dcea2fb456479d0c95212319755eea52cf09d7f00
BLAKE2b-256 checksum
How to use checksums
9341589091e2284abb5d10d4cd5e14753885cf1d85b2baa9bf6eb97d818ce01f
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

Release files / cyborgdb_service-0.18.0-py3-none-any.whl

Download URL cyborgdb_service-0.18.0-py3-none-any.whl
Size 92.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6879b1746033e5d5cacf422243b3aadcbacb40424736c796ee07ea1ee0b5a7be
BLAKE2b-256 checksum
How to use checksums
630ca15e0fa68461645d229a6a686c8b5864d18c3668d5251a827694b09e354a
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

Release history Release notifications | RSS feed

This release

0.18.0 This release

2 release files

0.17.0

2 release files

0.16.2

1 release file

0.16.1

1 release file

0.16.0

2 release files

0.15.0

2 release files

0.14.0

2 release files

0.13.1

2 release files

0.13.0

2 release files

0.12.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page