blindrange

Try blindrange in your browser

The browser is the backend. This static page derives the keys, plans the queries, seals the records, and talks to the public network directly — the nodes store ciphertext they cannot read, and no server-side application exists anywhere. View source.

1Your database

No database open. State lives in this browser's IndexedDB, sealed with your passphrase (PBKDF2 + AES-GCM); the network only ever sees ciphertext under pseudorandom keys.

2Write sealed records

3Range-query the ciphertext

amount to

4Invite another device — or Python

an invite IS the master key — treat it like one

5What actually happened

Waiting…
Honesty first: this talks to the public demo network — a published membership secret and no durability promise; run your own nodes for anything real. Requests reach the nodes through this site's HTTPS gateway (one node's /fwd), because browsers refuse plain-HTTP from an HTTPS page — the gateway sees who talks to whom, which nodes always could; it reads nothing, which nodes never could. Reads after the first are answered from an in-page mirror. The client is one dependency-free file, byte-compatible with the reference and pinned to it by a cross-language test suite.
blindrange.dev · the SQL guide · the Python guide · the Node.js guide · built on it · demos · source