Incident Response

Clear updates when Vorliq needs attention

Vorliq uses public incident records, app-wide maintenance banners, and operator alerts so users can see what is happening while the operator works on the underlying system.

How Incidents Work

Public incident records are stored by the backend and shown on the status page and inside the Vorliq web app. Users can read incidents without signing in, while incident creation and updates are protected by an operator-only admin token.

Active incidents are any incidents whose status is not resolved. The public status page shows active incidents and marks the network as a service disruption when any active major or critical incident exists.

The node monitor can create or update incidents only for critical network-integrity issues: active fork, trusted public node unreachable, trusted public node forked, trusted snapshot signature verification failure, or trusted state unavailable. A single stale old community node is warning-only by default and should not create a public incident.

Severity Levels

Minor

A minor incident means a feature is degraded, delayed, or under maintenance, but the main wallet and chain experience should still be usable.

Major

A major incident means important parts of the service are unavailable or unreliable, such as the backend API, chat, forum, or public node operations.

Critical

A critical incident means the production node, blockchain API, deployment, or data recovery path needs immediate operator attention.

Where Users Check Status

Users should check status.vorliq.org for public updates. The Vorliq web app also shows a maintenance banner at the top of every page while an active incident exists.

Operator Token

Incident write routes require ADMIN_TOKEN on the production backend. The token must be generated on the server, stored outside the repository, and never committed, printed in logs, or shared publicly.

Automated node monitor incidents

The scheduled maintenance runner calls /api/nodes/monitor, logs sanitized warnings, suppresses duplicate operator alerts by alert code and node URL, and resolves matching network-integrity incidents after the critical condition clears. The suppression state stores only safe alert code, node URL, first seen, last seen, count, last alerted time, and status.

Create an Incident

Use the protected API to create an incident from a private operator shell. The authorization value is redacted in public examples.

curl -X POST https://vorliq.org/api/incidents \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer redacted" \
  -d '{
    "title": "Public node is degraded",
    "description": "The public API is responding slowly while the operator investigates.",
    "severity": "major"
  }'

Update an Incident

Move an incident through investigating, identified, monitoring, and resolved as the work progresses.

curl -X PATCH https://vorliq.org/api/incidents/INCIDENT_ID_HERE \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer redacted" \
  -d '{
    "status": "monitoring",
    "description": "A fix has been deployed and the operator is watching recovery."
  }'

Resolve an Incident

Resolve the incident when the service has recovered and no user-facing maintenance banner is needed.

curl -X POST https://vorliq.org/api/incidents/INCIDENT_ID_HERE/resolve \
  -H "Authorization: Bearer redacted"