← ClaudeAtlas

secure-api-keys-and-secretslisted

Get provider credentials out of the repository and out of deploy scripts, into a store the application reads at run time, with rotation that does not require knowing every place a key was copied and an audit of every read. Use when there is a committed .env file, when keys appear as literals in source, when someone asks how to store API keys safely, or when a credential may have leaked and has to be rotated quickly.
TrustyCap-Technologies/trustycap-skills · ★ 0 · API & Backend · score 72
Install: claude install-skill TrustyCap-Technologies/trustycap-skills
Keys start in a `.env` because that is what works on day one. Then nobody can say how many copies exist. ## Diagnose Start with evidence from the code itself. In the repository: ```bash npx @trustycap/cli productionize --json ``` The scanner reads the route handlers with the TypeScript compiler API and classifies each against the published production standard (`GET https://api.trustycap.com/v1/production/requirements`): file and line, AST evidence, a classification (`CONFIRMED_FAIL`, `PROBABLE_GAP`, `UNKNOWN`, `PASS`), the provider-neutral requirement, the implementations that satisfy it, and the exact commands. `UNKNOWN` is not a failure; read the code it points at rather than installing over it. A requirement the project already satisfies another way is declared in `trustycap.production.json`. - Is a `.env` committed, or in the history? Check the history, not just the working tree: a removed file is still in the log. - Are there credential literals in source, in CI configuration, or in a deploy script? - Could the builder answer, right now, every place a given key is deployed? If not, they cannot rotate it quickly, which is exactly when speed matters. **If a key is already exposed, rotation at the provider comes first.** Moving an exposed key into a vault does not un-expose it. ## Fit, and not for **Not for** storing end users' passwords, which should not be stored at all. Hash them and never hold the original. **Not for** configuration that is not secret; a feature