The Blind Machine

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.

Read the white paper →

$ 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 
The CLI is the trust surface — every boundary crossing prints its trust class.

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:

Browse all applications →

Usage

One trust loop, six commands

  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

01

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.

02

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.

Keyboard shortcuts

  • Cmd/Ctrl+K
    Focus global search
  • ?
    Open keyboard shortcuts

Send feedback

We'll only use this to respond to your feedback.