Rotate API keys in CI without leaking them

API keys end up in CI logs after almost every deploy. Some are old, some are still active, and nobody remembers who generated them.

APIAuth is a terminal key manager that keeps keys on your machine. You generate, rotate, and audit them from the CLI. No hosted dashboard, no phone-home telemetry, no SaaS login.

Install

pip install git+https://github.com/Coding-Dev-Tools/apiauth.git
apiauth generate api-key --name "CI Key" --service "api-gateway" --expiry-days 90

What it does

CI workflow

Rotate keys as part of deploy, not as a manual ticket. Rotate in the branch, land it, and export the value straight into the runner:

apiauth rotate 
apiauth audit --exit-on-expired
apiauth export --format github-actions --service production

apiauth audit --exit-on-expired exits non-zero if anything is stale, so the deploy stops before the bad key ships.

Pricing

Free covers generate, verify, and env-format export for up to 5 keys. Audit, stats, JWT claims, and GitHub Actions export unlock at $12/mo. A Suite license covering all 11 Coding Dev Tools tools is $49/mo.

Verification notes

Claims sourced from apiauth/README.md and cross-checked against Obsidian-Vault-Local/40-Marketing/verified-facts-ledger.md (last verified 2026-07-02). Install is not public PyPI. Working paths: pip install git+https://github.com/Coding-Dev-Tools/apiauth.git or pip install git+https://github.com/Coding-Dev-Tools/apiauth.git. Pricing table: Free $0 (5 keys), Individual $12/mo ($10/yr), Suite $49/mo ($39/yr), Team $79/mo ($63/yr), Enterprise custom. License: MIT. Python 3.10+. The README contains unresolved merge-conflict markers after the footer paragraph; claims here are drawn from the clean section only.