API credentials hygiene: env vars, rotation, least privilege, auditability
PURPOSE
Audits and hardens API credential handling (env vars, separation, rotation plan, least privilege, auditability).
WHEN TO USE
- TRIGGERS:
- Harden the credentials setup for this integration and move secrets into env vars.
- Design a key rotation plan for these APIs with minimal downtime.
- Audit this service for least-privilege access and document what each key can do.
- Create an environment variable map and a secure .env template for this project.
- Set up credential separation for dev versus prod with clear audit trails.
- DO NOT USE WHEN…
- You want to obtain keys without authorization or bypass security controls.
- You need legal/compliance sign-off (this outputs technical documentation, not legal advice).
INPUTS
- REQUIRED:
- List of integrations/APIs and where credentials are currently stored/used.
- Deployment context (local dev, server, container, n8n, etc.).
- OPTIONAL:
- Current config files/redacted snippets (.env, compose, systemd, n8n creds list).
- Org rules (rotation intervals, secret manager preference).
- EXAMPLES:
- “Keys are hard-coded in a Node script and an n8n HTTP Request node.”
- “We have dev and prod n8n instances and need separation.”
OUTPUTS
- Credential map (service → env vars → scopes/permissions → owner → rotation cadence).
- Rotation runbook (steps + rollback).
- Least-privilege checklist and audit log plan.
- Optional:
.env template (placeholders only).
Success = no secrets committed or embedded, permissions minimized, rotation steps documented, and auditability defined.
WORKFLOW
- Inventory credentials:
- where stored, where used, and who owns them.
- Define separation:
- dev vs prod; human vs service accounts; per-integration boundaries.
- Move secrets to env vars / secret manager references:
- create an env var map and update config plan (no raw keys in code/workflows).
- Least privilege:
- for each API, enumerate required actions and reduce scopes/roles accordingly.
- Rotation plan:
- dual-key overlap if supported; steps to rotate with minimal downtime; rollback.
- Auditability:
- define what events are logged (auth failures, token refresh, key use where available).
- STOP AND ASK THE USER if:
- required operations are unknown,
- secret injection method is unclear,
- rotation cadence/owners are unspecified.
OUTPUT FORMAT
Credential map template:
CREDENTIAL MAP
- Integration: <name>
- Env vars:
- <VAR_NAME>: <purpose> (secret/non-secret)
- Permissions/scopes: <list>
- Used by: <service/workflow>
- Storage: <secret manager/env var>
- Rotation: <cadence> | <owner> | <procedure>
- Audit: <what is logged and where>
If providing a template, output assets/dotenv-template.example with placeholders only.
SAFETY & EDGE CASES
- Never output real secrets, tokens, or private keys. Use placeholders.
- Read-only by default; propose changes as a plan unless explicitly asked to modify files.
- Avoid over-broad scopes/roles unless justified by a documented requirement.
EXAMPLES
Input: “n8n HTTP nodes contain API keys.”
Output: Env var map + plan to move to n8n credentials/env vars + rotation runbook.
Input: “Need dev vs prod separation.”
Output: Two env maps + naming scheme + access boundary checklist.
1---2name: api-credentials-hygiene3description: Audits and hardens API credential handling (env vars, separation, rotation plan, least privilege, auditability). Use when integrating services or preparing production deployments where secrets must be managed safely.4---5
6# API credentials hygiene: env vars, rotation, least privilege, auditability
7
8## PURPOSE
9Audits and hardens API credential handling (env vars, separation, rotation plan, least privilege, auditability).
10
11## WHEN TO USE
12- TRIGGERS:
13 - Harden the credentials setup for this integration and move secrets into env vars.
14 - Design a key rotation plan for these APIs with minimal downtime.
15 - Audit this service for least-privilege access and document what each key can do.
16 - Create an environment variable map and a secure .env template for this project.
17 - Set up credential separation for dev versus prod with clear audit trails.
18- DO NOT USE WHEN…
19 - You want to obtain keys without authorization or bypass security controls.
20 - You need legal/compliance sign-off (this outputs technical documentation, not legal advice).
21
22## INPUTS
23- REQUIRED:
24 - List of integrations/APIs and where credentials are currently stored/used.
25 - Deployment context (local dev, server, container, n8n, etc.).
26- OPTIONAL:
27 - Current config files/redacted snippets (.env, compose, systemd, n8n creds list).
28 - Org rules (rotation intervals, secret manager preference).
29- EXAMPLES:
30 - “Keys are hard-coded in a Node script and an n8n HTTP Request node.”
31 - “We have dev and prod n8n instances and need separation.”
32
33## OUTPUTS
34- Credential map (service → env vars → scopes/permissions → owner → rotation cadence).
35- Rotation runbook (steps + rollback).
36- Least-privilege checklist and audit log plan.
37- Optional: `.env` template (placeholders only).
38Success = no secrets committed or embedded, permissions minimized, rotation steps documented, and auditability defined.
39
40
41## WORKFLOW
421. Inventory credentials:
43 - where stored, where used, and who owns them.
442. Define separation:
45 - dev vs prod; human vs service accounts; per-integration boundaries.
463. Move secrets to env vars / secret manager references:
47 - create an env var map and update config plan (no raw keys in code/workflows).
484. Least privilege:
49 - for each API, enumerate required actions and reduce scopes/roles accordingly.
505. Rotation plan:
51 - dual-key overlap if supported; steps to rotate with minimal downtime; rollback.
526. Auditability:
53 - define what events are logged (auth failures, token refresh, key use where available).
547. STOP AND ASK THE USER if:
55 - required operations are unknown,
56 - secret injection method is unclear,
57 - rotation cadence/owners are unspecified.
58
59
60## OUTPUT FORMAT
61Credential map template:
62
63```text
64CREDENTIAL MAP
65- Integration: <name>
66 - Env vars:
67 - <VAR_NAME>: <purpose> (secret/non-secret)
68 - Permissions/scopes: <list>
69 - Used by: <service/workflow>
70 - Storage: <secret manager/env var>
71 - Rotation: <cadence> | <owner> | <procedure>
72 - Audit: <what is logged and where>
73```
74
75If providing a template, output `assets/dotenv-template.example` with placeholders only.
76
77
78## SAFETY & EDGE CASES
79- Never output real secrets, tokens, or private keys. Use placeholders.
80- Read-only by default; propose changes as a plan unless explicitly asked to modify files.
81- Avoid over-broad scopes/roles unless justified by a documented requirement.
82
83
84## EXAMPLES
85- Input: “n8n HTTP nodes contain API keys.”
86 Output: Env var map + plan to move to n8n credentials/env vars + rotation runbook.
87
88- Input: “Need dev vs prod separation.”
89 Output: Two env maps + naming scheme + access boundary checklist.
90