{
  "slug": "diversion",
  "category": "ad-blockers",
  "name": "Diversion",
  "description": "Shell script ad blocker for routers running Asuswrt-Merlin firmware. Blocks ad and tracker domains through dnsmasq and can manage Entware and pixelserv-tls.",
  "website": "https://diversion.ch",
  "source": "https://diversion.ch/diversion_adblocking/diversion",
  "license": null,
  "platforms": [],
  "jurisdiction": null,
  "pick": false,
  "pick_reason": null,
  "disclosure": null,
  "grade": "B",
  "score": 79,
  "coverage": 100,
  "summary": "Diversion scores 79 out of 100 (grade B) on the ad and tracker blockers criteria. It meets 5 of 7 criteria: open source, no ads or data sales, effective by default, no browsing data collected and custom filters. It partly meets no trackers or telemetry. It does not meet independent audit.",
  "url": "https://privacyratings.com/ad-blockers/diversion/",
  "markdown": "https://privacyratings.com/ad-blockers/diversion/index.md",
  "answers": {
    "open_source": {
      "title": "Open source",
      "weight": 3,
      "answer": "yes",
      "evidence": "https://diversion.ch/diversion_adblocking/diversion",
      "note": "GPL-3.0."
    },
    "no_trackers": {
      "title": "No trackers or telemetry",
      "weight": 3,
      "answer": "partial",
      "evidence": "https://diversion.ch",
      "note": "The website uses self-hosted Matomo analytics. The script contains no telemetry."
    },
    "no_ads": {
      "title": "No ads or data sales",
      "weight": 2,
      "answer": "yes",
      "evidence": "https://diversion.ch",
      "note": "Free to use and supported by donations."
    },
    "independent_audit": {
      "title": "Independent audit",
      "weight": 2,
      "answer": "no",
      "evidence": null,
      "note": "No independent audit is published."
    },
    "transparency_report": {
      "title": "Transparency report",
      "weight": 2,
      "answer": "n/a",
      "evidence": null,
      "note": "Only applies to hosted services with a website to test."
    },
    "user_notice": {
      "title": "Tells users about requests",
      "weight": 1,
      "answer": "n/a",
      "evidence": null,
      "note": "Only applies to hosted services with a website to test."
    },
    "tls": {
      "title": "TLS configuration",
      "weight": 2,
      "answer": "n/a",
      "evidence": null,
      "note": "Only applies to hosted services with a website to test."
    },
    "security_headers": {
      "title": "Security headers",
      "weight": 1,
      "answer": "n/a",
      "evidence": null,
      "note": "Only applies to hosted services with a website to test."
    },
    "web_standards": {
      "title": "Modern web standards",
      "weight": 1,
      "answer": "n/a",
      "evidence": null,
      "note": "Only applies to hosted services with a website to test."
    },
    "blocks_by_default": {
      "title": "Effective by default",
      "weight": 3,
      "answer": "yes",
      "evidence": "https://diversion.ch/diversion_adblocking/diversion",
      "note": "Blocks domains from a selected blocking list once installed, with no paid tier."
    },
    "no_data_collection": {
      "title": "No browsing data collected",
      "weight": 3,
      "answer": "yes",
      "evidence": "https://diversion.ch/diversion_adblocking/diversion",
      "note": "Filtering runs on the router, and no browsing data is sent to the developer."
    },
    "custom_filters": {
      "title": "Custom filters",
      "weight": 1,
      "answer": "yes",
      "evidence": "https://diversion.ch/diversion_adblocking/diversion",
      "note": "Supports a user denylist and allowlist, and a custom secondary blocking list."
    }
  },
  "tests": {
    "ssllabs": null,
    "observatory": null,
    "internetnl_web": null,
    "internetnl_mail": null,
    "trackers": [],
    "tested_at": "2026-10-01T07:00:38.079Z"
  },
  "last_modified": "2026-10-01T07:44:20Z"
}