Skip to content

Explanation

This section explains how SafeMode works internally and why specific design choices were made.

Available Deep Dives

Reading Strategy

If you are new to the codebase:

  1. Start with HTTPS flow.
  2. Continue with classification pipeline.
  3. Read runtime/process model to understand lifecycle behavior.
  4. Finish with filter update model.

Design Principles Used in SafeMode

  • Keep startup responsive (async loading, background workers).
  • Keep labels semantically strict (ublock is not phishtank).
  • Prefer deterministic lifecycle order (start monitor, then proxy; stop monitor, then proxy off).
  • Favor local processing and explicit user controls.