Repository navigation
Konclave v0.8.0
Pre-releaseThe app
Security
- Changing your passphrase undid part of the check a device makes before it signs. Each device
keeps the address its vault uses for its own change, so that when it is asked to sign it can tell
the vault's change from a payment to someone else. It is told that address once and refuses to be
told again, so that a coordinator taken over later cannot label a stranger's output as change.
Changing the passphrase on a device erased that record. The device did not refuse to sign because
of it: the next screen that opened the vault found the record empty and took the coordinator's
answer at that moment as the new one. So on that device the answer that counted was the
coordinator's latest, not its first. A coordinator taken over at that moment could have named an
address of its own as the vault's change, and the device would then have added its part to a
payment that sends the leftover there, while its screen showed only the approved payment. That
needed the coordinator to be compromised at the moment the record was refilled, on as many
devices as the vault needs to sign. Changing the passphrase now replaces only the encryption and
keeps everything else the device had recorded. Open since 2026-09-15, when the record was
introduced, on devices where the passphrase was changed after that. A device that already changed
it keeps the address it took afterwards, which is the right one unless the coordinator was
compromised at that moment. We have no sign that it was used. Live on the web since 2026-09-30,
and in desktop v0.8.0.
Fixed
-
A password the app generated for you could be rated "fair". About 3 in every 1,000 generated
passwords had a character three times in a row, or a run like "defg", and the strength meter on
the same screen marks both down. The password was still strong, but the screen said otherwise
about a password it had just chosen. The app now keeps drawing until the meter rates the password
strong, and the meter is unchanged. -
The documentation described features that do not exist yet, and said the coordinator could not
read what it can. Member recovery and inheritance were listed as features; they are demos on a
throwaway vault, and a lost seat cannot be rebuilt or replaced yet. A "quorum by value" was
described that was never built. The coordinator was called blind, and payslip memos were said to
be readable only by their recipient; in fact the coordinator holds each vault's viewing key and
can read the balance, the payments, the amounts, the memos and the members' names, though it never
holds anyone's part of the key and cannot spend. The docs also said votes were not authenticated,
when every vote, proposal, payroll, rename and send is signed by the member's device and checked;
and that a vault never dies from one lost seat, which is false in a 2 of 2. The docs, the landing
screen and the payment screen now say what is true, including which desktop release is the latest,
and that it is a pre-release that is not code-signed, with no Intel Mac build. The quorum on the
web's create screen can no longer be set to 1, since the signing library refuses a quorum of 1
when the vault's key is made. The older standalone/netand/createscreens still offer it,
and the coordinator still accepts it at registration (#589). The docs also gain a FAQ, a step-by-
step guide to backing up your seat and one to restoring it on a new device, and a plain account of
what to do when a seat is lost for good: create a new vault and move the funds with a signed
payment while the remaining members still reach the quorum.
The desktop shell and shared parts
Services deployed when this was cut (2026-09-30): coordinator
80e3a18, relay03bb736890c63e86.
The web app is this release's own commit. The two services are deployed by hand and may be
older than it - recording what they were ANSWERING is the point, not what they should have been.
Fixed
- The backup checker reported every backup's quorum as missing, and the last member's backup as
damaged.scripts/open-export.mjsopens a backup without Konclave and says whether it holds
what a rebuild needs. It looked for the vault's quorum in a field that holds the vault's policy,
not its numbers, so every backup read "the quorum it belongs to: NO", and the check that the
share agrees with the rest of the file never ran. It also counted seats from 0, so the backup of
whoever held the last seat was reported INCONSISTENT. The backups were complete; the checker was
wrong about them. It now reads the quorum from the share, where a backup keeps it, checks the
share's member count against the member list, and counts seats from 1.
Desktop installers (Windows / macOS / Linux) are attached below.