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.1-cp313-none-any.whl (9.8 kB view details)

Uploaded CPython 3.13

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

Uploaded CPython 3.12

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

Uploaded CPython 3.11

File details

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

File metadata

  • Download URL: q_armor_cli-0.1.1-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.1-cp313-none-any.whl
Algorithm Hash digest
SHA256 1ac74c39b10d9fd829223c19eec2bcf9daef90618c555cf70f5f061b7bc88a8a
MD5 332ec1da34ac7158ab1961cc3174e30a
BLAKE2b-256 216e3a3fdfe643f8e675c6e1e413a844200e7b8d24afd631617b0134b2782a02

See more details on using hashes here.

Provenance

The following attestation bundles were made for q_armor_cli-0.1.1-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.1-cp312-none-any.whl.

File metadata

  • Download URL: q_armor_cli-0.1.1-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.1-cp312-none-any.whl
Algorithm Hash digest
SHA256 753f0da512c78c0906fd92fefd5f5b0e11238369813cbfcb58a5d8a6e217efd2
MD5 ba33ca4f6aff8503db1b5b482b9d2491
BLAKE2b-256 f996b1e5ea5315500d76a16229d608616bcf94b8a78a48cfed1faf2ff9098b22

See more details on using hashes here.

Provenance

The following attestation bundles were made for q_armor_cli-0.1.1-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.1-cp311-none-any.whl.

File metadata

  • Download URL: q_armor_cli-0.1.1-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.1-cp311-none-any.whl
Algorithm Hash digest
SHA256 e9cc9a84595dbde6f8590c94335fa29d02d0457c2d7a844557f8f900b8408b89
MD5 c822ceb00aa4ae501ed448ea0a3d428a
BLAKE2b-256 f60c1a08c646dd346db49ad13eea412d04a45805e1213a5a032f9e41c005693f

See more details on using hashes here.

Provenance

The following attestation bundles were made for q_armor_cli-0.1.1-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

0.1.2

3 files

This release

0.1.1 This release

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