FAQ
Frequently asked questions about QNSQY post-quantum data encryption, database migration, cold storage PQC, migration-as-a-service, and PQC readiness assessments.
General
Security
Practical Use
tar -cf folder.tar myfolder/ && qnsqy encrypt -i folder.tar. This gives you a single encrypted file containing your entire folder structure.
qnsqy login. Your existing encrypted files will continue to work; the file format is identical across all tiers. Pro gives you ML-KEM-512/768 + ML-DSA-44/65 unlimited (0 credits), plus 1,200 credits/mo for ML-KEM-1024/ML-DSA-87/SLH-DSA. Business makes everything unlimited. Enterprise adds a signed SLA, dedicated engineering channel, quarterly 4-hour readiness consult, white-glove onboarding, and a named customer-success contact (air-gap license and HSM integration are v7.3 roadmap). Pay-as-you-go: $0.05/credit.
Pricing & Licensing
Algorithms & Tiers
All tiers: AES-256-GCM, XChaCha20-Poly1305, Argon2id, BLAKE3, X25519 + Ed25519
Free: ML-KEM-512 + X25519 hybrid, ML-DSA-44
Pro: ML-KEM-512/768/1024, ML-DSA-44/65/87, SLH-DSA, ML-DSA+Ed25519 hybrid
Business: Everything in Pro plus FN-DSA-512/1024 (Falcon, FIPS 206 (draft)), FN-DSA+Ed25519 hybrid, HQC-128/192/256 + X25519, LMS (SP 800-208), compliance features, and organizational deployment
qnsqy timelock encrypt -i file --duration 30d
migrate command, you can then batch re-encrypt these files using post-quantum algorithms. Usage: qnsqy scan /path/to/data/ then qnsqy migrate /path/to/data/. This helps organizations systematically transition their encrypted data to quantum-safe protection.
qnsqy vault init, qnsqy vault add, qnsqy vault get, qnsqy vault list, qnsqy vault remove, qnsqy vault edit, qnsqy vault export, qnsqy vault import, qnsqy vault rekey. Clipboard auto-clears after 10 seconds.
qnsqy deniable create -o container then qnsqy deniable open -i container.
qnsqy threshold-encrypt -i file -m 3 -r key1.pub -r key2.pub -r key3.pub -r key4.pub -r key5.pub and qnsqy threshold-decrypt -i file.qs --key key1 --key key2 --key key3.
qnsqy keyfile generate -o mykey.qskf, qnsqy keyfile encrypt -i file --keyfile mykey.qskf, qnsqy keyfile decrypt -i file.qs --keyfile mykey.qskf. Note: keyfile encryption uses AES-256-GCM directly without KEM.
qnsqy hash -i file to compute a BLAKE3 hash, or qnsqy hash -i file -a sha3 for SHA3-256. Verify with qnsqy hash-verify -i file --hash <expected-hash>. Recursive directory hashing is supported with -r.
symmetric command (Pro+) provides a simplified encryption mode using AES-256-GCM or XChaCha20-Poly1305 directly with a password. Unlike the standard encrypt command, it doesn't use hybrid KEM or generate recipient keypairs. Just straightforward password-to-AES encryption. Usage: qnsqy symmetric -i file to encrypt, qnsqy symmetric -i file.qs -d to decrypt.
Organizations & Teams
For Developers
test-no-mlock is a Cargo feature flag that disables mlock() system calls during tests. mlock() locks memory pages to prevent secrets from being swapped to disk, a critical security feature in production. However, it requires either root privileges or a high RLIMIT_MEMLOCK value. In CI environments, containers, or unprivileged accounts, mlock() may fail. The test-no-mlock flag compiles out all mlock() calls so tests can run anywhere. Never use this flag in production builds. Usage: cargo test --features test-no-mlock. See the full explanation in the Docs.
gcc/clang), and cmake. Then: cargo build for debug CLI, cargo build --release for optimized CLI, or cargo build --release --features gui for GUI. Tests: cargo test --features test-no-mlock. See the complete build guide.
gui (Slint GUI), tui (terminal UI), billing (SaaS billing, on by default), test-no-mlock (skip mlock in tests), minimal (smallest attack surface), hardened (strict security), paranoid (maximum security). The tier-enterprise and tier-ultra flags are legacy no-ops; tier is determined at runtime via billing. See all feature flags explained.
unsafe_code = "warn" at the workspace level for visibility. A small number of unsafe blocks exist in low-level code: seccomp BPF filter setup, mlock()/madvise() syscalls, and some FFI bindings to C crypto libraries. Each block is individually annotated with #[allow(unsafe_code)] and has been security-audited. The warn level ensures any new unsafe usage is immediately visible during development and CI. See the Docs troubleshooting section.
Troubleshooting
sudo or as the root user. Your license is tied to your normal user account and machine; running as root looks like a different user, so the saved subscription no longer matches and QNSQY falls back to Free. Run qnsqy as your normal user, never with sudo. If the tier is still wrong, run qnsqy login, make sure the machine can reach billing.quantumsequrity.com once, and let it revalidate online. After one successful online check the correct tier is cached for offline use.
npm install -g qnsqy --include=optional. This is by design: the wrapper stops with a clear message rather than leaving you a broken command.
repo_gpgcheck=1 and gpgcheck=0: dnf verifies the repository metadata with our GPG key, and that signed metadata pins the exact SHA-256 of every package. Integrity is enforced at the metadata layer, which is why dnf notes it skipped the separate per-package OpenPGP check. The package you install is still cryptographically pinned to what we published.
checksums.txt (sha256sum on Linux, certutil -hashfile <file> SHA256 or Get-FileHash on Windows). (2) Post-quantum ML-DSA-87: qnsqy verify-release checksums.txt checksums.txt.sig verifies the signed manifest with the key embedded in every QNSQY binary. (3) cosign / Sigstore: cosign verify-blob against the public transparency log. Installing through the apt or dnf repo verifies signed metadata automatically. The exact commands are on the download page.
Pick one channel and stay on it. Check what you have at any time with qnsqy version.
npm: install npm install -g qnsqy, upgrade npm install -g qnsqy@latest, uninstall npm uninstall -g qnsqy.
apt (Debian / Ubuntu): after adding the QNSQY apt repo, sudo apt update && sudo apt install qnsqy; the same command upgrades; remove with sudo apt remove qnsqy.
dnf (Fedora / RHEL / AlmaLinux): after adding the repo, sudo dnf install qnsqy; upgrade sudo dnf upgrade qnsqy; remove sudo dnf remove qnsqy.
Windows: run the installer to set up or update, or replace the portable .exe with the newer one; uninstall via Settings > Apps (installer), or just delete the portable .exe.
qnsqy-setup-7.2.37.exe) sets QNSQY up system-wide, adds it to your PATH, and creates Start-menu entries; use it for a normal desktop install. The portable build (qnsqy-7.2.37-x86_64.exe) needs no installation: run it from any folder or a USB stick, which suits locked-down or air-gapped machines. On a fresh download Windows SmartScreen may say "Unknown Publisher"; the next answer explains why that is expected.
qnsqy --mcp to expose QNSQY's operations to any MCP-compatible agent over stdio (JSON-RPC). Point your agent's MCP client at that command and it can call tools such as encrypt, decrypt, sign, verify, and hash under the same tier rules as the CLI. REST API: for server-side and programmatic integrations, see the Developer API, which exposes the same cryptographic operations over HTTP with an API key. Both run locally under your control; your keys and data are never sent to us.
Your data is safe and the binary is authentic. QNSQY releases are signed with NIST FIPS 204 ML-DSA-87 post-quantum signatures: every release ships a SHA-256 checksums.txt manifest plus an ML-DSA-87 signature (checksums.txt.sig) over it, cryptographically stronger than Microsoft's legacy Authenticode. Windows does not yet natively verify post-quantum signatures, so SmartScreen labels the publisher as "Unknown".
A Microsoft Authenticode certificate costs money and takes weeks of vetting. We will add it as a convenience layer in a later release. The cryptography protecting the binary itself is unaffected, and we chose to ship real post-quantum signatures today rather than wait on the legacy certificate path.
You can independently verify the binary two ways: (1) certutil -hashfile qnsqy.exe SHA256 or Get-FileHash qnsqy.exe matched against the SHA-256 on the download page, or (2) qnsqy verify-release checksums.txt checksums.txt.sig from any existing QNSQY install, which verifies the signed checksums manifest with the ML-DSA-87 key embedded in the binary (BLAKE3 fingerprint 50af23b47dca8d74; the same public key is published at quantumsequrity.com/keys/release-mldsa87.pub), then match your download's hash against the verified manifest. Once verified, click "More info" in the SmartScreen dialog, then "Run anyway". See If Windows warns you on the download page for the full step-by-step.
Post-quantum cryptography essentials
paid-pro and paid-business control which subcommands are compiled into the binary but do NOT bypass billing enforcement. Compile-time tier-override flags were removed in 2026 Q1 (R51 cleanup) because they leaked into builds and bypassed billing entirely. Tier is therefore not changeable by recompilation.
quantumsequrity; the full source is provided under NDA to evaluators and customers.
qnsqy shred does a 3-pass overwrite, which works well on traditional spinning disks. On SSDs with wear leveling, on copy-on-write filesystems (btrfs, ZFS), or on shingled-magnetic-recording disks, overwrite cannot reach every prior copy of the data. The honest recommendation for SSDs is full-disk encryption with secure-erase at decommission time. Use qnsqy shred as defense in depth, not as a sole data-destruction guarantee.
Still have questions?
Contact us and we'll be happy to help.