VulpineOS
Docs
Runtime
Hardened Browser
Native Firefox patches, C++ injection filter
Action Lock
Freeze JS, timers, reflows mid-think
Optimized DOM
93.1% measured compression
Trust Warming
Long-lived browser identities
Operator surfaces
Web Panel
Fleet view, sessions, approvals
TUI Workbench
SSH-friendly operator terminal
Remote Access
Control plane over the runtime
MCP Toolbelt
36 tools across navigation, audio, mobile
Ecosystem
Foxbridge
CDP to Juggler / WebDriver BiDi
Vulpine Mark
Set-of-mark visual labeling
MobileBridge
iOS & Android device sessions
Vulpine-Box
One-click Docker self-host
Documentation
Quickstart
First agent in 30 seconds
Architecture
Four-phase security model
MCP Reference
All 36 browser tools
Agent Scripting DSL
Declarative agent definitions
Open source
VulpineOS Runtime
GitHub, MPL 2.0
Foxbridge
CDP to Juggler / WebDriver BiDi
Vulpine Mark
Set-of-mark visual labeling
Android MobileBridge
Device discovery & sessions
Integrations
OpenClaw
Pre-configured agent loop
Camoufox
Anti-detect browser core
LLM providers
30+ models, one toolbelt
Docker (Vulpine-Box)
One-click self-host
Guides
AI Agent Security
Threat model, mitigations
Prevent Prompt Injection
Hidden DOM, ARIA tricks
OpenClaw + Camoufox
End-to-end setup
Camoufox vs Chrome
Why Firefox, why patches
Engineering
Changelog
Release notes as work lands
Roadmap
Now, next, later, research
GitHub Releases
Tagged builds and diffs
RenderLab
Optional render diagnostics study
Community
GitHub Discussions
Ideas, RFCs, support
Contributing
How to help
Issues
Bug reports, feature requests
Contact
support@vulpineos.com
Star on GitHub →
Research · Vulpine RenderLab

Firefox render diagnostics, with consent.

RenderLab is an optional study that helps improve VulpineOS rendering reliability and fingerprint-consistency research. It is off by default and only runs when you allow it on this page.

Open in desktop Firefox

This study only runs in desktop Firefox or Camoufox. The collector relies on Firefox-specific render output. Open this page in desktop Firefox before allowing diagnostics — the "Allow diagnostics" control below is disabled in other browsers.

01

What we collect

Only browser-render diagnostics. Everything below is gathered locally, summarized across a few repeated passes, and sent in a single small payload to auth.vulpineos.com.

  • Browser and OS metadata

    Browser brand and version, OS name and version, platform, architecture, browser language, timezone, hardware concurrency, and device memory.

  • Display metadata

    Screen width and height, available area, color depth, device pixel ratio, prefers-dark and reduced-motion preferences.

  • Canvas and text rendering summaries

    We render fixed canvas and text scenes locally several times and send hashes of the resulting pixels plus a short list of font width measurements. Raw pixels and screenshots never leave your browser.

  • WebGL summary

    Vendor and renderer strings, GL and shading language versions, texture and viewport limits, and the supported extension list.

  • Worker capabilities

    Whether your browser exposes Worker, SharedWorker, ServiceWorker, and OffscreenCanvas.

  • Coarse country / region

    If your hosting provider exposes it via request headers, we may store the country or region. We do not store IP addresses.

02

What we do not collect

The following are explicitly out of scope. The collector is built to refuse them.

  • Passwords, tokens, or any credentials.
  • Cookies, localStorage, or sessionStorage contents.
  • Account data or personal identifiers.
  • Browsing history or referrer chains.
  • Page HTML, text content, or any DOM contents.
  • Screenshots or raw images of any kind.
  • Raw data URLs.
03

Why this exists

VulpineOS depends on browser rendering being predictable across operating systems, drivers, and configurations. RenderLab helps us measure how consistent that rendering really is in the wild — across a much wider surface than any single test rig.

The data improves Vulpine RenderLab and our wider work on browser rendering and fingerprint-consistency research. It is not used for advertising, tracking across sites, or training third-party models.

04

Optional, always

RenderLab is opt-in. The site works identically if you decline. Declining saves a local-only flag — nothing is sent to the backend.

Acceptance creates a participant id and consent id which are stored in your browser's localStorage so you can revoke later. A diagnostic is submitted only when you accept. We do not run diagnostics automatically on every visit. If you revoke and later allow diagnostics again, a new consent and diagnostic payload are created.

05

Revoke any time

Use the control at the top of this page. Revocation deletes the local participant and consent ids, and submits a revocation to the backend so we stop accepting runs for them.

06

Contact

Questions or requests: privacy@vulpineos.com.

VulpineOS

The browser built for AI agents.
Open-source runtime, end to end.

Camoufox 146.0.1
Product
DocsArchitectureMCP ToolbeltChangelog
Open source
GitHubFoxbridgeVulpine MarkMobileBridge
Resources
RoadmapAI Agent SecurityPrompt InjectionCamoufox vs Chrome
Community
DiscussionsContributingIssuesContact
© 2026 VulpineOSBuilt on Camoufox · Firefox 146.0.1Privacy & Terms