diff --git a/docs/operations/observability.md b/docs/operations/observability.md index fbfb44c91..8d87b4746 100644 --- a/docs/operations/observability.md +++ b/docs/operations/observability.md @@ -176,6 +176,10 @@ Use the *raw* request body, not a re-serialized JSON object, since re-serializin The webhook URL is validated with the same guard (`SSRF_GUARD`, private/loopback/metadata-address blocking) used for every other outbound call this app makes on a user's behalf, both when it's saved and again on every dispatch, and redirects are not followed. On AnythingMCP Cloud the URL must use `https`, and it ignores both the env (`SSRF_ALLOWED_HOSTS`) and the admin-editable SSRF allowlist, which name hosts only the platform may reach. On a self-hosted instance the operator's allowlist applies, so an internal Mattermost or Slack proxy can receive alerts. +## Fatal crash reports (always on in the Docker image) + +A fatal V8 error, such as an out-of-memory abort, ends the backend before any JavaScript handler runs, so the log has no stack. `start.sh` therefore starts the backend with `--report-on-fatalerror`: on such a crash Node writes a diagnostic report (`report..