Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions browsers/bot-detection/overview.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
title: "Overview"
description: "Help your browser agents access websites with anti-detection defaults, stealth mode, proxies, and opt-in Web Bot Auth (WBA)."
---

Automating the web as a browser agent is hard.
Expand Down Expand Up @@ -30,6 +31,11 @@ Every Kernel browser launches with anti-detection chrome configuration applied.
### [Stealth Mode](/browsers/bot-detection/stealth)
On top of the defaults, stealth mode adds a default ISP proxy and an automatic CAPTCHA solver. Both are opt-out so you can BYO proxy and/or CAPTCHA tooling.

### [Web Bot Auth (WBA)](/browsers/bot-detection/web-bot-auth)
WBA lets your agent sign requests with a verifiable identity. Participating websites that recognize and allow that identity can reduce bot challenges and interruptions in your workflows.

**KERNEL's WBA token is opt-in**, enabled selectively on request for **Startup Plan and Enterprise Plan customers**. It's not enabled by default. [Request WBA access](/browsers/bot-detection/web-bot-auth#request-wba-access) to use our bot identity. Each site still controls access; WBA doesn't replace login or guarantee that a site will allow your agent.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

WBA access policy duplicated

Low Severity

The overview and stealth pages restate WBA opt-in rules, plan eligibility, and access caveats instead of briefly pointing to the canonical Request WBA access section. Those details can drift if the request process changes.

Additional Locations (1)
Fix in Cursor Fix in Web

Triggered by learned rule: Single source of truth — no deep content duplication across pages

Reviewed by Cursor Bugbot for commit 9397bfb. Configure here.


### [Config Registry](/config-registry)
Kernel recommended browser and proxy configurations for websites.

Expand Down
4 changes: 4 additions & 0 deletions browsers/bot-detection/stealth.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ Enabling `stealth` mode adds two managed services on top:

Both are opt-out so you can [bring your own](#bring-your-own-proxy-or-captcha-solver) where it makes sense.

<Info>
[Web Bot Auth (WBA)](/browsers/bot-detection/web-bot-auth) adds a verifiable signing identity that participating sites can recognize and allow. KERNEL's WBA token is a separate opt-in feature, enabled selectively on request for Startup Plan and Enterprise Plan customers. Enabling stealth mode alone doesn't opt you in. [Request WBA access](/browsers/bot-detection/web-bot-auth#request-wba-access).
</Info>

### IP Rotation Behavior

The default stealth proxy provides a **static exit IP** — all connections within the session exit through the same IP address. If you override the default with a [residential proxy](/proxies/residential), exit IPs will rotate per connection. See [Residential IP Rotation Behavior](/proxies/residential#ip-rotation-behavior) for details.
Expand Down
48 changes: 30 additions & 18 deletions browsers/bot-detection/web-bot-auth.mdx
Original file line number Diff line number Diff line change
@@ -1,27 +1,47 @@
---
title: "Web Bot Auth"
description: "Cryptographically sign browser requests with Web Bot Auth"
title: "Web Bot Auth (WBA)"
description: "Use Web Bot Auth (WBA) to give your agents a verifiable identity. Request KERNEL’s opt-in WBA token on Startup and Enterprise plans."
---

[Web Bot Auth](https://datatracker.ietf.org/doc/html/draft-meunier-web-bot-auth-architecture) is quickly becoming the standard way for agents to establish identity. That's why we've partnered with [Vercel](https://bots.fyi/d/kernel) and [Cloudflare](https://radar.cloudflare.com/bots/directory/kernel) to support Web Bot Auth on Kernel.
[Web Bot Auth (WBA)](https://datatracker.ietf.org/doc/html/draft-meunier-web-bot-auth-architecture) lets your browser agent cryptographically sign requests so participating websites can verify its identity. Sites that recognize and allow that identity can let your agent continue with fewer bot challenges and interruptions.

![Kernel on Vercel's public directory of known bots used across the web](/images/botsfyi.png)
We offer **KERNEL's WBA token** as an **opt-in feature**, enabled selectively on request for **Startup Plan and Enterprise Plan customers**. It's not enabled by default.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Plan details in page intro

Low Severity

The frontmatter description and the paragraph before Request WBA access include plan gating and how to request the managed token. Those details belong in that subsection so the intro stays a high-level orientation on what WBA is.

Fix in Cursor Fix in Web

Triggered by learned rule: Keep page descriptions and intros high-level — push details into subsections

Reviewed by Cursor Bugbot for commit 01a39b5. Configure here.


You can now cryptographically sign browser requests, so your agents can prove who they are to services like Vercel.
## Request WBA access

To request access, [contact support](mailto:support@kernel.sh) with your use case and the websites you want to access. We review requests and enable the feature selectively; being on an eligible plan doesn't automatically turn it on.

With KERNEL's WBA token, you can sign requests using one of our bot identities instead of registering your own identity. KERNEL is listed in [Vercel's public directory](https://bots.fyi/d/kernel) and [Cloudflare's bots and agents directory](https://radar.cloudflare.com/bots/directory/kernel). See [Bots and agents](/bots) for our identities and their public key directories.

![KERNEL on Vercel's public directory of known bots used across the web](/images/botsfyi.png)

### Why use WBA?

WBA gives participating sites a verifiable identity they can use when deciding whether to allow your agent. For workflows interrupted by bot checks, this can mean fewer challenges, fewer retries, and less time spent handling blocked requests on sites that accept the identity.

WBA complements [stealth mode](/browsers/bot-detection/stealth) and [proxies](/proxies/overview). Those features address browser and network signals; WBA adds cryptographic identity that a site can verify.

<Note>
WBA verifies the signing identity. Each website still decides whether to allow its requests. WBA doesn't guarantee access to every site or replace user login, permissions, or site rate limits.
</Note>

## How it works

Web Bot Auth works via a Chrome extension that intercepts all outgoing HTTP requests and adds cryptographic signature headers:
WBA uses HTTP message signatures to identify the signer of a request. The extension in the examples below adds cryptographic signature headers to outgoing HTTP requests:

- **`Signature`**: The RFC 9421 signature of the request
- **`Signature-Input`**: Metadata about how the signature was created
- **`Signature-Agent`**: URL that points to your key directory

Platforms like [Vercel](https://bots.fyi/) or other hosting providers can verify these signatures against your public key, confirming that the request came from your authenticated agent.
Platforms like [Vercel](https://bots.fyi/) or other hosting providers can verify these signatures against your public key, confirming the signing identity before applying their access policies.

## Quick start with test key

The fastest way to get started is using a test key, which works with this [test verification site](https://http-message-signatures-example.research.cloudflare.com/).
To try WBA signature verification, build an extension with the test key and visit the [test verification site](https://http-message-signatures-example.research.cloudflare.com/).

<Info>
This example uses a public test key. It doesn't enable KERNEL's WBA token or establish a production identity. To use our identity, [request access](#request-wba-access).
</Info>

### 1. Build the extension

Expand Down Expand Up @@ -96,7 +116,7 @@ This site validates requests signed with the RFC9421 test key and shows whether

## Using your own keys

For production use, you'll want to use your own signing keys instead of the test key.
If you want to sign production requests with your own identity, use your own signing keys and publish a public key directory. This is an alternative to requesting KERNEL's WBA token.

### 1. Generate an Ed25519 key pair

Expand Down Expand Up @@ -149,15 +169,7 @@ kernel extensions build-web-bot-auth \
--upload my-web-bot-auth
```

### 4. Using Kernel's bot identities

Kernel's own Web Bot Auth identities are already approved by Cloudflare, Vercel,
Akamai, and other bot-verification providers. If you want to sign requests with
one of Kernel's identities rather than your own, [contact Kernel support](https://www.kernel.sh/docs/info/support).
See [Bots and agents](/bots) for the list of identities and their key
directories.

### 5. Register with Vercel and other Web Bot Auth-aware directories (optional)
### 4. Register with WBA-aware directories (optional)

If you want Vercel-protected sites to recognize your agent, you can register your key directory with [Vercel](https://bots.fyi/new-bot). Kernel is officially listed in the Vercel directory.

Expand Down
44 changes: 22 additions & 22 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,28 @@
"group": "Intermediate",
"expanded": true,
"pages": [
{
"group": "Bot Anti-Detection",
"pages": [
"browsers/bot-detection/overview",
"browsers/bot-detection/stealth",
"browsers/bot-detection/hcaptcha",
{
"group": "Proxies",
"pages": [
"proxies/overview",
"proxies/custom",
"proxies/residential",
"proxies/mobile",
"proxies/isp",
"proxies/datacenter",
"proxies/errors"
]
},
"browsers/bot-detection/web-bot-auth",
"bots"
]
},
{
"group": "Auth",
"pages": [
Expand Down Expand Up @@ -201,28 +223,6 @@
"group": "Advanced",
"expanded": true,
"pages": [
{
"group": "Bot Anti-Detection",
"pages": [
"browsers/bot-detection/overview",
"browsers/bot-detection/stealth",
"browsers/bot-detection/hcaptcha",
{
"group": "Proxies",
"pages": [
"proxies/overview",
"proxies/custom",
"proxies/residential",
"proxies/mobile",
"proxies/isp",
"proxies/datacenter",
"proxies/errors"
]
},
"browsers/bot-detection/web-bot-auth",
"bots"
]
},
"browsers/extensions",
"browsers/private-networking",
"browsers/chrome-policies",
Expand Down
Loading