Skip to content

Konclave v0.8.0

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 30 Sep 15:39
e0993af

The 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 /net and /create screens 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, relay 03bb736890c63e86.
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.mjs opens 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.