Documentation Index
Fetch the complete documentation index at: https://browseruse-0aece648-cursor-proxy-indicator-and-text-6cda.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
For comprehensive authentication guidance including real browser profiles, storage state, and 2FA, see the Authentication Guide.
import os
from browser_use import Agent, Browser, ChatOpenAI
os.environ['ANONYMIZED_TELEMETRY'] = "false"
company_credentials = {'x_user': 'your-real-username@email.com', 'x_pass': 'your-real-password123'}
# Option 1: Secrets available for all websites
sensitive_data = company_credentials
# Option 2: Secrets per domain with regex
# sensitive_data = {
# 'https://*.example-staging.com': company_credentials,
# 'http*://test.example.com': company_credentials,
# 'https://example.com': company_credentials,
# 'https://google.com': {'g_email': 'user@gmail.com', 'g_pass': 'google_password'},
# }
agent = Agent(
task='Log into example.com with username x_user and password x_pass',
sensitive_data=sensitive_data,
use_vision=False, # Disable vision to prevent LLM seeing sensitive data in screenshots
llm=ChatOpenAI(model='gpt-4.1-mini'),
)
async def main():
await agent.run()
How it Works
- Text Filtering: The LLM only sees placeholders (
x_user, x_pass), we filter your sensitive data from the input text.
- DOM Actions: Real values are injected directly into form fields after the LLM call
Best Practices
- Use
Browser(allowed_domains=[...]) to restrict navigation
- Set
use_vision=False to prevent screenshot leaks
- Use
storage_state='./auth.json' for login cookies instead of passwords when possible