Fix guide · critical · fly_io_token
Fly.io API key in your client bundle
What this rule means
A string matching fo1_* was found in your deployed JavaScript.
Why it matters
Org and app management; scaling, secrets, deploys. Automated scrapers harvest these keys from public bundles within hours; assume the key is compromised the moment it shipped.
How to fix it
- Revoke the key immediately at https://fly.io/user/personal_access_tokens.
- Move the new key to server-only env vars. Never use a name with the
NEXT_PUBLIC_,VITE_, orPUBLIC_prefix. - Pattern your calls as client → your API → Fly.io. Never client → Fly.io directly.
- Set a spend or rate limit in the Fly.io console as a safety net.
- Add a CI gate to fail any future deploy that includes the key pattern:
vibecheck https://your-deploy.com --exit-on critical.
Did vibecheck flag this on your app?
If you reached this page from a vibecheck inspection report, the redacted match in your scan output is the exact string we found in your bundle. After applying the fix above, run the inspection again — the finding should clear.
Run another inspection