Security Policy

The Nojoin team and community take all security vulnerabilities seriously. Thank you for your efforts to improve the security of Nojoin. We appreciate your efforts and responsible disclosure and will make every effort to acknowledge your contributions.

Active Development

Nojoin is still in active development and all releases should be considered pre-release. There may be security vulnerabilities in the application. Nojoin’s maintainers are not responsible for any data loss or security breaches that may occur as a result of using the application. We also advise users to take additional security measures in general but especially when deploying Nojoin over a publically accessible URL. For example, we recommend using a VPN or a reverse proxy to secure your Nojoin instance.

First-Run Bootstrap Protection

Nojoin requires an operator-defined FIRST_RUN_PASSWORD before the first successful system initialisation can occur.

Operators should treat FIRST_RUN_PASSWORD as a secret and ensure reverse proxies, ingress layers, and HTTP logging do not record Authorization headers or setup request bodies. Nojoin also warns operators when FIRST_RUN_PASSWORD, DATA_ENCRYPTION_KEY, or the tracked Redis/PostgreSQL placeholder secrets still match the shipped deployment-template values. Those warnings appear in API or worker startup logs and in the authenticated frontend, but they are advisory only and do not block startup or first-run setup.

Browser Session Request Protection

Nojoin’s normal browser session uses a Secure HttpOnly cookie, but state-changing browser requests are not trusted solely because that cookie is present.

Standard JWT Containment

Standard browser session and explicit API JWTs (token types session and api) support active invalidation in addition to natural expiry.

JWT Signing Key Rotation

JWT signing material is stored as a small keyring rather than a single static value.

Browser Capture Security

Live recording is initiated and controlled by the authenticated web app.

For end-user capture setup and troubleshooting, see CAPTURE.md.

Supported Versions

As Nojoin is in active development, only the latest version is supported. We encourage all users to use the most up-to-date version of the application.

Version Supported
latest :white_check_mark:

Reporting a Vulnerability

Please report any security vulnerabilities privately. Do not open public GitHub issues or discuss vulnerabilities in public forums before they have been resolved.

Private Reporting Channel

We use GitHub’s Private Vulnerability Reporting feature to receive security disclosures securely and privately.

Expected Workflow

  1. Acknowledgment: You will receive an initial response confirming receipt of your report within 48 hours.
  2. Evaluation: The maintainers will investigate the report and determine the severity and scope of the vulnerability.
  3. Remediation: If the vulnerability is confirmed, we will work on a patch. A security advisory will be drafted, and a fix will be released.
  4. Disclosure: Once a patch is available and deployed, we will coordinate public disclosure through a GitHub Security Advisory.