Zero-Trust FHE Engine
What it is
Section titled “What it is”The Zero-Trust engine is a planned capability that lets you store selected
columns as ciphertext and still run real queries against them. The goal:
operations such as SUM, AVG, and vector similarity execute over the encrypted
values, so the plaintext never materialises on the server. The client holds the
keys and decrypts only the final result.
The aim is to let regulated workloads — healthcare records, financial positions, and similar — run analytics without granting the database operator any plaintext access. Encrypted columns are designed to sit alongside ordinary columns in the same table, so you can keep most columns plain (for fast filtering and joins) and reserve encryption for the values that must stay private.
flowchart LR classDef a fill:#1f2640,stroke:#7c5cff,color:#e8eaf0 classDef b fill:#1f2640,stroke:#00d4ff,color:#e8eaf0 classDef g fill:#1f2640,stroke:#4ade80,color:#4ade80 Q[Client query]:::a --> R[Run over<br/>encrypted columns]:::b R --> O[Encrypted result]:::g O --> C[Client decrypts<br/>locally]:::g
Why it matters
Section titled “Why it matters”- Compute over ciphertext — the intended model runs aggregations, filters, and vector similarity without decrypting on the server.
- Per-column encryption — choose which columns are encrypted and mix encrypted and plain columns in one table.
- Operator gains no plaintext — even a database administrator role would see only ciphertext for protected columns.
How you would use it
Section titled “How you would use it”The intended surface marks sensitive columns as encrypted in DDL; standard SQL then drives queries over them. (Syntax is illustrative and may change.)
-- Encrypted columns sit alongside ordinary columns.CREATE TABLE patient_visits ( id BIGINT, visit_date DATE, diagnosis TEXT ENCRYPTED, cost_usd DECIMAL(12,2) ENCRYPTED, embedding TENSOR(768) ENCRYPTED);
-- Aggregations are intended to execute on ciphertext; the server never-- sees plaintext.SELECT SUM(cost_usd) FROM patient_visits WHERE visit_date >= '2026-01-01';
-- Encrypted vector search — both the stored embedding and the query-- vector stay encrypted end to end.SELECT idFROM patient_visitsORDER BY cosine_distance(embedding, :query_vec_encrypted)LIMIT 10;The client decrypts the final result with its own key. The design intent is that the server only ever holds ciphertext for protected columns — even when summing or ranking by similarity.
Key concepts
Section titled “Key concepts”| Term | Meaning |
|---|---|
| Encrypted column | A column whose values are stored as ciphertext rather than plaintext. |
| Encrypted vector | A tensor column kept encrypted, intended to enable private similarity search. |
| Client-side decryption | The client, not the server, holds the keys and decrypts the final result. |
| Per-table encryption policy | Choosing which columns in a table are encrypted, leaving others plain. |