Use Cases/Browser Agents

Browser Agent Guardrails

Secure your browser automation agents with URL access control, form field protection, screenshot restrictions, and credential handling. Prevent data exfiltration and unauthorized actions in web-based AI agents.

Browser agent securityBrowser automation guardrailsWeb agent authorization

What are browser agent guardrails?

Browser agent guardrails are runtime controls that authorize and monitor actions taken by AI agents operating web browsers. These agents navigate pages, fill forms, click buttons, and extract data. Guardrails ensure they stay within defined boundaries, preventing access to unauthorized URLs, protection of sensitive form fields, and blocking credential theft or data exfiltration.

Why browser agents need guardrails

Browser automation agents have direct access to your authenticated sessions, can see everything on your screen, and can interact with any website you can. Without guardrails, a compromised or misbehaving agent can steal credentials, exfiltrate sensitive data, submit unauthorized forms, or take screenshots of confidential information.

Credential theft

Agents can read password fields, access session cookies, and extract API keys from developer tools or authenticated pages.

Data exfiltration

Agents can scrape sensitive data from dashboards, customer records, or internal tools and send it to external endpoints.

Unauthorized form submissions

Agents can submit forms without approval, make purchases, send emails, or modify critical settings without human oversight.

Screenshot exposure

Agents can capture screenshots of sensitive screens, potentially exposing PII, financial data, or confidential business information.

Real-world scenarios

Browser agents handle increasingly complex tasks. Each scenario requires specific authorization controls to prevent abuse.

URL access control

Restrict which domains and paths the agent can navigate to. Whitelist allowed sites like your CRM or internal tools. Block access to banking, email, and social media. Require approval for unknown domains.

Form field protection

Prevent agents from reading or writing to sensitive form fields. Block password inputs, credit card numbers, and SSN fields. Require approval for any form submission over a certain size or to payment endpoints.

Screenshot restrictions

Control when and what the agent can capture. Block screenshots on sensitive pages. Redact PII automatically. Require approval before capturing dashboards with customer data.

Credential handling

Prevent agents from accessing stored credentials or session tokens. Block navigation to password managers. Require re-authentication for sensitive operations. Log all credential-related actions.

URL whitelist/blocklist policies

Define URL access policies to control where your browser agent can navigate. Whitelist allowed domains, block sensitive paths, and require approval for unknown sites.

veto/policies/browser.yamlYAML
policies:
  # Allow navigation to approved business tools
  - name: "Allow business tools"
    match:
      tool: "navigate"
      arguments:
        url: "^(https?://)?(crm\.company\.com|docs\.company\.com|slack\.com)/.*$"
    action: allow

  # Block access to banking and financial sites
  - name: "Block financial sites"
    match:
      tool: "navigate"
      arguments:
        url: "^(https?://)?(bank|paypal|venmo|cashapp)\.com/.*$"
    action: deny
    response:
      error: "Access to financial sites is not permitted"

  # Block access to email providers
  - name: "Block email providers"
    match:
      tool: "navigate"
      arguments:
        url: "^(https?://)?(gmail|outlook|mail)\.com/.*$"
    action: deny
    response:
      error: "Access to email providers is not permitted"

  # Require approval for social media
  - name: "Approve social media access"
    match:
      tool: "navigate"
      arguments:
        url: "^(https?://)?(twitter|linkedin|facebook|instagram)\.com/.*$"
    action: require_approval
    approval:
      timeout_minutes: 15
      channels: [slack, email]

  # Block form submissions to payment endpoints
  - name: "Block payment form submissions"
    match:
      tool: "submit_form"
      arguments:
        action_url: ".*(payment|checkout|purchase).*"
    action: deny
    response:
      error: "Payment form submissions require human authorization"

  # Protect sensitive form fields
  - name: "Protect password fields"
    match:
      tool: "fill_form"
      arguments:
        field_type: "password"
    action: deny
    response:
      error: "Writing to password fields is not permitted"

  # Require approval for large data extraction
  - name: "Approve large extractions"
    match:
      tool: "extract_data"
      arguments:
        row_count: "^[0-9]{4,}$"  # 1000+ rows
    action: require_approval
    approval:
      timeout_minutes: 30
      reason: "Large data extraction detected"

Common browser agent policies

Essential authorization policies for securing browser automation workloads.

Domain whitelisting

Only allow navigation to explicitly approved domains. Block all other sites by default. Require approval for any new domain access.

Sensitive path blocking

Block navigation to admin panels, settings pages, and deletion endpoints even on whitelisted domains.

Form submission approval

Require human approval for any form submission that creates, modifies, or deletes data. Allow read-only form interactions without approval.

Screenshot redaction

Automatically redact PII, credit card numbers, and email addresses from screenshots before storage or transmission.

Credential access logging

Log and alert on any attempt to access password fields, session cookies, or credential manager data. Block extraction attempts.

JavaScript execution control

Control which scripts the agent can execute. Block eval, prevent WebSocket connections to unknown endpoints, and sandbox custom code.

Browser agent integrations

Veto integrates with popular browser automation frameworks to provide guardrails out of the box.

Related resources

Frequently asked questions

What is browser agent security?
Browser agent security refers to the controls and guardrails that protect against unauthorized actions by AI agents operating web browsers. This includes URL access control, form field protection, screenshot restrictions, and credential handling to prevent data exfiltration, credential theft, and unauthorized transactions.
How do browser automation guardrails prevent credential theft?
Guardrails prevent credential theft by blocking access to password fields, session cookies, and credential manager data. Agents cannot read or write to password input fields, access browser-stored credentials, or extract tokens from authenticated sessions. All credential-related actions are logged for audit purposes.
Can I allow browser agents to access only specific pages on a domain?
Yes. Veto policies support granular URL matching with regular expressions. You can whitelist specific paths (e.g., crm.company.com/leads/*) while blocking others (e.g., crm.company.com/admin/*) on the same domain. This enables fine-grained access control per page or section.
How do approval workflows work for browser agent actions?
When a browser agent attempts an action that requires approval, Veto pauses execution and sends a notification to designated reviewers via Slack, email, or your preferred channel. Reviewers can approve or deny from their dashboard. Approved actions resume automatically; denied actions return an error to the agent.
Do browser agent guardrails affect performance?
Minimal impact. Policy evaluation happens locally in under 10ms for most checks. Network latency only applies to approval workflows and cloud-based audit logging. The agent continues to operate normally while guardrails evaluate each action in real-time.

Secure your browser agents with comprehensive guardrails.