Skip to main content

q-armor-cli

q-armor: post-quantum posture of any TLS endpoint, from your terminal, in one command.

PyPI Python Licence

The traffic your validator is emitting right now is being recorded by somebody who cannot read it yet. Harvest Now, Decrypt Later is the one attack you cannot respond to after the fact, because the copy was taken years before the key broke. The first useful question is simple: what is this endpoint actually negotiating?

pip install q-armor-cli
q-armor scan example.com
hostname: example.com
port: 443
tls_version: TLSv1.3
cipher_suite: TLS_AES_256_GCM_SHA384
cert_key_type: rsa-2048
cert_issuer: DigiCert Inc
key_exchange_group: x25519
signing_algo: rsa
session_algo: x25519
vqs_score: 80
risk_tier: deny
consensus_weight_factor: 0.1
error: None

vqs_score is exposure, so higher is worse. RSA signing and an x25519 key exchange are both classical, both fall to Shor, and the consensus weight factor is what that costs a validator: one tenth of its vote.

Three commands

q-armor scan example.com            # post-quantum posture of a TLS endpoint
q-armor vqs <validator-id>          # a validator's VQS
q-armor proxy --port 8080           # start the protection proxy

Add --json to any of them and pipe it into whatever you already run.

Three, and the list is not a matter of taste: docs/priorities.md (P1-11) says that before writing a CLI you have to answer what an operator asks for, "because a CLI without that case is surface to maintain".

What it will not do

  • It does not reimplement detection. Every command consumes q-armor-lib. A second scanner here would be another producer of the key_establishment_class axis, diverging in silence.
  • It does not let telemetry block your answer. A scan reports what it measured even if the border is down, misconfigured or refusing on consent grounds. A command that failed because it could not report would be a command that lies about what it has measured. --no-telemetry turns the emission off outright.

Exit codes, so a script can tell the difference

Code Meaning
0 It measured the endpoint
1 Error
2 It could not observe the endpoint: that is a finding, not a broken command
3 vqs only: the local validator registry is not present

Code 3 is repository-root code (services/state/validator_store.py) that no wheel carries, so installed from PyPI the command says so by name with its own code instead of dying with an ImportError. It works from a checkout, until the registry moves to the platform's POST /validators (docs/priorities.md, P1-13).

The QArmor family

Five packages, one version, published together from a single tag.

Package What it is
q-armor-lib Detection, scoring and the control-plane client
q-armor-cli This one: q-armor, the operator's command line
q-armor-proxy Enterprise runtime: protection proxy, firewall, SIEM webhook
q-armor-chain DVN worker and QArmorDVN.sol
q-armor-pqc Interim ML-DSA-65 primitive

Next

Scanning is free. The collective canary network, real-time alerting and on-premise deployment are the paid tiers: idenq.io

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

q_armor_cli-0.1.2-cp313-none-any.whl (9.8 kB view details)

Uploaded CPython 3.13

q_armor_cli-0.1.2-cp312-none-any.whl (9.8 kB view details)

Uploaded CPython 3.12

q_armor_cli-0.1.2-cp311-none-any.whl (10.2 kB view details)

Uploaded CPython 3.11

File details

Details for the file q_armor_cli-0.1.2-cp313-none-any.whl.

File metadata

  • Download URL: q_armor_cli-0.1.2-cp313-none-any.whl
  • Upload date:
  • Size: 9.8 kB
  • Tags: CPython 3.13
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for q_armor_cli-0.1.2-cp313-none-any.whl
Algorithm Hash digest
SHA256 709b9e0705639d8cb5848487a2d80edd0f5404c48c851108b52c4f8e7a30b858
MD5 36218172779d9ae7d28bc942a1827ddd
BLAKE2b-256 3fc8bc840312e7b2836cbbbffd1ea470fb3f0a9bfd5facf741d8b3ea7dff5ee4

See more details on using hashes here.

Provenance

The following attestation bundles were made for q_armor_cli-0.1.2-cp313-none-any.whl:

Publisher: release.yml on iden-q/iden-q-quantum-armor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file q_armor_cli-0.1.2-cp312-none-any.whl.

File metadata

  • Download URL: q_armor_cli-0.1.2-cp312-none-any.whl
  • Upload date:
  • Size: 9.8 kB
  • Tags: CPython 3.12
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for q_armor_cli-0.1.2-cp312-none-any.whl
Algorithm Hash digest
SHA256 f7a3d0111f89cd2583d8d7a44168c003c0afb6bb885ae02c88caa4fbb00f9d04
MD5 068d65e89a3d3fe9bed9446892edcc05
BLAKE2b-256 e12b47ebf50012bdfff75743817460a88de407d14e2dfdccdd9a344fd7d21fed

See more details on using hashes here.

Provenance

The following attestation bundles were made for q_armor_cli-0.1.2-cp312-none-any.whl:

Publisher: release.yml on iden-q/iden-q-quantum-armor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file q_armor_cli-0.1.2-cp311-none-any.whl.

File metadata

  • Download URL: q_armor_cli-0.1.2-cp311-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: CPython 3.11
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for q_armor_cli-0.1.2-cp311-none-any.whl
Algorithm Hash digest
SHA256 f04a808a7f00d84c7dae3bfdc19dc538cd330a13fd58bc2af4e718768cd10515
MD5 2b4b6a541f745cd9d0d21b9c4639cf8e
BLAKE2b-256 1579d9e489c4d40716638a6de5f1f48872de8183bd3e33a50d5a159cd7c725b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for q_armor_cli-0.1.2-cp311-none-any.whl:

Publisher: release.yml on iden-q/iden-q-quantum-armor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.2 This release

3 files

0.1.1

3 files

0.1.0

3 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page