Convert Figma logo to code with AI

GrapheneOS logoVanadium

Privacy and security enhanced releases of Chromium for GrapheneOS. Vanadium provides the WebView and standard user-facing browser on GrapheneOS. It depends on hardening in other GrapheneOS repositories and doesn't include patches not relevant to the build targets used on GrapheneOS.

1,061
70
1,061
72

Top Related Projects

6,002

Bromite is a Chromium fork with ad blocking and privacy enhancements; take back your browser!

Brave browser for Android, iOS, Linux, macOS, Windows.

Google Chromium, sans integration with Google

2,871

Source-code used in Kiwi Browser for Android

4,078

DuckDuckGo Android App

6,456

⚠️ Fenix (Firefox for Android) moved to a new repository. It is now developed and maintained as part of: https://github.com/mozilla-mobile/firefox-android

Quick Overview

Vanadium is a privacy and security-focused variant of the Chromium browser developed by GrapheneOS. It's designed to enhance user privacy and security while maintaining compatibility with most websites and web applications. Vanadium is the default browser for GrapheneOS, a hardened Android-based mobile operating system.

Pros

  • Enhanced privacy and security features compared to standard Chromium
  • Regular updates and security patches
  • Compatibility with most websites and web applications
  • Integrated with GrapheneOS for a cohesive, secure mobile experience

Cons

  • Limited availability outside of GrapheneOS
  • May have slightly reduced performance compared to standard Chromium due to additional security measures
  • Some features or extensions available in standard Chrome may not be supported
  • Smaller user base and community compared to mainstream browsers

Competitor Comparisons

6,002

Bromite is a Chromium fork with ad blocking and privacy enhancements; take back your browser!

Pros of Bromite

  • More widely compatible with various Android devices and custom ROMs
  • Includes built-in ad-blocking functionality
  • Offers a larger selection of user-configurable privacy features

Cons of Bromite

  • Less frequent updates compared to Vanadium
  • Not as tightly integrated with a specific security-focused OS like GrapheneOS
  • May lack some of the advanced security hardening features present in Vanadium

Code Comparison

Vanadium (based on Chromium):

#if defined(ARCH_CPU_X86_FAMILY)
  ALLOW_UNUSED_LOCAL(MemsetPatternWidth);
  return false;
#else
  return MemsetPatternWidth(pattern, pattern_size) > 0;
#endif

Bromite (based on Chromium):

#if defined(ARCH_CPU_X86_FAMILY)
  ALLOW_UNUSED_LOCAL(MemsetPatternWidth);
  return false;
#else
  return MemsetPatternWidth(pattern, pattern_size) > 0;
#endif

Both projects are based on Chromium, so their core codebases are similar. The main differences lie in the specific patches and modifications each project applies to enhance privacy and security features.

Brave browser for Android, iOS, Linux, macOS, Windows.

Pros of Brave

  • More extensive feature set, including built-in ad-blocking and cryptocurrency wallet
  • Larger user base and community support
  • Cross-platform availability (desktop and mobile)

Cons of Brave

  • Less focus on privacy and security compared to Vanadium
  • More complex codebase due to additional features
  • Potential privacy concerns with Brave Rewards and cryptocurrency integration

Code Comparison

Vanadium (focus on security):

@Override
protected void onCreate(Bundle savedInstanceState) {
    if (SecurityConfig.ENABLE_SECURITY_HARDENING) {
        setSecureFlag();
        disableScreenshots();
    }
    super.onCreate(savedInstanceState);
}

Brave (feature-rich approach):

const shields = {
  ads: true,
  trackers: true,
  httpUpgrades: true,
  fingerprinting: true,
  cookies: true
}

chrome.braveShields.setShields(tabId, shields)

Vanadium prioritizes security hardening, while Brave focuses on implementing various privacy and content-blocking features. Vanadium's codebase is more streamlined and security-oriented, whereas Brave's code reflects its broader feature set and cross-platform nature.

Google Chromium, sans integration with Google

Pros of ungoogled-chromium

  • More extensive de-Googling efforts, removing a wider range of Google-specific services and integrations
  • Broader platform support, including Windows, macOS, and Linux
  • Larger community and more frequent updates

Cons of ungoogled-chromium

  • Less focus on security hardening compared to Vanadium
  • May break some websites or features that rely on Google services
  • Requires more manual configuration and maintenance

Code Comparison

Vanadium (GrapheneOS):

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    WebView.setWebContentsDebuggingEnabled(false);
    setContentView(R.layout.activity_main);
}

ungoogled-chromium:

#if defined(GOOGLE_CHROME_BUILD)
  // Remove Google-specific code
#else
  // Keep non-Google functionality
#endif

The code snippets demonstrate different approaches:

  • Vanadium focuses on Android-specific security enhancements
  • ungoogled-chromium uses preprocessor directives to remove Google-specific code

Both projects aim to create a more privacy-focused browser experience, but Vanadium is tailored for GrapheneOS and emphasizes security, while ungoogled-chromium offers a broader de-Googled Chromium across multiple platforms.

2,871

Source-code used in Kiwi Browser for Android

Pros of Kiwi Browser

  • More feature-rich with built-in ad blocking and crypto wallet support
  • Supports Chrome extensions, offering greater customization
  • Regular updates and active community development

Cons of Kiwi Browser

  • Less focus on privacy and security compared to Vanadium
  • Larger codebase and potentially more vulnerabilities
  • Not specifically designed for hardened Android systems like GrapheneOS

Code Comparison

Vanadium (focus on security):

// Example of security-focused code in Vanadium
#if defined(SAFE_BROWSING_DB_LOCAL)
  safe_browsing::V4LocalDatabaseManager::Create(local_state);
#endif

Kiwi Browser (feature-rich approach):

// Example of feature-rich code in Kiwi Browser
void ApplyDarkMode() {
  // Apply dark mode to various UI elements
  ApplyDarkModeToToolbar();
  ApplyDarkModeToContent();
  // ...
}

Vanadium prioritizes security features and minimal modifications to the Chromium base, while Kiwi Browser focuses on adding user-friendly features and customization options. Vanadium's codebase tends to be more streamlined, with an emphasis on removing potentially vulnerable components. Kiwi Browser, on the other hand, includes additional features and modifications to enhance user experience, potentially at the cost of a larger attack surface.

4,078

DuckDuckGo Android App

Pros of DuckDuckGo Android

  • Focuses on privacy-enhancing features for everyday users
  • Includes a built-in ad and tracker blocker
  • Offers a more user-friendly interface for non-technical users

Cons of DuckDuckGo Android

  • Less comprehensive security model compared to Vanadium
  • Limited customization options for advanced users
  • Smaller development team and community support

Code Comparison

Vanadium (GrapheneOS):

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (!isTaskRoot()) {
        finish();
        return;
    }
    setContentView(R.layout.activity_main);
}

DuckDuckGo Android:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_browser)
    viewModel.viewState.observe(this, Observer { viewState ->
        render(viewState)
    })
}

The code snippets show different approaches to activity creation. Vanadium uses Java and includes a task root check, while DuckDuckGo Android uses Kotlin and implements a ViewModel observer pattern. This reflects the different focuses of the projects, with Vanadium prioritizing security and DuckDuckGo emphasizing user experience and reactive programming.

6,456

⚠️ Fenix (Firefox for Android) moved to a new repository. It is now developed and maintained as part of: https://github.com/mozilla-mobile/firefox-android

Pros of Fenix

  • Larger community and more active development
  • More extensive feature set and customization options
  • Cross-platform support (Android and iOS)

Cons of Fenix

  • Less focus on privacy and security compared to Vanadium
  • Potentially more resource-intensive due to additional features
  • May include telemetry and data collection (though optional)

Code Comparison

Vanadium (privacy-focused approach):

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    WebView.setWebContentsDebuggingEnabled(false)
    CookieManager.getInstance().setAcceptCookie(false)
}

Fenix (feature-rich approach):

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    components.analytics.metrics.track(Event.OpenedApp)
    settings.setTheme(ThemeManager.resolveThemeString(settings.getThemeChoice()))
}

The code snippets highlight the different priorities of each project. Vanadium focuses on disabling potentially privacy-compromising features, while Fenix emphasizes analytics and user customization.

Vanadium, part of GrapheneOS, prioritizes security and privacy, offering a stripped-down browser with enhanced protection. Fenix, the codebase for Firefox for Android, provides a more feature-rich experience with broader appeal but potentially at the cost of some privacy-oriented features. The choice between the two depends on individual preferences for privacy versus functionality.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Vanadium is a privacy and security hardened variant of Chromium providing the WebView (used by other apps to render web content) and standard browser for GrapheneOS. It depends on hardening and compatibility fixes in GrapheneOS rather than reinventing the wheel inside Vanadium. For example, GrapheneOS already provides a hardened malloc implementation so there's no need for Vanadium to replace it. Similarly, it can deploy security features causing breakage on other operating systems due to the ability to fix compatibility problems in the OS.

See the official build documentation for build instructions.