{
  "port": 5000,
  "protocol": "tcp",
  "service": "Flask dev server, Docker registry, macOS AirPlay Receiver",
  "oneLiner": "Flask's development server port, the Docker registry's container port, and the port macOS quietly took over.",
  "whatItIs": "`flask run` serves on 127.0.0.1:5000, and the Docker distribution registry listens on 5000 inside its container. On macOS Monterey and later the AirPlay Receiver service binds 5000 by default, which is why Flask developers on Macs see \"Address already in use\" out of nowhere; the fix is to turn AirPlay Receiver off in System Settings or pick another port. IANA has it registered as commplex-main.",
  "exposure": {
    "verdict": "never",
    "note": "Flask's docs say the dev server is not designed to be secure, and an unauthenticated registry on 5000 lets anyone push and pull images."
  },
  "checkCommand": "sudo lsof -nP -iTCP:5000 -sTCP:LISTEN",
  "links": [
    {
      "title": "Flask — Development Server (port 5000, macOS AirPlay conflict)",
      "url": "https://flask.palletsprojects.com/en/stable/server/",
      "kind": "official-docs"
    },
    {
      "title": "Docker Distribution — Deploying a registry server (listens on 5000)",
      "url": "https://distribution.github.io/distribution/about/deploying/",
      "kind": "official-docs"
    },
    {
      "title": "IANA Service Name and Transport Protocol Port Number Registry — 5000",
      "url": "https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?search=5000",
      "kind": "iana"
    }
  ],
  "ianaName": "commplex-main"
}
