The Three-Channel Model
One request. Three delivery paths.
The publisher server routes each request based on Vera headers. Human readers, AI agents, and standard browsers each get the right experience.
Clean Reading for Humans
Publishers detect verified Vera signals and serve a better experience: no consent banners, no cookie dialogs. A browser-native identity layer handles sign-in and subscriptions across every participating publisher in a single tap.
- Publisher-served clean experience
- Browser-native single sign-on
- Subscription and pay-per-read
- Verified human signal
Verified Origin: Block Everything Else
Publisher backends validate Vera's request headers to confirm every request originates from a genuine Vera Browser instance. Any request without valid Vera headers can be blocked outright: 100% coverage, no allowlists, no guessing. Higher tiers differentiate AI agents from human readers.
- Server-side Vera header validation
- 100% non-Vera traffic blocking
- AI agent vs. human differentiation
- Standard HTTP, no third-party dependency
Zero-Disruption Integration
Publishers integrate incrementally, from a simple Vera HTML template (Tier 1) to full SDK integration with token validation and the analytics dashboard (Tier 3).
- Tier 0–4 incremental adoption
- Python, Node.js, PHP, WordPress SDKs
- Single endpoint for all traffic types
- No new infrastructure required
Open Standards
Built on open protocols
Vera adds no proprietary layer. VRP is an open convention that any publisher or browser can implement.
VRP: Vera Request Protocol
HTTP headers that identify every Vera request: browser version, identity token, and human verification signal. Built on standard HTTP, no proprietary infrastructure.
Read in spec →OpenRTB: Programmatic Advertising
Vera speaks OpenRTB natively. Publishers connect their own SSP, DSP, or Prebid Server directly, no proprietary ad SDK required. Consent signals from the browser's central consent store go straight into the bid stream.
Read in spec →Publisher Integration
Start simple. Go as deep as you want.
Tier 1 gives Vera readers a better experience today, no SDK required, just server-side header validation. Add Tier 2 to define your compensation model. Join the Foundation at Tier 3 for deep browser integration.
Tier 1
Vera Reader Experience
Validate Vera headers server-side and serve a better page to Vera readers: no consent banners, no cookie dialogs. Publishers control what Vera users see, based on verified browser signals.
Tier 2
Compensation Model
Integrate the Vera SDK and choose how Vera readers access your content: free, ad-supported, via a content subscription provider, or through a direct publisher subscription.
Tier 3
Foundation Member
Join the Vera Foundation and integrate your subscription system directly into the browser. Users manage publisher subscriptions in-browser, with publisher logins connected to Vera identity.
Join the Vera Consortium
Vera is built and governed by the publisher ecosystem. We are forming the founding consortium now: publishers, identity providers, payment providers, and search engines.
Architecture
A Chromium fork with 3 patches
Vera is a direct Chromium fork, the same architecture used by Brave, Edge, and Opera. All Vera-specific code lives in a clean /vera/ directory. Only three minimal patches touch Chromium itself, each under 50 lines.
001-user-agent.patch: Register header injector in URLRequest stack002-402-throttle.patch: Register NavigationThrottle for 402 interception003-status-bar.patch: Status bar slot in browser chrome
Chromium update = git rebase upstream/main, then review 3 patches. One senior Chromium engineer is sufficient for ongoing maintenance.
vera-browser/
├── CHROMIUM_VERSION
├── vera/ ← All Vera code (new)
│ ├── core/
│ │ ├── token_store.cc
│ │ ├── identity_provider.cc
│ │ └── subscription.cc
│ ├── network/
│ │ └── header_injector.cc
│ ├── browser/
│ │ ├── response_handler.cc
│ │ ├── content_filter.cc
│ │ └── status_bar.cc
│ └── ui/
│ ├── payment_dialog/
│ ├── consent_center/
│ └── account_panel/
└── patches/ ← 3 patches only
├── 001-user-agent.patch
├── 002-402-throttle.patch
└── 003-status-bar.patch