{
  "slug": "husarnet",
  "category": "mesh-vpns",
  "name": "Husarnet",
  "description": "Peer-to-peer VPN from a company in Poland, built for robotics and IoT, that gives each device an IPv6 address derived from its public key, with a hosted dashboard and relay servers.",
  "website": "https://husarnet.com",
  "source": "https://github.com/husarnet/husarnet",
  "license": null,
  "platforms": [
    "windows",
    "macos",
    "linux"
  ],
  "jurisdiction": {
    "code": "PL",
    "name": "Poland",
    "eyes": null,
    "eu": true,
    "gdpr": true,
    "cloud_act": null
  },
  "pick": false,
  "pick_reason": null,
  "disclosure": null,
  "grade": "D",
  "score": 44,
  "coverage": 88,
  "summary": "Husarnet scores 44 out of 100 (grade D) on the mesh VPNs and private networks criteria. It meets 2 of 7 criteria: no ads or data sales and keys stay on devices. It partly meets open source and self-hosted coordination server. It does not meet no trackers or telemetry and independent audit. Still needing evidence: no connection logs by default. It is based in Poland: Not in the Five, Nine or Fourteen Eyes; EU member (GDPR).",
  "url": "https://privacyratings.com/mesh-vpns/husarnet/",
  "markdown": "https://privacyratings.com/mesh-vpns/husarnet/index.md",
  "answers": {
    "open_source": {
      "title": "Open source",
      "weight": 3,
      "answer": "partial",
      "evidence": "https://github.com/husarnet/husarnet/blob/master/LICENSE.txt",
      "note": "The client is GPL-3.0 or MPL-2.0, but the dashboard and base servers are closed source."
    },
    "no_trackers": {
      "title": "No trackers or telemetry",
      "weight": 3,
      "answer": "no",
      "evidence": "https://husarnet.com",
      "note": "The website loads Google Analytics, Google Tag Manager and Hotjar."
    },
    "no_ads": {
      "title": "No ads or data sales",
      "weight": 2,
      "answer": "yes",
      "evidence": "https://husarnet.com/pricing",
      "note": "Funded by paid plans, with a free plan and no ads."
    },
    "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."
    },
    "device_keys": {
      "title": "Keys stay on devices",
      "weight": 3,
      "answer": "yes",
      "evidence": "https://github.com/husarnet/husarnet#readme",
      "note": "Each device's address is derived from its own public key, and packets never leave devices unencrypted. Base servers only relay when a direct connection fails."
    },
    "self_hosted_control": {
      "title": "Self-hosted coordination server",
      "weight": 2,
      "answer": "partial",
      "evidence": "https://husarnet.com/docs/selfhosted-about/",
      "note": "The dashboard and base servers can be self-hosted, but only under a paid proprietary license."
    },
    "no_connection_logs": {
      "title": "No connection logs by default",
      "weight": 2,
      "answer": "unknown",
      "evidence": null,
      "note": null
    }
  },
  "tests": {
    "ssllabs": null,
    "observatory": null,
    "internetnl_web": null,
    "internetnl_mail": null,
    "trackers": [
      {
        "name": "Google Analytics",
        "host": "www.google-analytics.com",
        "effect": "no"
      },
      {
        "name": "Google Tag Manager",
        "host": "www.googletagmanager.com",
        "effect": "no"
      },
      {
        "name": "Hotjar",
        "host": "static.hotjar.com",
        "effect": "no"
      }
    ],
    "tested_at": "2026-10-01T07:02:25.788Z"
  },
  "last_modified": "2026-10-01T07:44:20Z"
}