Content Filtering
Quira includes a high-performance content filtering engine built directly into the browser's networking pipeline. It blocks unwanted content — ads, trackers, cryptominers, and malicious scripts — before they load, saving bandwidth and protecting privacy.
Filter engine
The content filter engine uses a Rust-based implementation that evaluates filter rules against network requests in constant time using compiled Aho-Corasick automata. This approach is significantly faster than regex-based engines used by traditional browser extensions.
- Network-level blocking — Requests are blocked before any data is downloaded
- Cosmetic filtering — CSS-based element hiding removes visual remnants
- Scriptlet injection — Neutralizes anti-adblock scripts safely
- CNAME uncloaking — Resolves CNAME records to detect disguised trackers
Built-in filter lists
| List | Purpose | Default |
|---|---|---|
| EasyList | Ad blocking | Enabled |
| EasyPrivacy | Tracker blocking | Enabled |
| Quira Shield List | Cryptominers, malware domains, fingerprinting scripts | Enabled |
| Fanboy's Annoyances | Cookie banners, social widgets, notifications | Optional |
| Regional lists | Country-specific ad/tracker lists | Auto-detected |
Script sandboxing
Third-party scripts are evaluated in a restricted sandbox that limits their access to browser APIs. All script execution events are monitored by the Context Security Event Bus (CSEB), and anti-fingerprinting behavior is further strengthened by the Adaptive Graph Topology Randomization (AGTR) technique. Scripts from untrusted origins cannot:
- Access the clipboard or file system
- Open popups or navigate the main frame
- Access cross-origin storage
- Use fingerprinting APIs (Canvas, WebGL readback, AudioContext) without user consent
Cosmetic filtering
After network-level blocking removes the bulk of unwanted content, cosmetic rules hide any remaining visual artifacts. Quira applies CSS display: none rules and uses a MutationObserver to catch dynamically inserted elements. Cosmetic rules are page-specific and do not degrade rendering performance.
Per-site allowlist
If content filtering breaks a specific site, you can disable filtering for that origin at quira://settings/security/filters or via the shield icon in the address bar.