Checks which Swiss Subnet Node Providers have joined the required Matrix rooms.
The primary way to run the audit. No installation required — runs directly in the browser.
Live: swiss-subnet.github.io/matrix-memberships
Enter your Matrix homeserver URL and access token, click Run Audit. Results appear as a color-coded table — red cells mark missing memberships at a glance. Credentials are saved in your browser's local storage so you don't have to re-enter them on every visit.
To get your Matrix access token from Element:
- Go to Settings → Help & About → Advanced
- Click to reveal your Access Token
Run locally:
python -m http.server 8000
# open http://localhost:8000The Matrix client-server API supports CORS, so the browser calls it directly — no proxy or server needed.
config.json is the single source of truth for room aliases and Node Provider handles. Edit this file to add, remove, or update NPs and rooms. Both the web app and the Python script read from it.
- General Discussion:
#ic-node-providers:matrix.org - Announcements:
#ic-node-providers-announcements:matrix.org - Incident Response:
#ic-node-providers-incident-response:matrix.org - Swiss Subnet:
#ic-rented-subnet-swiss:matrix.org - Their own NP room (e.g.,
#ic-node-provider-znw2p:matrix.org)
The Python script is being decommissioned. Use the web app above.
Python script usage
Install dependencies:
pip install -r requirements.txtCopy the example env file and add your Matrix access token:
cp .env.example .envRun the audit:
python np_matrix_audit.pyThis fetches membership data from the Matrix API and generates np_audit_report.json and np_audit_report.html.
To regenerate the HTML from existing JSON:
python generate_html_report.py