{
  "slug": "upptime",
  "category": "status-pages",
  "name": "Upptime",
  "description": "Uptime monitor and status page that runs entirely in your own GitHub repository, using GitHub Actions, Issues and Pages.",
  "website": "https://github.com/upptime/upptime",
  "source": "https://github.com/upptime/upptime",
  "license": "MIT",
  "platforms": [
    "github"
  ],
  "jurisdiction": null,
  "pick": true,
  "pick_reason": "No server to run, no vendor account and no tracking scripts. Checks run in GitHub Actions, incidents are GitHub issues, and the status page and response-time history are published with GitHub Pages.",
  "disclosure": "The Forward Email team, which maintains this site, contributes code to Upptime. This entry is scored by the same criteria as every other status page tool.",
  "grade": "B",
  "score": 78,
  "coverage": 100,
  "summary": "Upptime scores 78 out of 100 (grade B) on the status pages and uptime monitoring criteria. It meets 5 of 7 criteria: open source, no ads or data sales, runs on your own infrastructure, no visitor tracking and public uptime history. It partly meets no trackers or telemetry. It does not meet independent audit.",
  "url": "https://privacyratings.com/status-pages/upptime/",
  "markdown": "https://privacyratings.com/status-pages/upptime/index.md",
  "answers": {
    "open_source": {
      "title": "Open source",
      "weight": 3,
      "answer": "yes",
      "evidence": "https://github.com/upptime/upptime/blob/master/LICENSE",
      "note": "MIT."
    },
    "no_trackers": {
      "title": "No trackers or telemetry",
      "weight": 3,
      "answer": "partial",
      "evidence": "https://status.forwardemail.net",
      "note": "Status pages generated by Upptime load no trackers, as on status.forwardemail.net. The separate documentation site upptime.js.org uses Google Analytics."
    },
    "no_ads": {
      "title": "No ads or data sales",
      "weight": 2,
      "answer": "yes",
      "evidence": "https://github.com/upptime/upptime",
      "note": "Free MIT-licensed software with no ads or paid tier."
    },
    "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."
    },
    "self_hosted": {
      "title": "Runs on your own infrastructure",
      "weight": 3,
      "answer": "yes",
      "evidence": "https://upptime.js.org/docs/get-started",
      "note": "Runs in your own repository."
    },
    "no_visitor_tracking": {
      "title": "No visitor tracking",
      "weight": 2,
      "answer": "yes",
      "evidence": "https://github.com/upptime/status-page/blob/master/src/template.html",
      "note": "The generated status page loads no third-party trackers; it reads data from the GitHub API."
    },
    "history": {
      "title": "Public uptime history",
      "weight": 1,
      "answer": "yes",
      "evidence": "https://demo.upptime.js.org",
      "note": "Response time graphs and incident history."
    }
  },
  "tests": {
    "ssllabs": null,
    "observatory": null,
    "internetnl_web": null,
    "internetnl_mail": null,
    "trackers": null,
    "tested_at": "2026-10-01T07:01:50.563Z"
  },
  "last_modified": "2026-10-01T07:44:20Z"
}