Core Architecture
Chromium Base
The foundation built on ungoogled-chromium
Helium Services
Privacy-respecting backend services
Onboarding System
First-run experience and setup
Patch System
Organized patches for customization
Layer Structure
Helium is built in layers, with each layer adding functionality while preserving privacy:Chromium Core
The base Chromium browser provides the rendering engine, JavaScript runtime, and core web platform features.
ungoogled-chromium
Removes Google dependencies and integrations, providing a clean foundation for privacy-focused browsing.
Helium Patches
Custom modifications organized into functional categories that implement Helium’s features and design.
Patch Organization
Helium’s customizations are organized into distinct categories, each stored in thepatches/helium/ directory:
Core Patches
Core Patches
Core functionality and behavior modifications:
- Branding: Chrome to Helium branding changes
- Search: Search engine configuration and native bang support
- Noise: Privacy features (canvas, audio, hardware fingerprinting)
- Services: Helium services integration and schema management
- Components: uBlock Origin integration and component updates
- Policies: Helium Opinionated Policies (HOP) system
- Default preferences: Privacy-first default settings
UI Patches
UI Patches
User interface customizations:
- Toolbar: Compact toolbar with custom button configuration
- Tabs: Tab styling and behavior
- Layout: Multiple layout modes (compact, vertical)
- Color scheme: Helium’s visual identity
- New Tab Page: Cleaned up, minimalist NTP
- Omnibox: Address bar enhancements
- Context menus: Streamlined right-click menus
- Side panel: Custom side panel integration
Settings Patches
Settings Patches
Settings page modifications:
- Privacy page: Enhanced privacy controls
- Helium services page: Service configuration interface
- Search engine management: Improved search settings
- Appearance: UI customization options
- Removed sections: Cleanup of Google-specific features
- Reordered navigation: More logical settings organization
HOP (Helium Opinionated Policies)
HOP (Helium Opinionated Policies)
Privacy and security policies:
- Custom policy provider with highest priority
- Default security settings enforcement
- Password manager configuration
- WebRTC privacy controls
Key Components
uBlock Origin Integration
Helium includes uBlock Origin as a built-in component extension:- Installed automatically as a component (not from Chrome Web Store)
- Preconfigured with privacy-focused defaults
- Filter list updates proxied through Helium services
- Integrated into settings UI for easy management
~/workspace/source/patches/helium/core/ublock-*.patch
Helium Services Component
The services system provides optional functionality while preserving privacy:All services are opt-in during onboarding and can be disabled at any time in settings.
- Extension updates: Privacy-respecting extension update checks
- Browser updates: Automatic update notifications
- Spellcheck: Dictionary downloads
- uBlock assets: Proxied filter list updates
- Native bangs: DuckDuckGo-style search shortcuts
~/workspace/source/patches/helium/core/services-*.patch
Schema Versioning System
Helium implements a schema versioning system to notify users of important changes to services behavior:~/workspace/source/components/helium_services/schema.cc
Build System Integration
Helium uses a dependency management system indeps.ini for external components:
Data Flow
All service requests are:- Conditional: Only made when explicitly enabled by user
- Configurable: Users can self-host services
- Privacy-respecting: No tracking or telemetry
- Transparent: Schema changes require user acknowledgment
Platform Packaging
Helium is packaged separately for each platform: Each platform repository contains platform-specific packaging and build scripts while using this source repository as the base.Next Steps
Chromium Base
Learn about ungoogled-chromium foundation
Helium Services
Deep dive into services architecture