License: MIT
SecretLens is a web UI for validating API keys, tokens, and credentials across cloud and SaaS providers.
- Single pane to validate many credential types during triage and incident response.
- Deterministic validation flows with explicit response visibility.
- Script-backed JWT decoding and GCP service-account validation support.
- Grouped endpoint variants per provider for faster testing.
- Node.js 18+
- npm
- Python 3 (JWT/GCP validators)
npm run install-all
pip3 install -r backend/requirements.txt
cp env.example .env
npm run dev- UI:
http://localhost:3000 - API:
http://localhost:3001
npm run install-all
npm run build
NODE_ENV=production CORS_ORIGIN=http://localhost:3001 npm startCanonical source of truth: backend/secrets-data.js.
| Service | Credential type(s) | Validation method |
|---|---|---|
| Slack | webhook, bot/user token, users.info | curl |
| GitHub | user, repos | curl |
| AWS | access key + secret key | aws_cli |
| GCP | Maps key, Geolocation key, service account JSON | curl, python |
| OpenAI | models, me, organizations | curl |
| Cloudflare | token verify, user, zones | curl |
| Hugging Face | whoami, models, spaces, datasets | curl |
| Grafana | user, org | curl |
| New Relic | insert key, license key | curl |
| Okta | users, apps | curl |
| NPM | user, whoami, org | curl |
| Opsgenie | account, users, teams | curl |
| PagerDuty | users/me, abilities | curl |
| Postman | me, accounts | curl |
| Razorpay | payments, orders, customers | curl |
| DigitalOcean | account, ssh keys | curl |
| Communication | Facebook, Twitter, Telegram, Twilio, SendGrid, Mailgun, Freshdesk, Infobip | curl |
| Payments | Stripe | curl |
| Devtools | GitLab, CircleCI, Bitbucket, Jira, Sentry, WakaTime, Heroku, Dropbox, HubSpot, Shodan, Mapbox, Spotify, YouTube | curl |
| JWT utilities | JWT decode, Honeycomb auth probe | jwt, curl |
- Add a new entry in
backend/secrets-data.js. - If needed, reuse or introduce a
groupvalue so related endpoints stay grouped in the UI. - Ensure the entry has
id,name,group(optional),category,fields[], andvalidationMethod(type, andcommandorurl). - Use one of the supported validator types handled in
backend/server.js(curl,aws_cli,python,jwt,url). - Open issues in GitHub Issues and include validator details (service, fields, method, and expected success/failure indicators).
- AWS CLI in container: Alpine image installs AWS CLI via
apk(aws-cli, v1 package). - arm64 Docker build issues: use
docker buildx build --platform linux/arm64,linux/amd64 . - Port conflicts: ensure ports
3000and3001are free. - Missing
.env: copyenv.exampleto.envbefore running compose or local env-based flows. - AWS CLI install failures in Docker: verify network access and retry build.
See CONTRIBUTING.md.
Bug reports / feature requests: GitHub Issues. Security: see SECURITY.md (private disclosure via GitHub Security Advisories).
Secure & Responsible Use
SecretLens runs commands using credentials you supply. Use only against credentials you own or are authorized to test. See SECURITY.md.
Maintained by Groww Security.