{
  "slug": "innernet",
  "category": "mesh-vpns",
  "name": "innernet",
  "description": "Open-source private network system built on WireGuard, with a self-hosted server that manages peers, CIDR-based groups and access rules.",
  "website": "https://github.com/tonarino/innernet",
  "source": "https://github.com/tonarino/innernet",
  "license": "MIT",
  "platforms": [
    "macos",
    "linux"
  ],
  "jurisdiction": {
    "code": "JP",
    "name": "Japan",
    "eyes": null,
    "eu": false,
    "gdpr": false,
    "cloud_act": null
  },
  "pick": false,
  "pick_reason": null,
  "disclosure": null,
  "grade": "B",
  "score": 88,
  "coverage": 100,
  "summary": "innernet scores 88 out of 100 (grade B) on the mesh VPNs and private networks criteria. It meets 6 of 7 criteria: open source, no trackers or telemetry, no ads or data sales, keys stay on devices, self-hosted coordination server and no connection logs by default. It does not meet independent audit. It is based in Japan: Not in the Five, Nine or Fourteen Eyes.",
  "url": "https://privacyratings.com/mesh-vpns/innernet/",
  "markdown": "https://privacyratings.com/mesh-vpns/innernet/index.md",
  "answers": {
    "open_source": {
      "title": "Open source",
      "weight": 3,
      "answer": "yes",
      "evidence": "https://github.com/tonarino/innernet/blob/main/LICENSE",
      "note": "MIT."
    },
    "no_trackers": {
      "title": "No trackers or telemetry",
      "weight": 3,
      "answer": "yes",
      "evidence": "https://github.com/tonarino/innernet",
      "note": "The project has no website beyond its repository and no hosted service."
    },
    "no_ads": {
      "title": "No ads or data sales",
      "weight": 2,
      "answer": "yes",
      "evidence": "https://github.com/tonarino/innernet",
      "note": "Free open-source software from tonari, with no ads or data sales."
    },
    "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/tonarino/innernet#readme",
      "note": "When a peer redeems its invitation, it creates a new key pair and registers only the public key with the server. The key in the invitation file stops working."
    },
    "self_hosted_control": {
      "title": "Self-hosted coordination server",
      "weight": 2,
      "answer": "yes",
      "evidence": "https://github.com/tonarino/innernet#readme",
      "note": "The coordination server is open source and self-hosted. There is no hosted version."
    },
    "no_connection_logs": {
      "title": "No connection logs by default",
      "weight": 2,
      "answer": "yes",
      "evidence": "https://github.com/tonarino/innernet",
      "note": "There is no vendor service. Logs stay on your own devices and server."
    }
  },
  "tests": {
    "ssllabs": null,
    "observatory": null,
    "internetnl_web": null,
    "internetnl_mail": null,
    "trackers": null,
    "tested_at": "2026-10-01T07:02:25.075Z"
  },
  "last_modified": "2026-10-01T07:44:20Z"
}