Skip to content

Security: decriptor/Roon.Extensions.DJ

Security

SECURITY.md

Security Policy

Trust model

RoonDJ runs a plain HTTP server on your local network so party guests can connect from their phones over Wi-Fi. It is designed for a trusted, same-LAN environment — your home or venue network among people you've invited — not for exposure to the public internet.

  • Do not port-forward RoonDJ or otherwise make it reachable from the internet.
  • Keep it on the same trusted LAN as your guests and your Roon Core.
  • The server holds Roon pairing secrets in config.json (gitignored). Treat that file as sensitive and never commit or share it.

Access modes

The host controls how guests get in (configured in Roon → Extensions → Roon DJ):

  • Open — anyone on the LAN who has the URL can add music.
  • Passcode — guests must enter a shared party passcode.
  • Name required — guests must provide a display name.

These gates manage casual access among trusted guests; they are not a hardened auth system. Session ids are client-chosen, "name required" admits any non-empty name, and the passcode is a soft gate held in process memory — anyone who knows it can join freely. That is appropriate for a trusted LAN party; don't rely on it as internet-facing security.

If you run it behind a reverse proxy

By default RoonDJ rate-limits per client IP using the direct TCP peer address (Fastify is configured without trustProxy). If you put it behind a reverse proxy, every guest will appear as the proxy's single IP, so the per-guest rate limit collapses to one shared bucket. Prefer running RoonDJ directly on the LAN; if you must proxy it, enable Fastify trustProxy and a forwarded-for rate-limit key generator.

Reporting a vulnerability

Please report security issues privately — do not open a public issue.

  • Preferred: open a private GitHub Security Advisory for this repository (the repo's Security → Advisories → Report a vulnerability flow).
  • This routes the report directly and confidentially to the maintainer.

Please include steps to reproduce and the potential impact. We'll acknowledge your report and work with you on a fix and coordinated disclosure.

There aren't any published security advisories