== SLACK SIGNATURE VALIDATION LOG == Captured from backend kubectl logs: 2026-05-23 UTC Incident: b9abfcc7-1078-44f9-bffd-c2c54628d8a6 == REQUEST RECEIVED == 2026-05-23 13:31:06 [info] webhooks.slack.request_received client=10.42.0.29 client_ip=54.210.161.182 client_origin=forwarded_external forwarded_for=54.210.161.182 forwarded_for_present=True forwarded_host=app.oncallzero.com host=app.oncallzero.com path=/webhooks/slack/actions slack_signature_header_present=True slack_timestamp_header_present=True tunnel_provider= user_agent='Slackbot 1.0 (+https://api.slack.com/robots)' == SIGNATURE VALID == 2026-05-23 13:31:06 [info] webhooks.slack.signature_valid client_ip=54.210.161.182 clock_skew_seconds=0 forwarded_host=app.oncallzero.com host=app.oncallzero.com path=/webhooks/slack/actions signature_validation_reason=valid slack_signature_header_present=True slack_timestamp_header_present=True tunnel_provider= == CALLBACK RECEIVED == 2026-05-23 13:31:06 [info] webhooks.slack.callback_received action_id=approve_action client_ip=54.210.161.182 client_origin=forwarded_external decision_key=approve forwarded_host=app.oncallzero.com host=app.oncallzero.com incident_id=b9abfcc7-1078-44f9-bffd-c2c54628d8a6 path=/webhooks/slack/actions slack_signature_header_present=True slack_timestamp_header_present=True tunnel_provider= user_agent='Slackbot 1.0 (+https://api.slack.com/robots)' user_id=U0AKT8RE8N9 username=khmuraandriy == VERDICT == Slack signature: VALID (clock_skew_seconds=0, signature_validation_reason=valid) Tunnel provider: NONE (direct Slack delivery to app.oncallzero.com) Slack callback host: app.oncallzero.com Client IP: 54.210.161.182 (Slack IP range) Approver: khmuraandriy (U0AKT8RE8N9) Allowlisted user IDs: ["U0AKT8RE8N9"] (configured in SLACK_APPROVED_USER_IDS) NOTE: SLACK_SIGNING_SECRET and SLACK_APPROVED_USER_IDS values are redacted. Backend log confirms: slack_signing_secret_configured=True