High-Level Stealthy Architecture Overview

Author: mdmintzCreated Feb 18, 2026Updated Jun 14, 2026
LabelsdocumentationUC Mode / CDP Mode

High-Level Stealthy Architecture Overview

Image

This chart outlines the various paths one can take regarding SeleniumBase stealth options:

  • Regular Mode (100% Selenium) --> chromdriver --> (no stealth at all)
  • UC Mode --> uc_driver --> (basic stealth)
  • UC Mode --> UC + CDP Mode --> uc_driver --> (basic stealth)
  • UC Mode --> UC + CDP Mode --> CDP --> (maximum stealth)
  • UC Mode --> UC + CDP Mode --> Stealthy Playwright Mode --> CDP --> (maximum stealth)
  • Pure CDP Mode (sync format) --> CDP --> (maximum stealth)
  • Pure CDP Mode (async format) --> CDP --> (maximum stealth)
  • Pure CDP Mode (sync format) --> Stealthy Playwright Mode --> CDP --> (maximum stealth)
  • Pure CDP Mode (async format) --> Stealthy Playwright Mode --> CDP --> (maximum stealth)

UC Mode is activated by setting uc=True, or by setting --uc as a command-line option. UC + CDP Mode is activated via sb.activate_cdp_mode(), or sb.goto(url) from UC Mode. You can call sb.driver.get(url) to open a URL in UC Mode without activating CDP Mode, but that's less stealthy.

UC + CDP Mode can start like this: (may include additional args)

python
from seleniumbase import SB

with SB(uc=True, test=True) as sb:
    sb.activate_cdp_mode()
    sb.goto(url)

Pure CDP Mode (sync format) can start like this: (may include additional args)

python
from seleniumbase import sb_cdp

sb = sb_cdp.Chrome()
sb.goto(url)

Pure CDP Mode (async format) starts like this: (may include additional args)

python
from seleniumbase import cdp_driver

driver = await cdp_driver.start_async()
page = await driver.get(url)

CDP Mode details and examples are covered in the CDP Mode docs. From CDP Mode, you can also use Stealthy Playwright Mode, which makes Playwright stealthy. Stealthy Playwright Mode details and examples are covered in the Stealthy Playwright Mode docs.

Source: seleniumbase/SeleniumBase