Skip to content
All work

Full-stack Developer & Designer

CipherQuery

Lets a buyer test a private dataset without seeing the raw data. Samples are processed in memory only, with one verified request per evaluation.

TypeScript · Next.js · 0G · Supabase · Private Compute · TEE · Vitest

Overview

CipherQuery lets buyers ask plain-language questions about a seller's private structured dataset without receiving the raw records. CSV, JSONL, NDJSON, and flat Parquet samples travel over encrypted transport, are parsed only in memory, and are evaluated through one private 0G request. Eight paid synthetic evaluations matched their known expected scores and returned TEE-verified execution metadata.

Problem

What was needed

Dataset buyers need evidence that private data can answer their questions, while sellers cannot safely expose the underlying rows. A useful evaluation also has to distinguish protected execution from whether the model's answer is accurate.

Solution

What I built

Built separate buyer and seller capability flows, bounded in-memory parsers for four file formats, one atomic 0G Private Computer request per evaluation, and strict fail-closed validation. TEE metadata confirms the protected execution path; accuracy is checked separately against known expected results. Raw datasets and raw 0G responses are intentionally not retained.

Screens

A closer look

Select any picture to see it at full size.

  1. 01CipherQuery's public overview — private dataset questions in, TEE-verified answers out, with zero raw rows exposed to the buyer.
  2. 02The documentation maps the workflow from plain-language buyer questions to a bounded seller sample and verified question-level results.
  3. 03The 0G and TEE boundary is explicit: protected execution is verified separately from the accuracy of a model judgement.