Skip to main content

BotID on Easel

Sean DubbFounder, Easel.sh

Stock Vercel BotID works on Easel without changing packages. Keep withBotId, initBotId, and checkBotId. Visitors never see a challenge page; BotID stays invisible.

Protect a route

Call checkBotId in your route handler and reject bots:

import { checkBotId } from "botid/server";

export async function POST() {
  const verification = await checkBotId();
  if (verification.isBot) {
    return Response.json({ error: "Bot detected" }, { status: 403 });
  }
  return Response.json({ ok: true });
}

Browsers that complete the challenge pass. Clients that skip it get a bot response.

Easel hosts the challenge and bot check for your deployment, and authenticates each invoke so stock BotID talks to the platform without a long-lived OIDC secret in your function environment.

Talk to us

Book a short call and we'll walk through your current infrastructure bill together.

Talk to us