Sign in
Operations view for the Diabetes Express backend. Sign in with an allowlisted GitHub account.
Hello.
Reading the latest checks.
Watcher checks
Every check ops-watch ran in the last 24 hours: runs that passed and runs that failed.
Every check as a table
Needs attention
Open alerts, pages first.
Functions
Each function's own voice, as the uptime worker last heard it (down = an open outage alert).
Heartbeats
When each worker last checked in.
Scheduled jobs
pg_cron, last run and result.
Crashes (24 h)
Counts only. Installs are summed over signatures.
Alerts
Every alert is a GitHub issue. Pages also go to the alert phones. Open, and resolved in the last 7 days; each links to its GitHub issue.
Resolved
In the last 7 days.
Send to customers
A push notification to customers' phones: a store closure or service notice, or a general update. Every step is checked again on the server: a test to your own phone first, then the audience counted and a typed confirmation. Each send is recorded with your GitHub account and opens a GitHub issue.
Only admins can send. You can see what was sent.
Sending from the dashboard is paused (the dashboardBroadcastEnabled switch is off). Developers can still send with npm run announce.
Sent to customers
Every test and every send, from this page and from npm run announce (ops alert pushes are not listed). Open Texts on a row to read all four.
Problem reports
Sent from the app's Report a problem screen. Read by the Diabetes Express and Bayshore teams. This is customer information: never copy it into GitHub, chat or email.
Newest first, 50 at a time. Signing in and the page's refresh only update the count. Pressing Show reports (or Load older) marks every report it shows as read, for everyone, which closes the count-only GitHub notice on the watcher's next run.
Who viewed them
Every press of Show reports or Load older is recorded on the server (GitHub account, when, how many reports it showed) and kept 10 years. If that record cannot be written, the reports are not shown. Read-only here.
Security findings
Every problem a security scanner reports, with its owner and a deadline by severity (critical 7 days, high 30, medium 90, low none). A finding closes only when its scanner stops reporting it, or when an admin accepts it with a written reason and a review-by date at most 180 days ahead. Every decision is permanent and opens a GitHub issue, which carries its reason unless the reason holds an @ or a run of five or more digits. Read by Bayshore InfoSec.
Findings
Open, accepted, and fixed in the last 90 days. Overdue first, then by severity and deadline.
Only admins can accept or re-open a finding. You can see every decision and its reason.
This reason will be kept on the dashboard but not be copied into the GitHub issue: it holds an @ or a run of five or more digits, which an alert may not carry. The issue will point to the dashboard instead.
This cannot be undone or edited: it is a permanent record naming your GitHub account, and it opens a GitHub issue, which carries the reason when it holds no @ and no run of five or more digits. InfoSec reads both.
Who answers for it
The owner's decisions of 2026-10-30. Responders triage and fix; only an admin records an acceptance.
Decisions
Every acceptance and re-opening of the findings listed under Findings, newest first. Append-only: a decision is never edited or deleted, and is kept 10 years.
Scans
Each source's last scan. A source silent for more than twice its schedule is stale, and opens a GitHub notice once it has reported at least once. GitHub code scanning and secret scanning report nothing until the paid plan.
Monthly report
Per severity: findings opened, fixed and accepted in the month, and overdue and open at its end (or now, for the month in progress). Months are UTC. The downloads are made in your browser from the figures shown.
System
Switches, the recall pipeline, retention, who gets paged, and the limits customer pushes are held to.
Switches
The published values. Read-only here: changed with npm run flags.
Recent changes
Recall pipeline
The Health Canada ingest, and the named recalls checked by notice number.
Retention
Row counts for each retention-governed table.
Alert recipients
Phones that receive ops pushes. Read-only here: changed with npm run ops -- recipients, which records who and when.
Send settings
The limits every customer push is held to, from this page and from npm run announce. The server reads them on every test, prepare and send, and keeps every value within the bounds shown.
Only admins can change these.
Change the customer push settings?
This applies to the next test, prepare and send, from this page and from npm run announce. It is recorded with your GitHub account and opens a GitHub issue.
An allowed address can appear in full on customers' lock screens, in a push's message (never its title), including one that contains the word "diabetes" (anything on diabetesexpress.ca, and diabetesexpress@bayshore.ca). Allowing it is the decision to show it there.
Changes
Access
Who can sign in to this dashboard. Viewers see everything but build details; developers see build details too; admins also manage this list. To add someone, look their GitHub username up and check the account shown is theirs before granting. Every change is recorded here and opens a GitHub issue; granting or removing admin also pushes to the alert phones. Removing someone ends their access on their next request and signs them out everywhere.
Members
Bootstrap entries come from the OPS_VIEWERS secret: they always have access and can be changed only in Supabase secrets.
Changes
Every grant, role change and removal.