Troubleshooting
Most snags come down to one of a few things. Start with your dashboard’s Install & health page — it tells you which state your install is in — then find it below. Still stuck? Email support@frenemy.dev and a human will look with you.
Install & health: what the states mean
After setup, your dashboard’s Install & health page shows one of three connection states. Each has a two-minute fix.
CONNECTED — you’re all set
Events are arriving and every visitor from here on is counted. If your dashboard still looks empty, that’s expected at first — see No data yet.
WAITING — reaching for the first event
Either nothing has visited yet, or the install isn’t deployed and armed. Check the one that matches your platform:
- Cloudflare: confirm the route is
example.com/*and thatFRENEMY_ENABLEDis set to1, then click Send a test hit. - Next.js on Vercel: the file name must match your Next version —
middleware.tson Next 15 and earlier,proxy.tson 16+ (aproxy.tson Next ≤15 is silently ignored — the most common miss). If your repo usessrc/, both files must live inside it. AndFRENEMY_SITE_KEYmust be set for Production — Vercel only picks up env-var changes on a redeploy. - WordPress: confirm the plugin is Activated and your key is saved under Settings → Frenemy. Behind a page cache, open
https://example.com/?frenemy=checkin a private window to force the request through to WordPress.
KEY MISMATCH — almost there
Your install is reaching us, but the site key doesn’t match. Re-copy the secret into FRENEMY_SITE_KEY exactly as shown in the wizard (use the copy button), then deploy again.
I installed Frenemy but see no data
Good news first: a verified, listening install with an empty dashboard almost always just means nothing has visited yet. Most sites see their first classified bot within a day or two; quieter sites take longer — crawlers come on their own schedule. An empty dashboard means nothing has visited, not that something is broken.
If it’s been more than a couple of days on a site you know gets bot traffic, open Install & health to confirm the install is still deployed and connected (see the states above), then reach out and we’ll look with you.
My sign-in link didn’t arrive
Frenemy has no passwords — you sign in with a one-time link emailed to you. If it hasn’t shown up:
- Check your spam or junk folder, and any corporate mail filter.
- The link comes from
login@frenemy.dev— allow that sender if your mail is strict. - Links expire quickly for security. If yours has, just request a fresh one.
Still nothing after a few minutes? Email support@frenemy.dev and we’ll get you in.
How do I turn Frenemy off?
Frenemy runs in your own account, so you don’t need us — or our dashboard — to disable it. It takes effect in seconds, and your site keeps serving normally either way.
- Cloudflare: in your Cloudflare dashboard, open the
frenemy-observer-…Worker → Settings → Variables → setFRENEMY_ENABLEDto0(or delete the Worker’s route). - Next.js on Vercel: set the environment variable
FRENEMY_DISABLEDto1and redeploy — or remove the middleware/proxy file (and itsfrenemy-middleware.jsimport) and redeploy. Your app then runs exactly as before. - WordPress: Settings → Frenemy → turn on Pause observation (your settings are kept). You can also deactivate the plugin, or set
FRENEMY_DISABLEDinwp-config.php.
If something prompted this, we’d genuinely like to know: support@frenemy.dev.
Rotate your site key
Your site key is set once at install and stored only as a hash — we can’t show it again. To rotate it, open Install & health and click Rotate site key.
Rotating issues a new key while your current one keeps working, so a rotation never takes your site offline. Set the new key as your FRENEMY_SITE_KEY secret, deploy, then revoke the old key. The new key is shown once — copy it before you leave the screen.
Still stuck?
Email support@frenemy.dev — a human (the founder) replies, usually within one business day. Include your account email, the platform you’re on, and what your Install & health page shows, and we’ll pinpoint it with you.