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

Uploaded CPython 3.13

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

Uploaded CPython 3.12

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

Uploaded CPython 3.11

File details

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

File metadata

  • Download URL: q_armor_cli-0.1.0-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.0-cp313-none-any.whl
Algorithm Hash digest
SHA256 ffd5c50f3a73beed0d2686bd9d9a18a172298c85c34fef7e6d4593a8d40f17a6
MD5 2c2a49234b5e82aaa0683209233b375f
BLAKE2b-256 0d0cc13c861e39274f277fe05893c924b77312b3a672bbc8c9e4416e453efd44

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: q_armor_cli-0.1.0-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.0-cp312-none-any.whl
Algorithm Hash digest
SHA256 bc7475cc9e06ef659208f0f793263ff4cf1db7a239c205312fd0307fc86424f0
MD5 93b3af29b614f2540f7187707a027654
BLAKE2b-256 35d3e242b1290f49d39ada6662ace8f049395d7fbfc650ff47cbe80461a8dcca

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: q_armor_cli-0.1.0-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.0-cp311-none-any.whl
Algorithm Hash digest
SHA256 c6495488bc285c0b1f5d1a3f63bdb1efecd206ce9010506ba86feee0b5c1e722
MD5 25a680acaaaca70d89daefe6d00d9559
BLAKE2b-256 c48bbe74e6e65b8176298404d10d405dc0e11e7751768e8c0ebd0c9b372206d5

See more details on using hashes here.

Provenance

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

0.1.1

3 files

This release

0.1.0 This release

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