How the product protects data with encryption — in transit, at rest, and at the field level — and whether the keys that unlock it are managed safely.
Free & open · no signup · read-only — it ends by asking · nothing leaves your machine
You are working inside this repo. Mission: judge how the product protects sensitive data with encryption and how it manages the keys — because encryption with badly handled keys is a lock with the key taped to the door.
Read-only pass. Read the transport config, storage setup, crypto usage, and key handling; change nothing but the report file. Never print a key.
Phase 2 sweeps the codebase through every one of these, citing file and line for each finding.
TLS everywhere, modern versions, no plaintext internal hops
encryption for databases, backups, files, and object storage
extra protection (hashing, field-level encryption) for secrets, PII, credentials
where keys live, how they rotate, and who can access them
strong, salted hashing; nothing reversible or plaintext
modern algorithms; no MD5, SHA1, DES, ECB, or homegrown crypto
the data paths and stores that slip through unencrypted
One structured report at the repo root — or in reports/, if you keep one — the same shape every time, ready for a teammate — or the optional Studio — to act on.
Every Goal Prompt follows the same four steps, so results are consistent and repeatable — no matter which one you run.
Identify the sensitive data.
In transit — TLS everywhere, modern versions, no plaintext internal hops.
Rank by sensitivity × exposure.
Create ENCRYPTION.md at repo root.
Copy it and paste it into your agent inside the repo you want checked.
Install the goal plugin once — two commands — then just type /goal:encryption-key-management.
/plugin marketplace add GhostlyGawd/goal-prompts/plugin install goal@goal-promptsOr install only this Goal Prompt as /goal-encryption-key-management:
curl -fsSL https://goal-prompts.vercel.app/install | BRIEF=127 shLet an agent fetch it mid-conversation, or pull the raw Goal Prompt by URL.
https://goal-prompts.vercel.app/raw/127.mdNothing hidden — this is the whole Goal Prompt, verbatim. Read it in a minute, edit it, or copy it as-is.
# Goal: Encryption & Key Management You are working inside this repo. Mission: judge how the product protects sensitive data with encryption and how it manages the keys — because encryption with badly handled keys is a lock with the key taped to the door. Read-only pass. Read the transport config, storage setup, crypto usage, and key handling; change nothing but the report file. Never print a key. ## Phase 1 — Follow the sensitive data - Identify the sensitive data: credentials, PII, tokens, payment data. - Trace it in transit and at rest: what protects it on the wire and in storage. - Find where cryptographic keys and secrets live and who can reach them. ## Phase 2 — Audit through 7 lenses 1. **In transit** — TLS everywhere, modern versions, no plaintext internal hops 2. **At rest** — encryption for databases, backups, files, and object storage 3. **Sensitive fields** — extra protection (hashing, field-level encryption) for secrets, PII, credentials 4. **Key management** — where keys live, how they rotate, and who can access them 5. **Password & credential storage** — strong, salted hashing; nothing reversible or plaintext 6. **Algorithm hygiene** — modern algorithms; no MD5, SHA1, DES, ECB, or homegrown crypto 7. **Coverage gaps** — the data paths and stores that slip through unencrypted ## Phase 3 — Curate - Rank by sensitivity × exposure: plaintext credentials or weak password hashing tops the list. - For each, name the fix — enable at-rest encryption, rotate keys out of the code, replace the weak algorithm. - Separate "not encrypted" from "encrypted but the key is mishandled"; both fail. ## Phase 4 — Report Create `ENCRYPTION.md` at repo root: 1. **Protection posture** — sensitive data in transit, at rest, and at the field level 2. **Findings** — each: severity · data · the weakness · the fix 3. **Key management** — where keys live and rotate, and the gaps to close 4. **Priority** — the exposures to remediate first Start the report with today's date. If `ENCRYPTION.md` already exists from a previous run, read it first and lead with what changed since. ## Rules - Encryption is only as strong as the key management behind it - Never roll your own crypto; use vetted algorithms and libraries - No sensitive data to encrypt in this repo? Say so in a one-paragraph null report and stop — a null result is a valid finding. - If a `reports/` directory exists at the repo root, write the report there instead of the root. - Before asking, present the top findings as a ranked list in plain words - Report only — end by asking which encryption gaps to close first
reports/ directory exists at the repo root, write the report there instead of the root.Whether the product collects consent honestly and honors it — the cookies, trackers, and data collection that fire before or despite the user's choice.
Whether the product can honor the rights users have over their data — access, export, correction, and deletion — operationally, not just in the privacy policy.
Whether the system keeps a trustworthy record of who did what — the audit trail that compliance, incident response, and forensics all depend on.
Runs inside these playbooks — curated sequences you can launch with one paste: