Skip to content
Anon Wallet

Verify Anon downloads

Start at Anon downloads. The release history lists available files, versions, compatibility, SHA-256 hashes, and platform signing information. An unavailable entry is not a download. The desktop wallet is not released through this hub yet.

Before installing

  • Android: use Google Play or the verified direct APK linked by Anon. Keep your existing wallet installed when updating. If Android reports a signature conflict, stop and contact support; do not uninstall your wallet to bypass it.
  • Network Guard on macOS: use the signed, notarized setup app from the exact Network Guard release linked by Anon. Its Developer ID publisher is AHLOOP LLC, Apple team G4CUY3UK8U. Retain Gatekeeper checks. Signing and notarization establish platform checks, not a guarantee that software has no vulnerabilities.
  • iOS: use the public TestFlight invitation for now; there is no independent iOS package download here.

Check the file hash

Expand the release's verification details and compare the complete SHA-256 with the downloaded file. On macOS:

shasum -a 256 /path/to/downloaded-file

If even one character differs, do not install it. A hash only authenticates a file when you trust the source of that hash. For stronger offline verification, verify the signed release catalog below.

Anon's release-metadata key

Android and Network Guard release catalogs share a dedicated Ed25519 key. It does not sign Android APKs or macOS applications and is separate from wallet, paymaster, Apple Developer ID, and Google Play signing keys.

SHA-256 of the public key's SPKI DER encoding (not the PEM text):

2f9d96735d7e9640c24c9d46b69cb9a2ad4a54da0b7d61e3694105bd0a00745d

Check a downloaded public key with:

openssl pkey -pubin -in anon-release-metadata.pub -outform DER | shasum -a 256

Compare the fingerprint through a separately trusted Anon channel or a previously pinned source revision. A key delivered beside a malicious download cannot prove its own authenticity. The discovery record describes the key; it is not a self-authenticating replacement for your existing trust pin.

Offline catalog verification

Advanced users can review or clone the release tooling and use Node 22+ locally. Normal installation does not need Node, a source checkout, or a terminal. Obtain catalog.json, catalog.json.sig, and SHA256SUMS for the selected release. The signature authenticates the exact catalog bytes; do not reformat its JSON.

From the reviewed Network Guard source directory:

node release/cli.mjs verify \
  --catalog /path/to/catalog.json \
  --signature /path/to/catalog.json.sig \
  --public-key release/trust/anon-release-metadata.pub \
  --sums /path/to/SHA256SUMS

Add --artifacts /path/to/artifact-root to check the downloaded files too. Preserve the paths printed in the authenticated SHA256SUMS under that root. For a GitHub Network Guard ZIP, that is network-helper/VERSION/BUILD/FILENAME.zip; keep the catalog checksum file distinct from a GitHub asset's basename-only checksum file.

A successful signature check authenticates metadata, including the version, build, file hash, size, download URL, and signing identity. It does not mean the release is available: inspect channel and status. Test or unreleased records are not public production releases. A previously signed record can also be stale; check current withdrawal notices at the release history before installing.

Platform signature verification is still required. macOS Gatekeeper and Android package signatures provide different checks from the metadata signature.

Key changes and suspicious downloads

Do not automatically trust a new key because a catalog or download bundle asks you to. Key changes require an explicit trust update, independently confirmed fingerprints, and a published rotation or incident notice. Retain trusted old public keys for historical verification. Never share a seed phrase, wallet key, or signing credential to troubleshoot a download.

See Network Guard setup for installation help and Network Guard's security policy to report a suspected vulnerability privately.