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.