Platform for Encrypted Computation
Mission: Enable scientific collaboration without exposing sensitive data
$ uv tool install blindmachine
Installs the open-source CLI as the blind command. One-off, no install: uvx blindmachine.
Already have an account? Sign in
How
Encrypted end to end. Verifiable offline.
We use homomorphic encryption. Data is encrypted on the data owner's own machine; the server collects only ciphertext and computes directly on it — it can compute, but it cannot see. One decryptable aggregate comes out the other side, and only the researcher, on their own machine, holds the key. Every artifact is content-addressed by SHA-256, so the result re-verifies offline, without us.
$ blind data encrypt --project rare-disease-af \ --input cohort.csv Raw → LOCAL ONLY Encoded → LOCAL ONLY Private → LOCAL ONLY Encrypted → UPLOADABLE ─ ─ ─ your machine ─ ─ ─ ─ ─ ─ ─ ─ the network ─ ─ ─ $ blind contributions create --project rare-disease-af \ --data cohort.csv Encrypted → uploaded · sha256:9f3a…c41e ✔
Application registry
Signed, content-addressed applications
A study pins exactly one application version — hashed, Ed25519-signed, every file readable in the browser before you trust it. Straight from the public registry:
-
01
Allele Frequency Count1 version
Exact aggregate allele counts over a sealed cohort (additive BFV, flagship).
-
02
Allele Frequency with Variance1 version
Allele counts plus server-derived variance (multiplicative BFV, depth 1).
-
03
Carrier Count1 version
Per-variant carrier counts over a sealed cohort (additive BFV).
-
04
Cohort Histogram1 version
Bucketed one-hot counts over any cohort (additive BFV, generic).
-
05
Genotype-Phenotype Covariance1 version
Encrypted x encrypted covariance (multiplicative BFV, depth 1).
-
06
Polygenic Score Aggregate1 version
Public-weighted score aggregate (additive BFV, plaintext-scalar multiply).
Usage
One trust loop, six commands
-
01
Create a project.
The researcher creates a study and pins one signed application bundle by its SHA-256 digest — on the CLI or the web — then mints a signed invite link for data owners.
$ blind projects create --application allele_frequency_count@9f3a…c41e
-
02
Contribute encrypted.
Each data owner runs one command against the signed invite link. Encryption happens locally, on their own machine; only ciphertext is uploaded — no account, no plaintext, ever.
$ blind contribute <invite-link> cohort.csv
-
03
Freeze the cohort.
Once the cohort minimum is met — 20 encrypted contributions by default — the researcher freezes the cohort: a cohort commitment is recorded and runs are capped. No compute happens before this.
$ blind projects freeze rare-disease-af
-
04
Compute on ciphertext.
The server runs the pinned application directly on encrypted data, in a sealed, network-isolated sandbox. It computes, but it cannot see.
$ blind jobs create --project rare-disease-af
-
05
Decrypt only the aggregate.
The researcher decrypts the result locally with their own key. Only the final aggregate is ever decrypted — never any individual contribution.
$ blind results decrypt job_7f2c
-
06
Verify it, offline.
Every run emits a Computation Certificate binding application, project, cohort, and result hashes — recomputed on your machine, fully offline with `--file`. The hashes need no trust in us; the governance rows (min-N, run cap) are anchored to a manifest we signed, and the CLI marks them as such rather than green.
$ blind certificates verify sha256:41ac…9be0 --file cert.json
Values
Fully obey Kerckhoffs' Principle.
Confidentiality never depends on the secrecy of the system. Open CLI, public applications, offline verifier — your plaintext and your secret key never reach the server, whatever the server does. Governance claims are a separate matter: the application-signing key is ours, so a green certificate proves consistency, not our honesty.
No data leaves the user's computer unencrypted.
Raw, encoded, and private artifacts are LOCAL ONLY. Encrypted is the only class that ever goes up.
You don't trust The Blind Machine. You verify it.
Every result carries a certificate that re-verifies on your machine, offline:
$ blind certificates verify sha256:41ac…9be0
New accounts start with $20 of compute credit.