Free · Open source

QEV — Qira Encryption Vault

Encrypt a message. Remember the phrase. Send the file anywhere. Pair devices with a QR code. Chat with encrypted messages. No accounts. No recurring fees. Vault files are offline; optional chat uses a delivery relay that cannot read message content (not a plaintext server).

Free forever
No account required
Open source
Device pairing
Encrypted chat
Per-chat lock/unlock (phrase never saved)
Keychain-wrapped identity (Mac)

macOS v0.29.0

Apple Silicon & Intel · macOS 11 Big Sur or newer

~2 MB DMG Download .dmg

v0.29.0 highlights: macOS Keychain-wrapped private key · per-chat lock/unlock with the shared phrase never saved · locked chats display as copyable ciphertext so you can still scroll, select, and decrypt elsewhere (Open-a-vault tab or /vault) · refreshed chat UI with bigger tap targets, smoother peer switching, and a proper mobile back-button flow. Existing installs migrate automatically on first launch.

macOS will say it can't verify this app — why, and what to do

Read this first. This build is not signed with an Apple Developer certificate and not notarized by Apple. At most it carries an ad-hoc signature, which identifies nobody. macOS is telling you the truth: it cannot verify who built this app. So check the SHA-256 of the file you downloaded first (Verify what you downloaded), then decide.

  1. Open the .dmg and drag QEV.app into your Applications folder.
  2. macOS 11–14: Control-click (right-click) QEV in Applications, choose Open, then Open again in the dialog.
  3. macOS 15 and newer: Control-click no longer opens blocked apps. Double-click QEV once and let macOS refuse it, then open System Settings → Privacy & Security, find the message about QEV being blocked, and click Open Anyway.
  4. You approve the app once. After that, double-click works normally. No Terminal, no sudo.

If macOS still refuses — some versions report an unsigned app as "damaged" — removing the download-quarantine flag is the step that helps:
xattr -dr com.apple.quarantine /Applications/QEV.app
Run this only after the SHA-256 matched. It deletes one attribute, the marker that says the file arrived from the internet. It does not make the app verified and it tells you nothing about who built it — the hash check is the part that does. Add sudo in front only if you get "Operation not permitted".

Why this happens at all: signing requires a $99/year Apple Developer certificate that hasn't been bought yet, so Gatekeeper has nothing to check. These installers are produced by the public build workflow (.github/workflows/qev-build.yml) in the open-source repo, but there is no reproducible-build attestation, so you cannot independently prove this file came out of that workflow. You can prove the hash. Versions, test counts, and what has and hasn't been assessed are on /status/.

Windows v0.29.0

x64 · Windows 10 / 11 · WebView2 (auto-installed)

MSI installer · full feature parity with Mac Download .msi or .exe installer

v0.29.0 has everything the Mac has: device pairing (QR & safety number), encrypted chat with relay delivery, per-chat lock/unlock, identity backup/restore, and the same vault format — cross-platform compatible with QEV v0.29.0 on Mac and Android.

Windows SmartScreen will warn you — why, and what to do

Read this first. These installers are not Authenticode-signed, so Windows has no publisher identity to check and SmartScreen flags them as unrecognized. The warning is correct.

  1. Check the file's SHA-256 with the Get-FileHash command in Verify what you downloaded.
  2. If it does not match the published hash, delete the file and don't run it.
  3. If it matches and you want to proceed: run the installer, click "More info" in the SmartScreen dialog, then "Run anyway".

An EV Authenticode certificate is what would remove this warning honestly, and it hasn't been bought yet. Until then Windows genuinely cannot tell you who built this installer. The binaries come from the public build workflow in the open-source repo, but that link isn't independently verifiable — the hash is.

Android beta

arm64 · Android 7.0+

~38 MB APK Download .apk

Sideload build. The APK is signed with a throwaway keystore that CI generates on each run (see qev-build.yml), not with a stable release key — so the signature identifies nobody, and a later build signed with a different throwaway key may refuse to install over this one (you'd uninstall first). Check the SHA-256 before you install: Verify what you downloaded.

Linux / CLI CLI v0.31.0 · npm

Node 18.17+ · same Vault V2 format · versioned separately from the apps

npm i -g @bryan237l/qev-cli

Interactive use only — not for scripts or CI. qev always prompts for the phrase on a terminal and refuses to read one from piped stdin ("phrases must be typed interactively"). There is no --phrase flag and no environment-variable equivalent. That is deliberate — a phrase sitting in a CI variable or a shell history isn't a secret any more — but it does mean the CLI is for a human at a terminal, and cannot be used for unattended automation.

Only one published package name is ours. The CLI is published as @bryan237l/qev-cli (v0.31.0) and nothing else. @imagineqira/qev-cli is a brand-aligned name we intend to use later; it is not published, and as of 2026-07-30 the entire @imagineqira npm scope is unregistered. If you ever see a package under that name, it did not come from us — check back here, or against /status/, before installing it.

Which version is which: the macOS, Windows and Android downloads above are app build v0.29.0. The CLI is a separately versioned npm package (v0.31.0). The encrypted file format all of them read and write is Vault V2, which is versioned on its own and does not track the app number. /status/ is the authoritative version and test matrix — if this page ever disagrees with it, /status/ is right.

Downloads = Envelope Core + optional Qira Link. Commercial capture gateway (connectors, Field Service evidence): /platform/ · Versions & test counts: /status/ · Trust marks: /trust/

Before you install
Verify what you downloaded
None of these builds are signed by Apple or Microsoft, so your operating system cannot tell you where the file came from. What you can do is confirm that the bytes on your disk are the bytes this site published — and the hashes below are themselves inside an Ed25519-signed manifest, so you don't have to take this page's word for them either.

macOS / Linux — in Terminal, on the file you downloaded:

shasum -a 256 ~/Downloads/QEV_0.29.0_aarch64.dmg

Windows — in PowerShell:

Get-FileHash -Algorithm SHA256 "$HOME\Downloads\QEV_0.29.0_x64_en-US.msi"

Compare the output with the matching row below. Case doesn't matter — PowerShell prints uppercase, shasum prints lowercase. If it does not match, delete the file and don't install it.

File SHA-256
QEV_0.29.0_aarch64.dmg
macOS app build v0.29.0
6bcf9af45084ecd609050c64ad082d18e7c995f819ac101a00f44fbaa2b33b8d
QEV_0.29.0_x64_en-US.msi
Windows installer, app build v0.29.0
6158f3edebcd3e5bba3a5da15c276e4c86e3df8f252fdc031d1238f6ec0b1171
QEV_0.29.0_x64-setup.exe
Windows setup .exe, app build v0.29.0
e4ef7d8c7a30aed90e6a191e5089af682fb2b8cfc624ffce90621100a88e700c
QEV-0.29.0-release.apk
Android sideload, app build v0.29.0
0f625b397b4f7ffe4b2f847f9f4d87401f6d0fc3a6fe6132c15fac7cda998dae
QiraLink-0.1.0-alpha.0-aarch64.dmg
Qira Link alpha (separate product)
cd3e002297425454189607c654b3d72fd4e28f2097251d54d768b51b8ae8550f
qira-link-install.sh
optional install script — verify it before running it
c097902c5244dfe2fbec5e370df0e5c59a82e7844c46c267e9b5f4abce05e4a1

Where these hashes come from. Every file this site serves — including each artifact in the table — is SHA-256 hashed into /site-integrity.json, and that manifest is signed with an Ed25519 key whose public half is published at /site-signer.ed25519.pub. /verify shows how to check that signature yourself. So the chain you can walk without trusting us is: verify the signature over the manifest, then check your file against the manifest. If this table ever disagrees with the signed manifest, the manifest is right and this page is stale.

What a matching hash proves, and what it doesn't. It proves you received the exact bytes this site published, unaltered in transit. It does not prove the software is safe, and it is not a substitute for operating-system code signing, which is still absent here. Signing and notarization are what let macOS and Windows vouch for a publisher before the code runs; buying those certificates is our job, not yours. The CLI is installed from npm rather than from this site, so it is not covered by this manifest.

Sibling product · Early alpha · v0.1.0-alpha

Qira Link

A private encrypted mesh between devices you own. Same pair-in-person trust model as QEV — at the network layer. No accounts. No VPN provider. No exit nodes. Just your devices reaching your devices, from anywhere.

UNSIGNED ALPHA Install it by hand — steps you can see

This alpha is not signed by Apple, so macOS will refuse it on first launch. That refusal is correct. Do this in order:

  1. Download the DMG below, then check its SHA-256 (Verify what you downloaded). If it doesn't match, stop there.
  2. Double-click the DMG and drag Qira Link into Applications.
  3. Control-click Qira Link in Applications → Open. On macOS 15 and newer, double-click it once, let macOS refuse it, then use System Settings → Privacy & Security → Open Anyway.
  4. Only if macOS still refuses, see the troubleshooting section at the bottom of this card.

The manual path needs no Terminal and no sudo password.

There is an install script — download and read it before you run it

We deliberately don't ask you to pipe a URL into a shell. Piping means running code you never saw, from a server you're still deciding whether to trust, with sudo in it. Fetch it, verify it, read it, then run it:

cd ~/Downloads
curl -fL -O https://secure.imagineqira.com/downloads/qira-link-install.sh
shasum -a 256 qira-link-install.sh   # compare with the table in "Verify what you downloaded"
less qira-link-install.sh            # read it: it uses sudo
bash qira-link-install.sh

Everything it does: downloads the alpha DMG to /tmp, mounts it, copies Qira Link.app into /Applications using sudo (that's what the password prompt is for), removes the download-quarantine flag, ad-hoc signs the bundle if macOS reports it as damaged, unmounts the DMG, and launches the app.

The manual steps above reach the same result without a script and without sudo. Prefer them unless you're comfortable reading bash.

macOS alpha

Apple Silicon · macOS 11+

~4 MB DMG Download .dmg

Unsigned alpha. Follow the numbered steps above, starting with the SHA-256 check (Verify what you downloaded).

Windows not yet

Not available for download yet.

Coming soon

The MSI + WinTun bundling is scripted and ready; we'll post a binary here once we've signed it with an Authenticode certificate. Intel/AMD 64-bit · Windows 10 1809+.

Android not yet

Not available for download yet.

Coming soon

The APK + VpnService wiring is scripted; we'll post a signed build here once we rotate the Play Store keystore. arm64 · Android 7.0+.

Learn more Needs QEV installed on the same device — Qira Link reads QEV's paired-peer list
First time you click Connect: macOS Keychain prompt

The first time you click Connect on a peer, macOS will pop a dialog asking to share your QEV identity from the Keychain:

"Qira Link wants to use your confidential information stored in com.imagineqira.qev in your keychain. To allow this, enter the 'login' keychain password."

Click "Always Allow" and enter your Mac login password once. This adds Qira Link to the Keychain item's access-control list; you'll never see the prompt again.

Why this happens: QEV created the item. macOS enforces per-app access-control lists — only the app that created a keychain item can read it silently. Qira Link is a different binary, so the OS asks for your consent on first use. Once both apps are signed with the same Apple Developer ID and share a keychain-access-groups entitlement (shipping release), this prompt goes away entirely.

Troubleshooting: "Qira Link cannot be opened" or "Qira Link is damaged"

Both messages mean the same thing: this alpha is unsigned, and macOS Gatekeeper blocks unsigned binaries by default. That is the OS doing its job, not a bug. Before you work around it, confirm you actually have the file we published — check the DMG's SHA-256 against the table above. If the hash doesn't match, stop; nothing below is safe to do.

If the hash matched and you still want to run this alpha:

  1. Remove the download-quarantine flag on the installed app:
    xattr -dr com.apple.quarantine "/Applications/Qira Link.app"
    open "/Applications/Qira Link.app"
    This removes one specific attribute — the marker saying the file came from the internet — rather than wiping every extended attribute. It does not make the app verified. Add sudo in front only if you get "Operation not permitted".
  2. If it still says "damaged" (Sonoma / Sequoia are stricter), ad-hoc sign it locally:
    codesign --force --deep --sign - "/Applications/Qira Link.app"
    open "/Applications/Qira Link.app"
    The - after --sign is a literal minus sign: it produces an ad-hoc, certificate-less signature. Be clear about what that is. Apple Silicon requires every binary to carry at least an ad-hoc signature before it will run, so this can make the app launchable. It carries no authenticity at all — anyone can ad-hoc sign anything, and the signature you just created is your own, made on your own machine. It says nothing about who wrote the code or whether it was altered before it reached you. The SHA-256 check in the previous step is the part that tells you something.
  3. Can't find Qira Link.app? Your browser may have put the DMG somewhere other than Downloads. Locate it with:
    mdfind -name QiraLink-0.1.0-alpha.0-aarch64.dmg
    — then double-click that path.

None of this is a substitute for signing. It goes away when the shipping build is signed with an Apple Developer ID certificate and notarized by Apple — that costs $99/year and hasn't been bought yet.

Prefer to try it in the browser first?

The browser version at secure.imagineqira.com/vault uses the same crypto and the same vault format as the desktop app. No account needed — just open it and start encrypting.

Open the Web Vault
Who it's for
Real-world moments QEV is built for
Not research labs. Not datacenters. The everyday cases where you need one secret to reach one person, once, and nothing else.
🔑

Hand over a starter password to a new employee

HR creates accounts. You need to deliver the temporary password without posting it in a Slack channel that's audited forever. Lock it in QEV, text them the phrase, email them the file. They open it on day one, read the password, delete the file.

📄

Send a settlement PDF password to a client

The PDF goes through the firm's portal. The password needs to reach the client separately, and email isn't appropriate. Lock the password in QEV, download the box file, hand it off however you want. Tell the client the phrase over a phone call. Done.

👨‍👩‍👧

Share the Wi-Fi password with grandma

She's not going to install 1Password. She's not going to make a LastPass account. She needs to open a file on her laptop, read the Wi-Fi password, and throw the file away. Lock it in QEV, AirDrop it to her, tell her the phrase on the phone.

🏥

Share a medical detail with family

A diagnosis, a prescription, something private that shouldn't sit in an email thread forever. Lock it in QEV, share the file on a family chat, tell the person the phrase in person. Delete the file after they read it.

📓

Store a private note for yourself

A journal entry. An account recovery code. A reminder you don't want a cloud backup to see. QEV writes an encrypted box file to your disk; only you know the phrase. The file survives backups and sync without exposing the contents.

🎁

Pass a gift surprise to a partner's phone

You want to send a reservation or gift detail that shouldn't sit readable in their phone's lock screen notifications. Lock it in QEV, text them the file, whisper them the phrase. They open it when they're ready.

Why QEV
Where it fits in the encryption-tool landscape
Three boxes checked that no other tool checks together: free and open source, offline forever, cross-device portable files.
QEV Bitwarden Premium 1Password Signal
Cost Free ~$20/year $35.88/year Free
5-year total cost Free $99 $180 $0
Account required No Yes Yes Yes (phone number)
Works offline forever Yes No (server sync) No (server sync) No (needs network)
Message survives service shutdown Yes Depends on export Depends on export No
Recipient needs the app No (free web version works) Yes Yes Yes
Category Encrypted envelope Password manager Password manager Messenger

QEV isn't trying to replace any of these. If you need a password database, get Bitwarden. If you need an end-to-end messenger, get Signal. QEV covers the one case those tools don't: encrypt one secret, once, send the file anywhere, no account, no server, no subscription.

How it works
Thirty seconds, start to finish
Zero learning curve. If you can save a file, you can use QEV.
Step 01

Type the message

Anything you want to keep private. Up to 256 KiB of text. Passwords, notes, recovery codes, a letter.

Step 02

Pick a secret phrase

Four random words. The app has a generator if you don't have one in mind. You remember this phrase — it is never stored anywhere.

Step 03

Click Lock it

QEV produces an encrypted vault file. Save it wherever you want. The file is safe to send through email, chat, USB, SMS, anything.

Step 04

Share the phrase separately

If you're sending to someone else, tell them the phrase through a different channel (phone call, in person, text). They open the file in QEV and see the message.

Verifiable trust
You don't have to trust us. Check the code.
QEV uses only well-reviewed standard primitives and the site ships its own integrity proof.

Standard crypto only

XChaCha20-Poly1305 for encryption. Argon2id for phrase stretching. Both are RFC-standard algorithms implemented by the libsodium library Signal uses. QEV invents no new cryptography.

Site integrity is signed

Every file on this site is SHA-256 hashed and the manifest is signed with ed25519 — including the installers on this page, so you can check a download against it. The public key is published. Anyone can verify the signature against the manifest independently.

How to verify Download hashes

No telemetry; the vault itself is offline

No analytics, no crash reporting, no update-check pings. Encrypting and decrypting a vault happens entirely on your machine — that path never touches the network, and you can confirm it with a packet sniffer. Device pairing and encrypted chat are the exception: those features deliver messages through a relay, so they do use the network when you use them. If you want the strictly offline path, use the vault on its own. See Security for the pairing and chat trust model.

Ready?

Free and open source. Mac, Windows, Android, and CLI. No account, no payment, no server.