Skip to content

SafeKeepVault v1.50

Choose a tag to compare

@github-actions github-actions released this 21 Oct 14:41
· 209 commits to main since this release

Replaced by v1.51.Release Date: October 21, 2026

Build: v1.50 · build 315 · ff1e6c3 · 2026-10-21

Safer seed generation: SafeKeep now checks its randomness before every seed and refuses dice rolls that could be guessed. Earlier changes are in the v1.49 release notes.

🔄 Update in place from v1.47, v1.48 or v1.49

  1. Copy SafeKeep-Update-v1.50.tar onto your stick's TRANSFER drive.
  2. Boot SafeKeep and unlock your vault.
  3. Open Device Options → Update SafeKeep → Check for update, then Install and Restart now.

Your vault and Transfer Drive are not touched. Before installing, SafeKeep shows the app's SHA-256: it should match the boot.html line of this release's SHA256SUMS.

⚠️ Updating from v1.48: the Restart now at the end can stop on a screen of scrolling errors. The update is already complete at that point, so hold the power button to switch off, then start again. Updating from v1.49 restarts cleanly.

Sticks set up with v1.46 or earlier still need one last reflash onto a flash drive of 8 GB or more. The update guide walks you through it.

🩺 Random number check before every seed

Before making any seed, SafeKeep tests the computer's random number generator: it must be the browser's built-in one, and a sample of its output must not be lopsided, repeating or counting up, or the same as the last draw. If the check fails, no seed is made and SafeKeep says why. This applies to the one-click seed and to Mixed mode.

🎲 Patterned dice refused in Verifiable Dice

In Verifiable Dice mode the rolls are the whole seed, with nothing else mixed in. SafeKeep now looks at the order of the rolls as well as the face counts, and refuses rolls that follow a pattern, such as 123456 over and over, a repeating sequence or long runs of one face. Rolls that only look unusual, or a die that looks very biased, need you to tick a box confirming the rolls came from real dice. In simulations, real fair rolls were never refused, and about 1 in 100 sets asked for confirmation.

🔀 Stronger mixing in Mixed mode

Your dice, cards, mouse and camera input is now combined with a fresh 32-byte draw from the computer's random number generator using SHA-256 (domain-separated), instead of XOR. The seed is at least as strong as the better of the two.

🖱️ Mouse counts for less

Mouse movement now adds 0.25 bits a sample and can fill at most half the meter, so the rest has to come from dice, cards or camera noise. After a seed is made, everything you added is cleared, so the next seed starts fresh.

✅ Verifying This Release

The USB image (SafeKeep-Release-v1.50.zip):

  1. Download SafeKeep-Release-v1.50.zip, SHA256SUMS.txt and SHA256SUMS.txt.asc.
  2. Verify the signature:
    gpg --verify SHA256SUMS.txt.asc SHA256SUMS.txt
    Expect a good signature from Anton anton@safekeepbitcoin.com, key fingerprint A333 EB82 6F70 A79A 736F 0994 8EA7 DD8C EDBA 86C2.
  3. Unzip, then check the image hash:
    shasum -a 256 -c SHA256SUMS.txt
    Expected: 488cbf96bf092b7ec9ca5131ed482639b36f96e821c46fb97ccaf961aa23bb6a SafeKeep-Release-v1.50.img

The update file (SafeKeep-Update-v1.50.tar) carries its own signature, which the stick checks before installing.

The app on its own (boot.html; its checksum file is SHA256SUMS, without .txt):

sha256sum -c SHA256SUMS
gh attestation verify boot.html -R Pasalon0404/SafeKeepVault
gpg --verify SHA256SUMS.asc SHA256SUMS

Expected: dc67977256b802e24675730917975d0521b57197da90be5cd171fb42e9f723df boot.html

The boot.html inside the USB image and the update file is byte-for-byte this release's boot.html. See VERIFYING.md for every check.