Developer Tool

PostQ CLI

One binary. Zero dependencies. Install it, run postq, and drop into a boxed interactive shell for TLS, source-code, and cloud KMS cryptographic risk scans.

v0.3.1MIT licensedPure Go, stdlib only~2 MB binary
What it does

Run postq. Scan, score, ship.

First launch prompts for your API key, saves it locally, and opens the PostQ shell. Use the same scanner commands interactively or one-shot in CI.

~/repo — postq
$ postq
PostQv0.3.1
cryptographic posture for whatever Q-Day comes next
what’s your [Query]?
authenticated as pq_live_••••
endpoint https://api.postq.dev
~/repo [main]
scan code .
Ctrl+C exitCtrl+L clear↑/↓ historyFn↑/↓ page
Install

Install, then run postq.

The CLI ships as a single static binary. After any install command, run postq. The shell will ask for your API key and start immediately.

Homebrew

Recommended

macOS · Linux

$brew install PostQDev/tap/postq

Go

Any platform with Go ≥ 1.23

$go install github.com/postqdev/postq-cli/cmd/postq@latest

Direct download

Linux · macOS · Windows

$curl -sSL https://postq.dev/install.sh | sh
Quickstart

From zero to first scan in 30 seconds.

  1. Install the CLI

    Pick any installer. Homebrew is the fastest path on macOS and Linux.

    $brew install PostQDev/tap/postq
  2. Start the shell

    First launch prompts for your API key, saves it to ~/.postq/config.json (0600), and drops you into the boxed shell.

    $postq
  3. Scan your source code

    Local static analysis for weak randomness, MD5, SHA-1 signing, JWT alg:none, disabled TLS verify, and hardcoded keys.

    $scan code .
  4. Scan a live host

    Real TLS handshake. Reports cipher suites, certificate chain, signature algorithms, and post-quantum readiness.

    $scan url example.com
Built for production

Designed for CI, not just demos.

Fast cold start

~2 MB static binary. No JVM, no Python, no npm install. Cold-start under 50 ms in Lambda.

CI-friendly exit codes

Exit 0 on clean, exit 2 on Critical/High findings. Drop into any pipeline as a quality gate.

Parallel scans

Pass any number of hosts. Tune throughput with --concurrency. Results stream into one report.

Offline-capable

--no-upload runs the entire scan locally. Nothing leaves your machine. Use --json to pipe into anything.

Interactive by default

Run postq to open the boxed shell with onboarding, command history, paged output, and the rotating What's your Q? prompt.

Secure by default

API keys live in ~/.postq/config.json with 0600 permissions. Override with env vars in containers.

Roadmap

What’s next.

v0.1 ships scan url, v0.2 adds the interactive shell, scan code, and scan cloud aws, and v0.3 lands hybrid signing (postq sign / verify / keys). Here’s the rough plan for the next few releases.

Shipped
postq

Boxed interactive shell with API-key onboarding, command history, and paged output.

Shipped
postq scan url

Real TLS handshake, full chain analysis, parallel multi-host scans.

Shipped
postq scan list

Pull recent scans uploaded by your org, table or JSON.

Shipped
postq scan code <path>

Local static crypto-misuse scan for weak randomness, MD5, SHA-1 signing, JWT alg:none, disabled TLS verification, and hardcoded keys.

Shipped
postq scan cloud aws

Server-side AWS KMS inventory using your account and role ARN.

Next
postq scan k8s

Walk a kubeconfig: TLS Secrets, Ingress certs, mesh mTLS policies.

Planned
postq scan cloud azure / gcp

Enumerate Key Vault, Cloud KMS, certificates, load balancers, and secret stores.

Planned
postq scan bulk --file targets.txt

Fan-out over a list of hosts. Single rolled-up risk report.

Shipped
postq sign / verify / keys

Hybrid ML-DSA + Ed25519 signing operations matching the SDKs. Exits 2 on verify failure for CI gating.

Later
Output formats: SARIF, JUnit, CSV

Drop straight into GitHub code scanning, Jenkins reports, spreadsheets.

Run your first scan

Install the CLI, run postq, paste your API key, then scan hosts, code, and AWS KMS from the shell.