Fix guide · high · asana_token

Asana API key in your client bundle

What this rule means

A string matching 1/{16-digits}:{32-hex} or 2/{16-digits}:{32-hex} was found in your deployed JavaScript.

Why it matters

Read/write access to your Asana workspace — tasks, projects, team data. Automated scrapers harvest these keys from public bundles within hours; assume the key is compromised the moment it shipped.

How to fix it

  1. Revoke the key immediately at https://app.asana.com/0/my-apps.
  2. Move the new key to server-only env vars. Never use a name with the NEXT_PUBLIC_, VITE_, or PUBLIC_ prefix.
  3. Pattern your calls as client → your API → Asana. Never client → Asana directly.
  4. Set a spend or rate limit in the Asana console as a safety net.
  5. 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