will load.
To remove the warning entirely in development, install
[`mkcert`](https://github.com/FiloSottile/mkcert) and issue a cert that
your OS / browsers actually trust. Place the dev cert in
`backend/ssl/dev/`, the server auto-detects it when `NODE_ENV` is not
`production` and falls back to `backend/ssl/` otherwise:
π macOS
```bash
brew install mkcert nss
mkcert -install
mkdir -p backend/ssl/dev
cd backend/ssl/dev
mkcert -key-file key.pem -cert-file cert.pem localhost 127.0.0.1 ::1
```
π§ Linux (Debian / Ubuntu)
```bash
sudo apt update
sudo apt install -y libnss3-tools
# install the mkcert binary (pick the latest release for your arch)
curl -fsSLo /tmp/mkcert "https://dl.filippo.io/mkcert/latest?for=linux/amd64"
sudo install -m 0755 /tmp/mkcert /usr/local/bin/mkcert
mkcert -install
mkdir -p backend/ssl/dev
cd backend/ssl/dev
mkcert -key-file key.pem -cert-file cert.pem localhost 127.0.0.1 ::1
```
> On Fedora/RHEL use `sudo dnf install nss-tools`; on Arch use
> `sudo pacman -S nss mkcert`. For Firefox to trust the cert, make sure
> `libnss3-tools` (or `nss-tools`) is installed **before** running
> `mkcert -install`.
πͺ Windows (PowerShell, run as Administrator)
```powershell
# Easiest path: Chocolatey
choco install mkcert
# β¦or Scoop:
# scoop bucket add extras; scoop install mkcert
mkcert -install
mkdir backend\ssl\dev
cd backend\ssl\dev
mkcert -key-file key.pem -cert-file cert.pem localhost 127.0.0.1 ::1
```
> Firefox on Windows uses its own trust store. After `mkcert -install`,
> restart Firefox so it picks up the new local CA. Chrome / Edge use the
> Windows trust store and work immediately.
`backend/ssl/dev/` is gitignored, so the locally-trusted cert never
ships with the repo. In production the server always uses
`backend/ssl/key.pem` + `backend/ssl/cert.pem`, which should hold a
CA-issued cert (or be replaced by a TLS-terminating reverse proxy as
described above).
Restart the server and the lock icon will be green. The dev workflow is
otherwise unchanged, the dashboard is HTTPS-only in every environment
so behavior in dev matches production (`Secure` cookies, HSTS, mixed
content, `wss://` upgrades, etc.).
---
π Explore the full MiroTalk suite (SFU, P2P, RND, BRO, C2C, WEB, CME, ADM) β MiroTalk Overview
---