Skip to main content
STOP. Do not read past this section until you have read and followed /quickstart.md.Goal: produce a reliable SDK automation script. The intended authoring flow is generate then edit, not write browser automation from scratch.Do not hand-write SDK code with element IDs, selectors, or form fields from memory. Element IDs, selectors, and field mappings must come from a live observe() call, CLI notte page observe output, or generated workflow code. Guessed browser targets fail on real pages.Use the Notte skill and CLI to inspect the live site, validate actions/selectors, handle auth/session state, and export workflow code with notte sessions workflow-code before using SDK docs or SDK code.SDK reference pages are for understanding, running, or editing generated workflow code. They are not the starting point for manually authoring the initial browser automation. SDK-first code is guesswork on real-world pages with dynamic selectors, auth state, CAPTCHAs, and anti-bot behavior.
Notte sessions include built-in stealth features to help your automations avoid detection by anti-bot systems.

Built-in Stealth Features

All Notte sessions automatically include:
  • Clean browser fingerprints - Realistic browser signatures
  • Navigator properties - Proper webdriver, plugins, and language settings
  • Canvas fingerprinting protection - Randomized canvas signatures
  • WebGL fingerprinting protection - Unique WebGL parameters
  • Timezone and locale matching - Consistent geolocation data
  • Chrome DevTools Protocol hiding - CDP detection prevention

Basic Usage

Stealth features are enabled by default. Simply create a session:

Enhanced Stealth with Proxies

Combine stealth mode with residential proxies for maximum anonymity:

Custom User Agents

Override the default user agent for specific requirements:

Stealth Best Practices

1. Use Realistic Behavior

Avoid patterns that look automated:
realistic_behavior.py

2. Rotate Proxies

Use different proxies for different sessions:
rotate_proxies.py

3. Match Viewport to Real Devices

Use common screen resolutions:
match_viewport.py

4. Combine Multiple Techniques

Layer stealth features for best results:
combine_techniques.py

Testing Stealth

Test your stealth configuration against detection services:

What Stealth Can’t Do

Stealth features help avoid detection, but they cannot:
  • ❌ Bypass login rate limits (use delays between attempts)
  • ❌ Avoid behavioral analysis (act like a human)
  • ❌ Bypass IP-based blocking (use proxy rotation)
  • ❌ Solve all captchas automatically (use captcha solving)

Stealth + Captcha Solving

Combine stealth with automatic captcha solving for comprehensive protection:

Next Steps

Proxies

Configure residential proxies

CAPTCHA Solving

Automatically solve captchas

Browser Types

Choose the right browser engine

Multi-Region Support

Run sessions in different regions