# brave/brave-core architecture

> Architecture diagram of the GitHub repository brave/brave-core, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/brave/brave-core
- Repository: https://github.com/brave/brave-core

## Overview

Brave Core customizes Chromium into the Brave browser; the README emphasizes this role, while the sampled tree shows browser features across desktop, Android, and iOS. A representative user workflow is choosing a search engine in settings, with distinct private-window preferences. Other visible capabilities include wallet and DApp interactions, news, tab management, iOS content blocking, and passage-embedding model availability. Source excerpts are sparse and several listed subsystems are unsampled, so the graph limits internal wiring to relationships evidenced by the excerpts.

Main entry points: [`browser/resources/settings/brave_search_engines_page/normal_search_engine_list_dialog.ts`](https://github.com/brave/brave-core/blob/master/browser/resources/settings/brave_search_engines_page/normal_search_engine_list_dialog.ts) (Search settings UI), [`browser/ui/webui/settings/brave_search_engines_handler_unittest.cc`](https://github.com/brave/brave-core/blob/master/browser/ui/webui/settings/brave_search_engines_handler_unittest.cc) (Search settings handler), [`browser/ui/views/page_action/partitioned_storage_page_action_controller.cc`](https://github.com/brave/brave-core/blob/master/browser/ui/views/page_action/partitioned_storage_page_action_controller.cc) (Partitioned storage action), [`ios/brave-ios/Sources/Brave/WebFilters/AdBlock/AdBlockEngineManager.swift`](https://github.com/brave/brave-core/blob/master/ios/brave-ios/Sources/Brave/WebFilters/AdBlock/AdBlockEngineManager.swift) (Ad block engine)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_search["Search settings"]
  node_search_ui["Search settings UI"]
  node_search_handler["Search settings handler"]
  node_search_prefs["Search preferences"]
  node_search_service["Search provider service"]
end

subgraph group_wallet["Wallet and DApps"]
  node_wallet_ui["Wallet activities"]
  node_dapp_ui["DApp wallet flow"]
  node_wallet_service["Wallet service"]
  node_wallet_models["Wallet domain models<br/>[WalletModel.java]"]
end

subgraph group_browser["Browser features"]
  node_tab_ui["Tab management"]
  node_news_ui["Brave News"]
  node_storage_action["Partitioned storage action"]
  node_containers["Container menu model"]
end

subgraph group_ios["iOS features"]
  node_ios_adblock["Ad block engine"]
  node_ios_review["App review manager"]
  node_filter_cache[("Compiled rule cache")]
end

subgraph group_intelligence["Local intelligence"]
  node_model_controller["Passage model controller"]
  node_model_component["Model component files"]
end

node_user(("Browser user"))

node_user -->|"chooses engine"| node_search_ui
node_search_ui -->|"sets default"| node_search_handler
node_search_handler -->|"updates preference"| node_search_prefs
node_search_service -->|"reads preference"| node_search_prefs
node_user -->|"opens wallet"| node_wallet_ui
node_user -->|"requests DApp action"| node_dapp_ui
node_user -->|"manages tabs"| node_tab_ui
node_user -->|"views news"| node_news_ui
node_user -->|"opens action"| node_storage_action
node_storage_action -->|"creates menu"| node_containers
node_user -->|"browses pages"| node_ios_adblock
node_ios_adblock -->|"loads or writes"| node_filter_cache
node_user -->|"uses app"| node_ios_review
node_model_component -->|"installs metadata"| node_model_controller

click node_search_ui "https://github.com/brave/brave-core/blob/master/browser/resources/settings/brave_search_engines_page/normal_search_engine_list_dialog.ts"
click node_search_handler "https://github.com/brave/brave-core/blob/master/browser/ui/webui/settings/brave_search_engines_handler_unittest.cc"
click node_search_prefs "https://github.com/brave/brave-core/blob/master/chromium_src/components/search_engines/search_engines_pref_names.h"
click node_search_service "https://github.com/brave/brave-core/blob/master/browser/search_engines/search_engine_provider_service_browsertest.cc"
click node_wallet_ui "https://github.com/brave/brave-core/blob/master/android/java/org/chromium/chrome/browser/crypto_wallet/activities/BraveWalletActivity.java"
click node_dapp_ui "https://github.com/brave/brave-core/blob/master/android/java/org/chromium/chrome/browser/crypto_wallet/controller/DAppsWalletController.java"
click node_wallet_service "https://github.com/brave/brave-core/blob/master/android/java/org/chromium/chrome/browser/crypto_wallet/BraveWalletServiceFactory.java"
click node_wallet_models "https://github.com/brave/brave-core/blob/master/android/java/org/chromium/chrome/browser/app/domain/WalletModel.java"
click node_tab_ui "https://github.com/brave/brave-core/blob/master/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/BraveTabGroupUiCoordinator.java"
click node_news_ui "https://github.com/brave/brave-core/blob/master/android/java/org/chromium/chrome/browser/brave_news/BraveNewsControllerFactory.java"
click node_storage_action "https://github.com/brave/brave-core/blob/master/browser/ui/views/page_action/partitioned_storage_page_action_controller.cc"
click node_containers "https://github.com/brave/brave-core/blob/master/browser/ui/views/page_action/partitioned_storage_page_action_controller.cc"
click node_ios_adblock "https://github.com/brave/brave-core/blob/master/ios/brave-ios/Sources/Brave/WebFilters/AdBlock/AdBlockEngineManager.swift"
click node_ios_review "https://github.com/brave/brave-core/blob/master/ios/brave-ios/Sources/Growth/AppReviewManager.swift"
click node_model_controller "https://github.com/brave/brave-core/blob/master/browser/history_embeddings/brave_passage_embeddings_service_controller_unittest.cc"
click node_filter_cache "https://github.com/brave/brave-core/blob/master/ios/brave-ios/Sources/Brave/WebFilters/AdBlock/AdBlockEngineManager.swift"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_search_ui,node_search_handler,node_search_prefs,node_search_service,node_user toneBlue
class node_wallet_ui,node_dapp_ui,node_wallet_service,node_wallet_models toneAmber
class node_tab_ui,node_news_ui,node_storage_action,node_containers toneMint
class node_ios_adblock,node_ios_review,node_filter_cache toneRose
class node_model_controller,node_model_component toneIndigo
```

## Components

### Search settings

- [Search settings UI](https://github.com/brave/brave-core/blob/master/browser/resources/settings/brave_search_engines_page/normal_search_engine_list_dialog.ts): `browser/resources/settings/brave_search_engines_page/normal_search_engine_list_dialog.ts`
- [Search settings handler](https://github.com/brave/brave-core/blob/master/browser/ui/webui/settings/brave_search_engines_handler_unittest.cc): `browser/ui/webui/settings/brave_search_engines_handler_unittest.cc`
- [Search preferences](https://github.com/brave/brave-core/blob/master/chromium_src/components/search_engines/search_engines_pref_names.h): `chromium_src/components/search_engines/search_engines_pref_names.h`
- [Search provider service](https://github.com/brave/brave-core/blob/master/browser/search_engines/search_engine_provider_service_browsertest.cc): `browser/search_engines/search_engine_provider_service_browsertest.cc`

### Wallet and DApps

- [Wallet activities](https://github.com/brave/brave-core/blob/master/android/java/org/chromium/chrome/browser/crypto_wallet/activities/BraveWalletActivity.java): `android/java/org/chromium/chrome/browser/crypto_wallet/activities/BraveWalletActivity.java`
- [DApp wallet flow](https://github.com/brave/brave-core/blob/master/android/java/org/chromium/chrome/browser/crypto_wallet/controller/DAppsWalletController.java): `android/java/org/chromium/chrome/browser/crypto_wallet/controller/DAppsWalletController.java`
- [Wallet service](https://github.com/brave/brave-core/blob/master/android/java/org/chromium/chrome/browser/crypto_wallet/BraveWalletServiceFactory.java): `android/java/org/chromium/chrome/browser/crypto_wallet/BraveWalletServiceFactory.java`
- [Wallet domain models](https://github.com/brave/brave-core/blob/master/android/java/org/chromium/chrome/browser/app/domain/WalletModel.java): `android/java/org/chromium/chrome/browser/app/domain/WalletModel.java`

### Browser features

- [Tab management](https://github.com/brave/brave-core/blob/master/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/BraveTabGroupUiCoordinator.java): `android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/BraveTabGroupUiCoordinator.java`
- [Brave News](https://github.com/brave/brave-core/blob/master/android/java/org/chromium/chrome/browser/brave_news/BraveNewsControllerFactory.java): `android/java/org/chromium/chrome/browser/brave_news/BraveNewsControllerFactory.java`
- [Partitioned storage action](https://github.com/brave/brave-core/blob/master/browser/ui/views/page_action/partitioned_storage_page_action_controller.cc): `browser/ui/views/page_action/partitioned_storage_page_action_controller.cc`
- [Container menu model](https://github.com/brave/brave-core/blob/master/browser/ui/views/page_action/partitioned_storage_page_action_controller.cc): `browser/ui/views/page_action/partitioned_storage_page_action_controller.cc`

### iOS features

- [Ad block engine](https://github.com/brave/brave-core/blob/master/ios/brave-ios/Sources/Brave/WebFilters/AdBlock/AdBlockEngineManager.swift): `ios/brave-ios/Sources/Brave/WebFilters/AdBlock/AdBlockEngineManager.swift`
- [App review manager](https://github.com/brave/brave-core/blob/master/ios/brave-ios/Sources/Growth/AppReviewManager.swift): `ios/brave-ios/Sources/Growth/AppReviewManager.swift`
- [Compiled rule cache](https://github.com/brave/brave-core/blob/master/ios/brave-ios/Sources/Brave/WebFilters/AdBlock/AdBlockEngineManager.swift): `ios/brave-ios/Sources/Brave/WebFilters/AdBlock/AdBlockEngineManager.swift`

### Local intelligence

- [Passage model controller](https://github.com/brave/brave-core/blob/master/browser/history_embeddings/brave_passage_embeddings_service_controller_unittest.cc): `browser/history_embeddings/brave_passage_embeddings_service_controller_unittest.cc`
- **Model component files**

### Other components

- **Browser user**

## Connections

- Browser user → Search settings UI: chooses engine
- Search settings UI → Search settings handler: sets default
- Search settings handler → Search preferences: updates preference
- Search provider service → Search preferences: reads preference
- Browser user → Wallet activities: opens wallet
- Browser user → DApp wallet flow: requests DApp action
- Browser user → Tab management: manages tabs
- Browser user → Brave News: views news
- Browser user → Partitioned storage action: opens action
- Partitioned storage action → Container menu model: creates menu
- Browser user → Ad block engine: browses pages
- Ad block engine → Compiled rule cache: loads or writes
- Browser user → App review manager: uses app
- Model component files → Passage model controller: installs metadata
