Repository navigation
Architecture
Language / Dil EN English · TR Türkçe
Brave Omega uses a three-tier enforcement model that creates redundant, independent policy enforcement at each layer of the Windows + Brave + Omaha stack.
┌─────────────────────────────────────────────────────────────┐
│ TIER 1 — HKCU (User Preference Layer) │
│ HKCU:\Software\BraveSoftware\Brave-Browser │
│ ↳ UsageStatsInSample = 0 │
│ Chromium user-level telemetry sampling disabled. │
│ Provides a fallback during policy propagation delays. │
├─────────────────────────────────────────────────────────────┤
│ TIER 2 — HKLM (Enterprise Policy Layer / ADMX) │
│ HKLM:\SOFTWARE\Policies\BraveSoftware\Brave │
│ ↳ ADMX-validated enterprise policies (level-based), enforced. │
│ Appear gray and locked in browser Settings UI. │
│ Cannot be overridden by user interaction. │
├─────────────────────────────────────────────────────────────┤
│ TIER 3 — Omaha Updater GUID Layer │
│ HKCU:\Software\BraveSoftware\Update\ClientState\{GUID} │
│ ↳ usagestats = 0 per application GUID │
│ Targets the update infrastructure's own telemetry, │
│ independently of all browser-level policies. │
└─────────────────────────────────────────────────────────────┘
In addition to the three enforcement tiers, Brave Omega v2.0+ offers five hardening levels with cumulative inheritance. Each level includes all policies from the previous one:
| Level | Policies | Scope | User Impact |
|---|---|---|---|
| 1. Brave Only | 24 Brave-specific policies | HKLM | None |
| 2. Essential ⭐ | 24 + 27 = 51 | HKLM + HKCU + Omaha | None |
| 3. Balanced | 51 + 32 = 83 | + WebRTC, HTTPS, DNS | Low |
| 4. Advanced | 83 + 40 = 123 | + Sensors, Imports, Extensions, Profiles | Low |
| 5. Strict | 123 + 28 = 151 | + JIT, Cookies, Clipboard, FS, DevTools | Medium |
Select your level interactively when running the script or use the -Level parameter:
PowerShell -ExecutionPolicy Bypass -File ".\BraveOmega.ps1" -Level Essential-
Registry Path:
HKCU:\Software\BraveSoftware\Brave-Browser -
Policy:
UsageStatsInSample = 0 - Effect: Disables browser-level usage statistics sampling sent to Brave servers
- Role: Fallback during policy propagation delays; user-level preference
-
Registry Path:
HKLM:\SOFTWARE\Policies\BraveSoftware\Brave - Policies: ADMX-validated enterprise policies (level-based)
- Behavior: Appear gray and locked in browser Settings UI
- Enforcement: Cannot be overridden by user interaction
- Scope: Machine-wide, applies to all users
-
Registry Path:
HKCU:\Software\BraveSoftware\Update\ClientState\{GUID} -
Policy:
usagestats = 0per application GUID - Effect: Targets the update infrastructure's own telemetry independently
- Independence: Operates independently of all browser-level policies
Core Principle: Zero unofficial or speculative registry changes.
Every policy is traceable to one authoritative source:
| Source | Policies Covered |
|---|---|
Brave Official ADMX Template Package (policy_templates.zip) |
BraveRewardsDisabled, BraveWalletDisabled, BraveVPNDisabled, BraveAIChatEnabled, BraveStatsPingEnabled
|
| Chromium Enterprise Policy Documentation |
MetricsReportingEnabled, SafeBrowsingExtendedReportingEnabled
|
| Google Omaha Updater Architecture |
usagestats (per GUID, in HKCU update layer) |
| Chromium Preferences Schema |
UsageStatsInSample (HKCU user preference) |
Note:
BraveShieldsDefaultis intentionally excluded — it does not exist in Brave's official ADMX templates. Brave manages Shields via URL-based policies (BraveShieldsEnabledForUrls,BraveShieldsDisabledForUrls). Global aggressive mode is applied through user profile preferences (Preferences JSON), not through an enterprise registry policy.
| Tier | Independence | Override Resistance | Propagation Speed |
|---|---|---|---|
| HKCU (Tier 1) | User-level | Can be overridden by user | Immediate |
| HKLM ADMX (Tier 2) | Machine-level | Cannot be overridden by user | Group Policy refresh |
| Omaha GUID (Tier 3) | Update infra-level | Independent of browser | Update check cycle |
Redundancy ensures: If one tier fails or is delayed, others continue enforcing privacy protections.
Hardening Levels (v2.0+): The five levels above add additional granularity within Tier 2, letting you choose the number of ADMX policies to apply.
1. Pre-flight Checks
├─ Administrator privileges?
├─ Brave running? (prompt continue/cancel)
├─ Level selection (interactive or -Level parameter)
└─ Version compatibility check
2. Backup
└─ Export HKLM:\SOFTWARE\Policies\BraveSoftware\Brave → timestamped .reg
3. Apply Policies (per tier)
├─ Tier 1: HKCU user preferences
├─ Tier 2: HKLM ADMX enterprise policies
└─ Tier 3: Omaha GUID usagestats = 0
4. Verification
├─ Per-policy success/failure counters
└─ Summary report with rollback instructions
5. Completion
└─ Exit code 0 on success, non-zero on failure
The apply step writes each policy with its own New-ItemProperty rather than
staging a single .reg file and importing it in one pass. That is a deliberate
choice, not an oversight.
Measured on the full policy set with the destination key already present, three runs averaged 98 ms for all 151 writes — about 0.65 ms per policy. The whole hierarchy is written in roughly a tenth of a second, so the batching argument does not buy anything a user can notice.
What the per-policy form buys instead:
- Isolated failure. One policy that cannot be written is reported by name. A bulk import fails as a unit and leaves the operator reading a single error for a batch of 151.
-
-WhatIfaccuracy. The preview reports the same path, name, type and value the apply step will actually write, because both call the same function. A generated.regfile would be a separate description of the intended state that can drift from the data layer. -
Type fidelity.
MultiStringpolicies need a value subkey. The per-policy branch handles that shape in place; a flat import would need the hierarchy pre-built in the generated text.
-
Idempotent writes (
New-Item* -Forceinternally) enable safe re-execution -
-WhatIfparameter previews changes without applying them -
-Resetparameter reverts all applied policies — after exporting both hives, and aborting if that export fails - Running multiple times = identical result
- No duplicate registry entries, no conflicts
- Safe for automation / scheduled tasks
- 📋 Policy Reference — Complete policy registry table
- 🔧 Installation — Prerequisites & step-by-step
- 🛡️ Security — Safety model & threat model
- 🔍 Troubleshooting — Common issues
Brave Omega, Windows + Brave + Omaha yığınının her katmanında bağımsız politika zorunlu kılması oluşturan üç katmanlı bir model kullanır.
┌─────────────────────────────────────────────────────────────┐
│ KATMAN 1 — HKCU (Kullanıcı Tercihi Katmanı) │
│ HKCU:\Software\BraveSoftware\Brave-Browser │
│ ↳ UsageStatsInSample = 0 │
│ Chromium kullanıcı düzeyi veri aktarımı kapatıldı. │
│ Politika yayılma gecikmelerinde yedek güvence sağlar. │
├─────────────────────────────────────────────────────────────┤
│ KATMAN 2 — HKLM (Kurumsal İlke Katmanı / ADMX) │
│ HKLM:\SOFTWARE\Policies\BraveSoftware\Brave │
│ ↳ ADMX doğrulamalı kurumsal ilke (seviye-tabanlı), zorunlu kılındı. │
│ Tarayıcı Ayarlar arayüzünde gri/kilitli görünür. │
│ Kullanıcı etkileşimiyle değiştirilemez. │
├─────────────────────────────────────────────────────────────┤
│ KATMAN 3 — Omaha Güncelleyici GUID Katmanı │
│ HKCU:\Software\BraveSoftware\Update\ClientState\{GUID} │
│ ↳ Her uygulama GUID'i için usagestats = 0 │
│ Güncelleme altyapısının kendi veri aktarımını, │
│ tarayıcı düzeyi ilkelerden bağımsız olarak kapatır. │
└─────────────────────────────────────────────────────────────┘
Üç zorunlu kılma katmanına ek olarak, Brave Omega v2.0+ beş sıkılaştırma seviyesi sunar. Her seviye bir öncekinin tüm politikalarını kapsar:
| Seviye | Politika | Kapsam | Kullanım Etkisi |
|---|---|---|---|
| 1. Brave Yalnız | 24 Brave'e özgü politika | HKLM | Yok |
| 2. Temel ⭐ | 24 + 27 = 51 | HKLM + HKCU + Omaha | Yok |
| 3. Dengeli | 51 + 32 = 83 | + WebRTC, HTTPS, DNS | Düşük |
| 4. Gelişmiş | 83 + 40 = 123 | + Sensörler, İçe Aktarmalar, Uzantılar, Profiller | Düşük |
| 5. Katı | 123 + 28 = 151 | + JIT, Çerezler, Pano, FS, DevTools | Orta |
Betiği çalıştırırken seviyenizi etkileşimli olarak seçin veya -Level parametresini kullanın:
PowerShell -ExecutionPolicy Bypass -File ".\BraveOmega.ps1" -Level Temel-
Kayıt Defteri Yolu:
HKCU:\Software\BraveSoftware\Brave-Browser -
Politika:
UsageStatsInSample = 0 - Etki: Brave sunucularına gönderilen tarayıcı düzeyi kullanım istatistiği örneklemesini devre dışı bırakır
- Rol: Politika yayılma gecikmelerinde yedek güvence; kullanıcı düzeyi tercih
-
Kayıt Defteri Yolu:
HKLM:\SOFTWARE\Policies\BraveSoftware\Brave - Politikalar: ADMX doğrulamalı kurumsal ilke (seviye-tabanlı)
- Davranış: Tarayıcı Ayarlar arayüzünde gri ve kilitli görünür
- Zorunlu Kılma: Kullanıcı etkileşimiyle değiştirilemez
- Kapsam: Makine genelinde, tüm kullanıcılar için geçerlidir
-
Kayıt Defteri Yolu:
HKCU:\Software\BraveSoftware\Update\ClientState\{GUID} -
Politika: Her uygulama GUID'i için
usagestats = 0 - Etki: Güncelleme altyapısının kendi veri aktarımını bağımsız olarak hedefler
- Bağımsızlık: Tüm tarayıcı düzeyi ilkelerden bağımsız çalışır
Temel İlke: Sıfır gayri resmî veya spekülatif kayıt defteri değişikliği.
Her politika tek bir yetkili kaynağa izlenebilir:
| Kaynak | Kapsanan Politikalar |
|---|---|
Brave Resmî ADMX Şablon Paketi (policy_templates.zip) |
BraveRewardsDisabled, BraveWalletDisabled, BraveVPNDisabled, BraveAIChatEnabled, BraveStatsPingEnabled
|
| Chromium Kurumsal Politika Belgelendirmesi |
MetricsReportingEnabled, SafeBrowsingExtendedReportingEnabled
|
| Google Omaha Güncelleyici Mimarisi |
usagestats (GUID başına, HKCU güncelleme katmanında) |
| Chromium Tercihler Şeması |
UsageStatsInSample (HKCU kullanıcı tercihi) |
Not:
BraveShieldsDefaultkasıtlı olarak dışarıda bırakıldı — Brave'in resmî ADMX şablonlarında bulunmamaktadır. Brave, kalkanları URL bazlı politikalarla (BraveShieldsEnabledForUrls,BraveShieldsDisabledForUrls) yönetir. Genel saldırgan mod, kurumsal kayıt defteri politikası değil; kullanıcı profil tercihleri (Preferences JSON) aracılığıyla uygulanır.
| Katman | Bağımsızlık | Geçersiz Kılmaya Direnç | Yayılma Hızı |
|---|---|---|---|
| HKCU (Katman 1) | Kullanıcı düzeyi | Kullanıcı tarafından geçersiz kılınabilir | Anlık |
| HKLM ADMX (Katman 2) | Makine düzeyi | Kullanıcı tarafından geçersiz kılınamaz | Grup İlkesi yenileme |
| Omaha GUID (Katman 3) | Güncelleme altyapısı düzeyi | Tarayıcıdan bağımsız | Güncelleme kontrol döngüsü |
Yedeklilik şunları sağlar: Bir katman başarısız olursa veya gecikirse, diğerleri gizlilik korumalarını uygulamaya devam eder.
Sıkılaştırma Seviyeleri (v2.0+): Yukarıdaki beş seviye, Katman 2'ye ek ayrıntı düzeyi ekleyerek kaç ADMX politikası uygulanacağını seçmenizi sağlar.
1. Ön Kontroller
├─ Yönetici ayrıcalıkları?
├─ Brave çalışıyor mu? (devam/iptal istemi)
├─ Seviye seçimi (etkileşimli veya -Level parametresi)
└─ Sürüm uyumluluk kontrolü
2. Yedekleme
└─ HKLM:\SOFTWARE\Policies\BraveSoftware\Brave → zaman damgalı .reg
3. Politikaları Uygula (katman başına)
├─ Katman 1: HKCU kullanıcı tercihleri
├─ Katman 2: HKLM ADMX kurumsal ilkeler
└─ Katman 3: Omaha GUID usagestats = 0
4. Doğrulama
├─ Politika başına başarı/hata sayaçları
└─ Geri alma talimatlarıyla özet rapor
5. Tamamlama
└─ Başarıda çıkış kodu 0, hatada sıfır değil
Uygulama adımı, politikaları hazırlanmış tek bir .reg dosyasıyla toplu
içe aktarmak yerine her biri için kendi New-ItemProperty çağrısıyla yazar. Bu
bilinçli bir tercihtir, bir gözden kaçma değil.
Hedef anahtar zaten mevcutken tüm politik kümesi üzerinde yapılan üç koşunun ortalaması 151 yazım için 98 ms — politika başına yaklaşık 0.65 ms çıktı. Tüm hiyerarşi kabaca onda bir saniyede yazılıyor, yani toplu yazmanın kazandırdığı hiçbir şey kullanıcının fark edebileceği bir kazanç değil.
Bunun yerine politika başına yazma şunları sağlıyor:
- Hata yalıtımı. Yazılamayan tek politika adıyla raporlanır. Toplu içe aktarma bir bütün olarak başarısız olur ve işleticiyi 151 politikalık bir yığın için tek bir hata mesajı okumaya bırakır.
-
-WhatIfdoğruluğu. Önizleme, uygulama adımının gerçekten yazacağı yolu, adı, türü ve değeri raporlar; çünkü ikisi de aynı işlevi çağırır. Üretilmiş bir.regdosyası ise veri katmanından ayrışabilen, amaçlanan durumun ayrı bir tarifidir. -
Tür sadakati.
MultiStringpolitikaları bir değer alt anahtarı gerektirir. Politika başına dal bu biçimi yerinde ele alır; düz içe aktarma ise hiyerarşinin üretilen metin içinde önceden kurulmuş olmasını gerektirir.
-
Idempotent yazmalar (
New-Item* -Forceiçeride) güvenli yeniden çalıştırmayı sağlar -
-WhatIfparametresi değişiklikleri uygulamadan önizler -
-Resetparametresi uygulanan tüm politikaları geri alır — önce iki kovanın da yedeğini alır, yedekleme başarısız olursa vazgeçer - Birden fazla çalıştırma = özdeş sonuç
- Yinelenen kayıt defteri girişi yok, çakışma yok
- Otomasyon / zamanlanmış görevler için güvenli
- 📋 Politika Başvurusu — Politika kayıt defteri tablosu
- 🔧 Kurulum — Ön gereksinimler ve adım adım
- 🛡️ Güvenlik — Güvenlik modeli ve tehdit modeli
- 🔍 Sorun Giderme — Sık karşılaşılan sorunlar
🦁 Brave Omega Project — Community Edition
Built with care. Maintained with purpose.
Özenle inşa edildi. Amaçla sürdürülüyor.
License: MIT License Lisans: MIT Lisansı
Disclaimer: Brave Omega is an independent community project and is not affiliated with, endorsed by, or officially connected to Brave Software, Inc. in any way. The Brave name and logo are registered trademarks of Brave Software, Inc. Sorumluluk Reddi: Brave Omega bağımsız bir topluluk projesidir ve hiçbir şekilde Brave Software, Inc. ile bağlantılı, onun tarafından onaylanmış veya resmî olarak ilişkili değildir. Brave adı ve logosu Brave Software, Inc.'in tescilli markalarıdır.
- Home
- Overview
- Quick Start
- Architecture
- Policy Reference
- Rejected Policies
- Installation
- Security
- Troubleshooting
- Roadmap
- Contributing
- Changelog
- Version Compatibility Matrix
- 🧪 Tests — Pester test suite
- Ana Sayfa
- Genel Bakış
- Hızlı Başlangıç
- Mimari
- Politika Başvurusu
- Reddedilen Politikalar
- Kurulum
- Güvenlik
- Sorun Giderme
- Yol Haritası
- Katkıda Bulunma
- Değişiklik Günlüğü
- Sürüm Uyumluluk Matrisi
- 🧪 Testler — Pester test takımı
🦁 Brave Omega — Community Edition Built with care. Maintained with purpose. Özenle inşa edildi. Amaçla sürdürülüyor.