{
  "schema_version": 1,
  "notice": "All secrets are deterministic test-only values. Captured entries come from BuildEventPayload, HandleDelivery, Sign, BuildSignatureHeader, and HTTPDeliverer.",
  "entries": [
    {
      "name": "run_completed",
      "scenario": "run.completed payload",
      "source": "captured-production-delivery",
      "raw_body_base64": "eyJpZCI6IjEwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwMSIsInR5cGUiOiJydW4uY29tcGxldGVkIiwid2ViaG9va192ZXJzaW9uIjoiMjAyNi0wMy0yMiIsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE2OjAwOjAwWiIsImRhdGEiOnsicnVuIjp7InJ1bl9pZCI6IjIwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwMSIsImVuZ2luZV90eXBlIjoiZW50aXR5X2FuYWx5c2lzIiwic3RhdHVzIjoiY29tcGxldGVkIiwiZW52aXJvbm1lbnQiOiJ0ZXN0Iiwib3V0cHV0Ijp7InJlc3VsdCI6ImFwcHJvdmVkIiwic2NvcmUiOjAuOTh9LCJ0b3RhbF9kdXJhdGlvbl9tcyI6NTkwMDAsImF0dGVtcHQiOjEsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE1OjU5OjAwWiIsImNvbXBsZXRlZF9hdCI6IjIwMjYtMDctMTBUMTU6NTk6NTlaIn19fQ==",
      "headers": {
        "Accept-Encoding": "gzip",
        "Content-Length": "430",
        "Content-Type": "application/json",
        "User-Agent": "Nexio-Webhooks/1.0",
        "X-Nexio-Delivery": "30000000-0000-4000-8000-000000000001",
        "X-Nexio-Event": "run.completed",
        "X-Nexio-Signature": "t=1783699200,v1=249583fe37a274a6527520c0fe1b6ee9cfa5e625a05d0f21fa41f575535a3f35",
        "X-Nexio-Timestamp": "1783699200",
        "X-Nexio-Webhook-Version": "2026-03-22"
      },
      "signing_secrets": [
        "whsec_s72_current_test_only"
      ],
      "verification_secrets": [
        "whsec_s72_current_test_only"
      ],
      "expected_valid_signatures": [
        "249583fe37a274a6527520c0fe1b6ee9cfa5e625a05d0f21fa41f575535a3f35"
      ],
      "now_unix": 1783699200,
      "expected_accept": true
    },
    {
      "name": "run_failed",
      "scenario": "run.failed payload",
      "source": "captured-production-delivery",
      "raw_body_base64": "eyJpZCI6IjEwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwMiIsInR5cGUiOiJydW4uZmFpbGVkIiwid2ViaG9va192ZXJzaW9uIjoiMjAyNi0wMy0yMiIsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE2OjAwOjAwWiIsImRhdGEiOnsicnVuIjp7InJ1bl9pZCI6IjIwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwMiIsImVuZ2luZV90eXBlIjoiZW50aXR5X2FuYWx5c2lzIiwic3RhdHVzIjoiZmFpbGVkIiwiZW52aXJvbm1lbnQiOiJ0ZXN0IiwidG90YWxfZHVyYXRpb25fbXMiOjU5MDAwLCJhdHRlbXB0IjoxLCJlcnJvciI6InVwc3RyZWFtIGNhcnJpZXIgbG9va3VwIGZhaWxlZCIsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE1OjU5OjAwWiIsImNvbXBsZXRlZF9hdCI6IjIwMjYtMDctMTBUMTU6NTk6NTlaIn19fQ==",
      "headers": {
        "Accept-Encoding": "gzip",
        "Content-Length": "421",
        "Content-Type": "application/json",
        "User-Agent": "Nexio-Webhooks/1.0",
        "X-Nexio-Delivery": "30000000-0000-4000-8000-000000000002",
        "X-Nexio-Event": "run.failed",
        "X-Nexio-Signature": "t=1783699200,v1=21a5c921bd96fed18b39273a32133373580c042afb036842dcbc159df406c21f",
        "X-Nexio-Timestamp": "1783699200",
        "X-Nexio-Webhook-Version": "2026-03-22"
      },
      "signing_secrets": [
        "whsec_s72_current_test_only"
      ],
      "verification_secrets": [
        "whsec_s72_current_test_only"
      ],
      "expected_valid_signatures": [
        "21a5c921bd96fed18b39273a32133373580c042afb036842dcbc159df406c21f"
      ],
      "now_unix": 1783699200,
      "expected_accept": true
    },
    {
      "name": "run_degraded_as_completed",
      "scenario": "degraded run delivered as run.completed",
      "source": "captured-production-delivery",
      "raw_body_base64": "eyJpZCI6IjEwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwMyIsInR5cGUiOiJydW4uY29tcGxldGVkIiwid2ViaG9va192ZXJzaW9uIjoiMjAyNi0wMy0yMiIsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE2OjAwOjAwWiIsImRhdGEiOnsicnVuIjp7InJ1bl9pZCI6IjIwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwMyIsImVuZ2luZV90eXBlIjoiZW50aXR5X2FuYWx5c2lzIiwic3RhdHVzIjoiZGVncmFkZWQiLCJlbnZpcm9ubWVudCI6InRlc3QiLCJvdXRwdXQiOnsicmVzdWx0IjoicGFydGlhbCIsImRlZ3JhZGVkIjp0cnVlfSwidG90YWxfZHVyYXRpb25fbXMiOjU5MDAwLCJhdHRlbXB0IjoxLCJjcmVhdGVkX2F0IjoiMjAyNi0wNy0xMFQxNTo1OTowMFoiLCJjb21wbGV0ZWRfYXQiOiIyMDI2LTA3LTEwVDE1OjU5OjU5WiJ9fX0=",
      "headers": {
        "Accept-Encoding": "gzip",
        "Content-Length": "431",
        "Content-Type": "application/json",
        "User-Agent": "Nexio-Webhooks/1.0",
        "X-Nexio-Delivery": "30000000-0000-4000-8000-000000000003",
        "X-Nexio-Event": "run.completed",
        "X-Nexio-Signature": "t=1783699200,v1=95cfde645e6b0d6430ed56fdcd30130566d44a6193bad80432f7cceb1e334aec",
        "X-Nexio-Timestamp": "1783699200",
        "X-Nexio-Webhook-Version": "2026-03-22"
      },
      "signing_secrets": [
        "whsec_s72_current_test_only"
      ],
      "verification_secrets": [
        "whsec_s72_current_test_only"
      ],
      "expected_valid_signatures": [
        "95cfde645e6b0d6430ed56fdcd30130566d44a6193bad80432f7cceb1e334aec"
      ],
      "now_unix": 1783699200,
      "expected_accept": true
    },
    {
      "name": "run_superseded",
      "scenario": "run.superseded payload",
      "source": "captured-production-delivery",
      "raw_body_base64": "eyJpZCI6IjEwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwNCIsInR5cGUiOiJydW4uc3VwZXJzZWRlZCIsIndlYmhvb2tfdmVyc2lvbiI6IjIwMjYtMDMtMjIiLCJjcmVhdGVkX2F0IjoiMjAyNi0wNy0xMFQxNjowMDowMFoiLCJkYXRhIjp7InJ1biI6eyJydW5faWQiOiIyMDAwMDAwMC0wMDAwLTQwMDAtODAwMC0wMDAwMDAwMDAwMDQiLCJlbmdpbmVfdHlwZSI6ImVudGl0eV9hbmFseXNpcyIsInN0YXR1cyI6ImNvbXBsZXRlZCIsImVudmlyb25tZW50IjoidGVzdCIsIm91dHB1dCI6eyJyZXN1bHQiOiJjb3JyZWN0ZWQifSwidG90YWxfZHVyYXRpb25fbXMiOjU5MDAwLCJhdHRlbXB0IjoxLCJjcmVhdGVkX2F0IjoiMjAyNi0wNy0xMFQxNTo1OTowMFoiLCJjb21wbGV0ZWRfYXQiOiIyMDI2LTA3LTEwVDE1OjU5OjU5WiJ9fX0=",
      "headers": {
        "Accept-Encoding": "gzip",
        "Content-Length": "419",
        "Content-Type": "application/json",
        "User-Agent": "Nexio-Webhooks/1.0",
        "X-Nexio-Delivery": "30000000-0000-4000-8000-000000000004",
        "X-Nexio-Event": "run.superseded",
        "X-Nexio-Signature": "t=1783699200,v1=3c6a518f5c03e1326855e29d8e2971c4109a09e90777cc820cc29a5f2851f331",
        "X-Nexio-Timestamp": "1783699200",
        "X-Nexio-Webhook-Version": "2026-03-22"
      },
      "signing_secrets": [
        "whsec_s72_current_test_only"
      ],
      "verification_secrets": [
        "whsec_s72_current_test_only"
      ],
      "expected_valid_signatures": [
        "3c6a518f5c03e1326855e29d8e2971c4109a09e90777cc820cc29a5f2851f331"
      ],
      "now_unix": 1783699200,
      "expected_accept": true
    },
    {
      "name": "utf8_payload",
      "scenario": "non-ASCII UTF-8 payload",
      "source": "captured-production-delivery",
      "raw_body_base64": "eyJpZCI6IjEwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwNSIsInR5cGUiOiJydW4uY29tcGxldGVkIiwid2ViaG9va192ZXJzaW9uIjoiMjAyNi0wMy0yMiIsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE2OjAwOjAwWiIsImRhdGEiOnsicnVuIjp7InJ1bl9pZCI6IjIwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwNSIsImVuZ2luZV90eXBlIjoiZW50aXR5X2FuYWx5c2lzIiwic3RhdHVzIjoiY29tcGxldGVkIiwiZW52aXJvbm1lbnQiOiJ0ZXN0Iiwib3V0cHV0Ijp7Imluc3VyZWQiOiJKb3PDqSDwn4+gIiwiY2l0eSI6Ik1vbnRyw6lhbCIsIm5vdGUiOiLmnbHkuqwifSwidG90YWxfZHVyYXRpb25fbXMiOjU5MDAwLCJhdHRlbXB0IjoxLCJjcmVhdGVkX2F0IjoiMjAyNi0wNy0xMFQxNTo1OTowMFoiLCJjb21wbGV0ZWRfYXQiOiIyMDI2LTA3LTEwVDE1OjU5OjU5WiJ9fX0=",
      "headers": {
        "Accept-Encoding": "gzip",
        "Content-Length": "455",
        "Content-Type": "application/json",
        "User-Agent": "Nexio-Webhooks/1.0",
        "X-Nexio-Delivery": "30000000-0000-4000-8000-000000000005",
        "X-Nexio-Event": "run.completed",
        "X-Nexio-Signature": "t=1783699200,v1=585cffcb50d4b0546cf697a3d94f92f943474e5ec37254f33dc28020718acc9b",
        "X-Nexio-Timestamp": "1783699200",
        "X-Nexio-Webhook-Version": "2026-03-22"
      },
      "signing_secrets": [
        "whsec_s72_current_test_only"
      ],
      "verification_secrets": [
        "whsec_s72_current_test_only"
      ],
      "expected_valid_signatures": [
        "585cffcb50d4b0546cf697a3d94f92f943474e5ec37254f33dc28020718acc9b"
      ],
      "now_unix": 1783699200,
      "expected_accept": true
    },
    {
      "name": "json_reserialization_sensitive",
      "scenario": "payload whose key order and numeric spelling change on re-serialization",
      "source": "captured-production-delivery",
      "raw_body_base64": "eyJpZCI6IjEwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwNiIsInR5cGUiOiJydW4uY29tcGxldGVkIiwid2ViaG9va192ZXJzaW9uIjoiMjAyNi0wMy0yMiIsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE2OjAwOjAwWiIsImRhdGEiOnsicnVuIjp7InJ1bl9pZCI6IjIwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwNiIsImVuZ2luZV90eXBlIjoiZW50aXR5X2FuYWx5c2lzIiwic3RhdHVzIjoiY29tcGxldGVkIiwiZW52aXJvbm1lbnQiOiJ0ZXN0Iiwib3V0cHV0Ijp7InoiOjEuMCwiYSI6InR3byJ9LCJ0b3RhbF9kdXJhdGlvbl9tcyI6NTkwMDAsImF0dGVtcHQiOjEsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE1OjU5OjAwWiIsImNvbXBsZXRlZF9hdCI6IjIwMjYtMDctMTBUMTU6NTk6NTlaIn19fQ==",
      "headers": {
        "Accept-Encoding": "gzip",
        "Content-Length": "415",
        "Content-Type": "application/json",
        "User-Agent": "Nexio-Webhooks/1.0",
        "X-Nexio-Delivery": "30000000-0000-4000-8000-000000000006",
        "X-Nexio-Event": "run.completed",
        "X-Nexio-Signature": "t=1783699200,v1=4b3f76161d7e849a75813524468bab76843a5339b0f19ab7f431f8ef5f6a00ff",
        "X-Nexio-Timestamp": "1783699200",
        "X-Nexio-Webhook-Version": "2026-03-22"
      },
      "signing_secrets": [
        "whsec_s72_current_test_only"
      ],
      "verification_secrets": [
        "whsec_s72_current_test_only"
      ],
      "expected_valid_signatures": [
        "4b3f76161d7e849a75813524468bab76843a5339b0f19ab7f431f8ef5f6a00ff"
      ],
      "now_unix": 1783699200,
      "expected_accept": true
    },
    {
      "name": "rotation_current_secret",
      "scenario": "current and previous signatures during rotation overlap, verified with current secret",
      "source": "captured-production-delivery",
      "raw_body_base64": "eyJpZCI6IjEwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwNyIsInR5cGUiOiJydW4uY29tcGxldGVkIiwid2ViaG9va192ZXJzaW9uIjoiMjAyNi0wMy0yMiIsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE2OjAwOjAwWiIsImRhdGEiOnsicnVuIjp7InJ1bl9pZCI6IjIwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwNyIsImVuZ2luZV90eXBlIjoiZW50aXR5X2FuYWx5c2lzIiwic3RhdHVzIjoiY29tcGxldGVkIiwiZW52aXJvbm1lbnQiOiJ0ZXN0Iiwib3V0cHV0Ijp7InJvdGF0aW9uIjoib3ZlcmxhcCJ9LCJ0b3RhbF9kdXJhdGlvbl9tcyI6NTkwMDAsImF0dGVtcHQiOjEsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE1OjU5OjAwWiIsImNvbXBsZXRlZF9hdCI6IjIwMjYtMDctMTBUMTU6NTk6NTlaIn19fQ==",
      "headers": {
        "Accept-Encoding": "gzip",
        "Content-Length": "418",
        "Content-Type": "application/json",
        "User-Agent": "Nexio-Webhooks/1.0",
        "X-Nexio-Delivery": "30000000-0000-4000-8000-000000000007",
        "X-Nexio-Event": "run.completed",
        "X-Nexio-Signature": "t=1783699200,v1=b685cec61cb1f2241182acb8b910ee8c328e7f89f3a5de7d92623cc5f85e13fc,v1=21df4f73b5cc40a55ac4726e1ae72f4bcd7d664366da3113772980bec0c822ea",
        "X-Nexio-Timestamp": "1783699200",
        "X-Nexio-Webhook-Version": "2026-03-22"
      },
      "signing_secrets": [
        "whsec_s72_current_test_only",
        "whsec_s72_previous_test_only"
      ],
      "verification_secrets": [
        "whsec_s72_current_test_only"
      ],
      "expected_valid_signatures": [
        "b685cec61cb1f2241182acb8b910ee8c328e7f89f3a5de7d92623cc5f85e13fc",
        "21df4f73b5cc40a55ac4726e1ae72f4bcd7d664366da3113772980bec0c822ea"
      ],
      "now_unix": 1783699200,
      "expected_accept": true
    },
    {
      "name": "rotation_previous_secret",
      "scenario": "current and previous signatures during rotation overlap, verified with previous secret",
      "source": "captured-production-delivery",
      "raw_body_base64": "eyJpZCI6IjEwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwNyIsInR5cGUiOiJydW4uY29tcGxldGVkIiwid2ViaG9va192ZXJzaW9uIjoiMjAyNi0wMy0yMiIsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE2OjAwOjAwWiIsImRhdGEiOnsicnVuIjp7InJ1bl9pZCI6IjIwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwNyIsImVuZ2luZV90eXBlIjoiZW50aXR5X2FuYWx5c2lzIiwic3RhdHVzIjoiY29tcGxldGVkIiwiZW52aXJvbm1lbnQiOiJ0ZXN0Iiwib3V0cHV0Ijp7InJvdGF0aW9uIjoib3ZlcmxhcCJ9LCJ0b3RhbF9kdXJhdGlvbl9tcyI6NTkwMDAsImF0dGVtcHQiOjEsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE1OjU5OjAwWiIsImNvbXBsZXRlZF9hdCI6IjIwMjYtMDctMTBUMTU6NTk6NTlaIn19fQ==",
      "headers": {
        "Accept-Encoding": "gzip",
        "Content-Length": "418",
        "Content-Type": "application/json",
        "User-Agent": "Nexio-Webhooks/1.0",
        "X-Nexio-Delivery": "30000000-0000-4000-8000-000000000007",
        "X-Nexio-Event": "run.completed",
        "X-Nexio-Signature": "t=1783699200,v1=b685cec61cb1f2241182acb8b910ee8c328e7f89f3a5de7d92623cc5f85e13fc,v1=21df4f73b5cc40a55ac4726e1ae72f4bcd7d664366da3113772980bec0c822ea",
        "X-Nexio-Timestamp": "1783699200",
        "X-Nexio-Webhook-Version": "2026-03-22"
      },
      "signing_secrets": [
        "whsec_s72_current_test_only",
        "whsec_s72_previous_test_only"
      ],
      "verification_secrets": [
        "whsec_s72_previous_test_only"
      ],
      "expected_valid_signatures": [
        "b685cec61cb1f2241182acb8b910ee8c328e7f89f3a5de7d92623cc5f85e13fc",
        "21df4f73b5cc40a55ac4726e1ae72f4bcd7d664366da3113772980bec0c822ea"
      ],
      "now_unix": 1783699200,
      "expected_accept": true
    },
    {
      "name": "timestamp_past_boundary",
      "scenario": "timestamp exactly five minutes old",
      "source": "captured-production-delivery",
      "raw_body_base64": "eyJpZCI6IjEwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwOCIsInR5cGUiOiJydW4uY29tcGxldGVkIiwid2ViaG9va192ZXJzaW9uIjoiMjAyNi0wMy0yMiIsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE1OjU1OjAwWiIsImRhdGEiOnsicnVuIjp7InJ1bl9pZCI6IjIwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwOCIsImVuZ2luZV90eXBlIjoiZW50aXR5X2FuYWx5c2lzIiwic3RhdHVzIjoiY29tcGxldGVkIiwiZW52aXJvbm1lbnQiOiJ0ZXN0Iiwib3V0cHV0Ijp7ImJvdW5kYXJ5IjoicGFzdCJ9LCJ0b3RhbF9kdXJhdGlvbl9tcyI6NTkwMDAsImF0dGVtcHQiOjEsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE1OjU0OjAwWiIsImNvbXBsZXRlZF9hdCI6IjIwMjYtMDctMTBUMTU6NTQ6NTlaIn19fQ==",
      "headers": {
        "Accept-Encoding": "gzip",
        "Content-Length": "415",
        "Content-Type": "application/json",
        "User-Agent": "Nexio-Webhooks/1.0",
        "X-Nexio-Delivery": "30000000-0000-4000-8000-000000000008",
        "X-Nexio-Event": "run.completed",
        "X-Nexio-Signature": "t=1783698900,v1=048f7c96345c0cb2a794261c9a950012b2f7befbe6e02f2d198c881521beb687",
        "X-Nexio-Timestamp": "1783698900",
        "X-Nexio-Webhook-Version": "2026-03-22"
      },
      "signing_secrets": [
        "whsec_s72_current_test_only"
      ],
      "verification_secrets": [
        "whsec_s72_current_test_only"
      ],
      "expected_valid_signatures": [
        "048f7c96345c0cb2a794261c9a950012b2f7befbe6e02f2d198c881521beb687"
      ],
      "now_unix": 1783699200,
      "expected_accept": true
    },
    {
      "name": "timestamp_future_boundary",
      "scenario": "timestamp exactly five minutes in the future",
      "source": "captured-production-delivery",
      "raw_body_base64": "eyJpZCI6IjEwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwOSIsInR5cGUiOiJydW4uY29tcGxldGVkIiwid2ViaG9va192ZXJzaW9uIjoiMjAyNi0wMy0yMiIsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE2OjA1OjAwWiIsImRhdGEiOnsicnVuIjp7InJ1bl9pZCI6IjIwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwOSIsImVuZ2luZV90eXBlIjoiZW50aXR5X2FuYWx5c2lzIiwic3RhdHVzIjoiY29tcGxldGVkIiwiZW52aXJvbm1lbnQiOiJ0ZXN0Iiwib3V0cHV0Ijp7ImJvdW5kYXJ5IjoiZnV0dXJlIn0sInRvdGFsX2R1cmF0aW9uX21zIjo1OTAwMCwiYXR0ZW1wdCI6MSwiY3JlYXRlZF9hdCI6IjIwMjYtMDctMTBUMTY6MDQ6MDBaIiwiY29tcGxldGVkX2F0IjoiMjAyNi0wNy0xMFQxNjowNDo1OVoifX19",
      "headers": {
        "Accept-Encoding": "gzip",
        "Content-Length": "417",
        "Content-Type": "application/json",
        "User-Agent": "Nexio-Webhooks/1.0",
        "X-Nexio-Delivery": "30000000-0000-4000-8000-000000000009",
        "X-Nexio-Event": "run.completed",
        "X-Nexio-Signature": "t=1783699500,v1=e5e1ed1fb5cb93c963ea8b5276f9a53e87158163576242c556f612c870936e00",
        "X-Nexio-Timestamp": "1783699500",
        "X-Nexio-Webhook-Version": "2026-03-22"
      },
      "signing_secrets": [
        "whsec_s72_current_test_only"
      ],
      "verification_secrets": [
        "whsec_s72_current_test_only"
      ],
      "expected_valid_signatures": [
        "e5e1ed1fb5cb93c963ea8b5276f9a53e87158163576242c556f612c870936e00"
      ],
      "now_unix": 1783699200,
      "expected_accept": true
    },
    {
      "name": "expired_timestamp",
      "scenario": "timestamp older than five minutes",
      "source": "captured-production-delivery",
      "raw_body_base64": "eyJpZCI6IjEwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAxMCIsInR5cGUiOiJydW4uY29tcGxldGVkIiwid2ViaG9va192ZXJzaW9uIjoiMjAyNi0wMy0yMiIsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE1OjU0OjU5WiIsImRhdGEiOnsicnVuIjp7InJ1bl9pZCI6IjIwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAxMCIsImVuZ2luZV90eXBlIjoiZW50aXR5X2FuYWx5c2lzIiwic3RhdHVzIjoiY29tcGxldGVkIiwiZW52aXJvbm1lbnQiOiJ0ZXN0Iiwib3V0cHV0Ijp7ImV4cGlyZWQiOnRydWV9LCJ0b3RhbF9kdXJhdGlvbl9tcyI6NTkwMDAsImF0dGVtcHQiOjEsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE1OjUzOjU5WiIsImNvbXBsZXRlZF9hdCI6IjIwMjYtMDctMTBUMTU6NTQ6NThaIn19fQ==",
      "headers": {
        "Accept-Encoding": "gzip",
        "Content-Length": "412",
        "Content-Type": "application/json",
        "User-Agent": "Nexio-Webhooks/1.0",
        "X-Nexio-Delivery": "30000000-0000-4000-8000-000000000010",
        "X-Nexio-Event": "run.completed",
        "X-Nexio-Signature": "t=1783698899,v1=2616678215e892c2014fc4d7b1d9b91153e58e427664a06510a70408944873d7",
        "X-Nexio-Timestamp": "1783698899",
        "X-Nexio-Webhook-Version": "2026-03-22"
      },
      "signing_secrets": [
        "whsec_s72_current_test_only"
      ],
      "verification_secrets": [
        "whsec_s72_current_test_only"
      ],
      "expected_valid_signatures": [
        "2616678215e892c2014fc4d7b1d9b91153e58e427664a06510a70408944873d7"
      ],
      "now_unix": 1783699200,
      "expected_accept": false
    },
    {
      "name": "future_timestamp",
      "scenario": "timestamp more than five minutes in the future",
      "source": "captured-production-delivery",
      "raw_body_base64": "eyJpZCI6IjEwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAxMSIsInR5cGUiOiJydW4uY29tcGxldGVkIiwid2ViaG9va192ZXJzaW9uIjoiMjAyNi0wMy0yMiIsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE2OjA1OjAxWiIsImRhdGEiOnsicnVuIjp7InJ1bl9pZCI6IjIwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAxMSIsImVuZ2luZV90eXBlIjoiZW50aXR5X2FuYWx5c2lzIiwic3RhdHVzIjoiY29tcGxldGVkIiwiZW52aXJvbm1lbnQiOiJ0ZXN0Iiwib3V0cHV0Ijp7ImZ1dHVyZSI6dHJ1ZX0sInRvdGFsX2R1cmF0aW9uX21zIjo1OTAwMCwiYXR0ZW1wdCI6MSwiY3JlYXRlZF9hdCI6IjIwMjYtMDctMTBUMTY6MDQ6MDFaIiwiY29tcGxldGVkX2F0IjoiMjAyNi0wNy0xMFQxNjowNTowMFoifX19",
      "headers": {
        "Accept-Encoding": "gzip",
        "Content-Length": "411",
        "Content-Type": "application/json",
        "User-Agent": "Nexio-Webhooks/1.0",
        "X-Nexio-Delivery": "30000000-0000-4000-8000-000000000011",
        "X-Nexio-Event": "run.completed",
        "X-Nexio-Signature": "t=1783699501,v1=ac1fed95829053bdfabdc4f5ceb56133f081a3dd84a59b34c4c81fa634e82d4b",
        "X-Nexio-Timestamp": "1783699501",
        "X-Nexio-Webhook-Version": "2026-03-22"
      },
      "signing_secrets": [
        "whsec_s72_current_test_only"
      ],
      "verification_secrets": [
        "whsec_s72_current_test_only"
      ],
      "expected_valid_signatures": [
        "ac1fed95829053bdfabdc4f5ceb56133f081a3dd84a59b34c4c81fa634e82d4b"
      ],
      "now_unix": 1783699200,
      "expected_accept": false
    },
    {
      "name": "mutated_body",
      "scenario": "captured body with one byte appended after signing",
      "source": "derived-negative",
      "raw_body_base64": "eyJpZCI6IjEwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwMSIsInR5cGUiOiJydW4uY29tcGxldGVkIiwid2ViaG9va192ZXJzaW9uIjoiMjAyNi0wMy0yMiIsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE2OjAwOjAwWiIsImRhdGEiOnsicnVuIjp7InJ1bl9pZCI6IjIwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwMSIsImVuZ2luZV90eXBlIjoiZW50aXR5X2FuYWx5c2lzIiwic3RhdHVzIjoiY29tcGxldGVkIiwiZW52aXJvbm1lbnQiOiJ0ZXN0Iiwib3V0cHV0Ijp7InJlc3VsdCI6ImFwcHJvdmVkIiwic2NvcmUiOjAuOTh9LCJ0b3RhbF9kdXJhdGlvbl9tcyI6NTkwMDAsImF0dGVtcHQiOjEsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE1OjU5OjAwWiIsImNvbXBsZXRlZF9hdCI6IjIwMjYtMDctMTBUMTU6NTk6NTlaIn19fQo=",
      "headers": {
        "Accept-Encoding": "gzip",
        "Content-Length": "431",
        "Content-Type": "application/json",
        "User-Agent": "Nexio-Webhooks/1.0",
        "X-Nexio-Delivery": "30000000-0000-4000-8000-000000000001",
        "X-Nexio-Event": "run.completed",
        "X-Nexio-Signature": "t=1783699200,v1=249583fe37a274a6527520c0fe1b6ee9cfa5e625a05d0f21fa41f575535a3f35",
        "X-Nexio-Timestamp": "1783699200",
        "X-Nexio-Webhook-Version": "2026-03-22"
      },
      "signing_secrets": [
        "whsec_s72_current_test_only"
      ],
      "verification_secrets": [
        "whsec_s72_current_test_only"
      ],
      "expected_valid_signatures": [
        "249583fe37a274a6527520c0fe1b6ee9cfa5e625a05d0f21fa41f575535a3f35"
      ],
      "now_unix": 1783699200,
      "expected_accept": false
    },
    {
      "name": "wrong_secret",
      "scenario": "valid captured request verified with the wrong secret",
      "source": "derived-negative",
      "raw_body_base64": "eyJpZCI6IjEwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwMSIsInR5cGUiOiJydW4uY29tcGxldGVkIiwid2ViaG9va192ZXJzaW9uIjoiMjAyNi0wMy0yMiIsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE2OjAwOjAwWiIsImRhdGEiOnsicnVuIjp7InJ1bl9pZCI6IjIwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwMSIsImVuZ2luZV90eXBlIjoiZW50aXR5X2FuYWx5c2lzIiwic3RhdHVzIjoiY29tcGxldGVkIiwiZW52aXJvbm1lbnQiOiJ0ZXN0Iiwib3V0cHV0Ijp7InJlc3VsdCI6ImFwcHJvdmVkIiwic2NvcmUiOjAuOTh9LCJ0b3RhbF9kdXJhdGlvbl9tcyI6NTkwMDAsImF0dGVtcHQiOjEsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE1OjU5OjAwWiIsImNvbXBsZXRlZF9hdCI6IjIwMjYtMDctMTBUMTU6NTk6NTlaIn19fQ==",
      "headers": {
        "Accept-Encoding": "gzip",
        "Content-Length": "430",
        "Content-Type": "application/json",
        "User-Agent": "Nexio-Webhooks/1.0",
        "X-Nexio-Delivery": "30000000-0000-4000-8000-000000000001",
        "X-Nexio-Event": "run.completed",
        "X-Nexio-Signature": "t=1783699200,v1=249583fe37a274a6527520c0fe1b6ee9cfa5e625a05d0f21fa41f575535a3f35",
        "X-Nexio-Timestamp": "1783699200",
        "X-Nexio-Webhook-Version": "2026-03-22"
      },
      "signing_secrets": [
        "whsec_s72_current_test_only"
      ],
      "verification_secrets": [
        "whsec_s72_wrong_test_only"
      ],
      "expected_valid_signatures": [
        "249583fe37a274a6527520c0fe1b6ee9cfa5e625a05d0f21fa41f575535a3f35"
      ],
      "now_unix": 1783699200,
      "expected_accept": false
    },
    {
      "name": "malformed_signature_header",
      "scenario": "signature header contains no valid v1 hex digest",
      "source": "derived-negative",
      "raw_body_base64": "eyJpZCI6IjEwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwMSIsInR5cGUiOiJydW4uY29tcGxldGVkIiwid2ViaG9va192ZXJzaW9uIjoiMjAyNi0wMy0yMiIsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE2OjAwOjAwWiIsImRhdGEiOnsicnVuIjp7InJ1bl9pZCI6IjIwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwMSIsImVuZ2luZV90eXBlIjoiZW50aXR5X2FuYWx5c2lzIiwic3RhdHVzIjoiY29tcGxldGVkIiwiZW52aXJvbm1lbnQiOiJ0ZXN0Iiwib3V0cHV0Ijp7InJlc3VsdCI6ImFwcHJvdmVkIiwic2NvcmUiOjAuOTh9LCJ0b3RhbF9kdXJhdGlvbl9tcyI6NTkwMDAsImF0dGVtcHQiOjEsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE1OjU5OjAwWiIsImNvbXBsZXRlZF9hdCI6IjIwMjYtMDctMTBUMTU6NTk6NTlaIn19fQ==",
      "headers": {
        "Accept-Encoding": "gzip",
        "Content-Length": "430",
        "Content-Type": "application/json",
        "User-Agent": "Nexio-Webhooks/1.0",
        "X-Nexio-Delivery": "30000000-0000-4000-8000-000000000001",
        "X-Nexio-Event": "run.completed",
        "X-Nexio-Signature": "t=1783699200,v1=not-hex",
        "X-Nexio-Timestamp": "1783699200",
        "X-Nexio-Webhook-Version": "2026-03-22"
      },
      "signing_secrets": [
        "whsec_s72_current_test_only"
      ],
      "verification_secrets": [
        "whsec_s72_current_test_only"
      ],
      "expected_valid_signatures": [
        "249583fe37a274a6527520c0fe1b6ee9cfa5e625a05d0f21fa41f575535a3f35"
      ],
      "now_unix": 1783699200,
      "expected_accept": false
    },
    {
      "name": "duplicate_signature_timestamp",
      "scenario": "signature header contains duplicate t values",
      "source": "derived-negative",
      "raw_body_base64": "eyJpZCI6IjEwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwMSIsInR5cGUiOiJydW4uY29tcGxldGVkIiwid2ViaG9va192ZXJzaW9uIjoiMjAyNi0wMy0yMiIsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE2OjAwOjAwWiIsImRhdGEiOnsicnVuIjp7InJ1bl9pZCI6IjIwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwMSIsImVuZ2luZV90eXBlIjoiZW50aXR5X2FuYWx5c2lzIiwic3RhdHVzIjoiY29tcGxldGVkIiwiZW52aXJvbm1lbnQiOiJ0ZXN0Iiwib3V0cHV0Ijp7InJlc3VsdCI6ImFwcHJvdmVkIiwic2NvcmUiOjAuOTh9LCJ0b3RhbF9kdXJhdGlvbl9tcyI6NTkwMDAsImF0dGVtcHQiOjEsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE1OjU5OjAwWiIsImNvbXBsZXRlZF9hdCI6IjIwMjYtMDctMTBUMTU6NTk6NTlaIn19fQ==",
      "headers": {
        "Accept-Encoding": "gzip",
        "Content-Length": "430",
        "Content-Type": "application/json",
        "User-Agent": "Nexio-Webhooks/1.0",
        "X-Nexio-Delivery": "30000000-0000-4000-8000-000000000001",
        "X-Nexio-Event": "run.completed",
        "X-Nexio-Signature": "t=1783699200,v1=249583fe37a274a6527520c0fe1b6ee9cfa5e625a05d0f21fa41f575535a3f35,t=1783699200",
        "X-Nexio-Timestamp": "1783699200",
        "X-Nexio-Webhook-Version": "2026-03-22"
      },
      "signing_secrets": [
        "whsec_s72_current_test_only"
      ],
      "verification_secrets": [
        "whsec_s72_current_test_only"
      ],
      "expected_valid_signatures": [
        "249583fe37a274a6527520c0fe1b6ee9cfa5e625a05d0f21fa41f575535a3f35"
      ],
      "now_unix": 1783699200,
      "expected_accept": false
    },
    {
      "name": "empty_then_duplicate_timestamp",
      "scenario": "signature header contains an empty t value followed by another t value",
      "source": "derived-negative",
      "raw_body_base64": "eyJpZCI6IjEwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwMSIsInR5cGUiOiJydW4uY29tcGxldGVkIiwid2ViaG9va192ZXJzaW9uIjoiMjAyNi0wMy0yMiIsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE2OjAwOjAwWiIsImRhdGEiOnsicnVuIjp7InJ1bl9pZCI6IjIwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwMSIsImVuZ2luZV90eXBlIjoiZW50aXR5X2FuYWx5c2lzIiwic3RhdHVzIjoiY29tcGxldGVkIiwiZW52aXJvbm1lbnQiOiJ0ZXN0Iiwib3V0cHV0Ijp7InJlc3VsdCI6ImFwcHJvdmVkIiwic2NvcmUiOjAuOTh9LCJ0b3RhbF9kdXJhdGlvbl9tcyI6NTkwMDAsImF0dGVtcHQiOjEsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE1OjU5OjAwWiIsImNvbXBsZXRlZF9hdCI6IjIwMjYtMDctMTBUMTU6NTk6NTlaIn19fQ==",
      "headers": {
        "Accept-Encoding": "gzip",
        "Content-Length": "430",
        "Content-Type": "application/json",
        "User-Agent": "Nexio-Webhooks/1.0",
        "X-Nexio-Delivery": "30000000-0000-4000-8000-000000000001",
        "X-Nexio-Event": "run.completed",
        "X-Nexio-Signature": "t=,t=1783699200,v1=249583fe37a274a6527520c0fe1b6ee9cfa5e625a05d0f21fa41f575535a3f35",
        "X-Nexio-Timestamp": "1783699200",
        "X-Nexio-Webhook-Version": "2026-03-22"
      },
      "signing_secrets": [
        "whsec_s72_current_test_only"
      ],
      "verification_secrets": [
        "whsec_s72_current_test_only"
      ],
      "expected_valid_signatures": [
        "249583fe37a274a6527520c0fe1b6ee9cfa5e625a05d0f21fa41f575535a3f35"
      ],
      "now_unix": 1783699200,
      "expected_accept": false
    },
    {
      "name": "timestamp_header_mismatch",
      "scenario": "X-Nexio-Timestamp differs from the signed timestamp",
      "source": "derived-negative",
      "raw_body_base64": "eyJpZCI6IjEwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwMSIsInR5cGUiOiJydW4uY29tcGxldGVkIiwid2ViaG9va192ZXJzaW9uIjoiMjAyNi0wMy0yMiIsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE2OjAwOjAwWiIsImRhdGEiOnsicnVuIjp7InJ1bl9pZCI6IjIwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwMSIsImVuZ2luZV90eXBlIjoiZW50aXR5X2FuYWx5c2lzIiwic3RhdHVzIjoiY29tcGxldGVkIiwiZW52aXJvbm1lbnQiOiJ0ZXN0Iiwib3V0cHV0Ijp7InJlc3VsdCI6ImFwcHJvdmVkIiwic2NvcmUiOjAuOTh9LCJ0b3RhbF9kdXJhdGlvbl9tcyI6NTkwMDAsImF0dGVtcHQiOjEsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE1OjU5OjAwWiIsImNvbXBsZXRlZF9hdCI6IjIwMjYtMDctMTBUMTU6NTk6NTlaIn19fQ==",
      "headers": {
        "Accept-Encoding": "gzip",
        "Content-Length": "430",
        "Content-Type": "application/json",
        "User-Agent": "Nexio-Webhooks/1.0",
        "X-Nexio-Delivery": "30000000-0000-4000-8000-000000000001",
        "X-Nexio-Event": "run.completed",
        "X-Nexio-Signature": "t=1783699200,v1=249583fe37a274a6527520c0fe1b6ee9cfa5e625a05d0f21fa41f575535a3f35",
        "X-Nexio-Timestamp": "1783699201",
        "X-Nexio-Webhook-Version": "2026-03-22"
      },
      "signing_secrets": [
        "whsec_s72_current_test_only"
      ],
      "verification_secrets": [
        "whsec_s72_current_test_only"
      ],
      "expected_valid_signatures": [
        "249583fe37a274a6527520c0fe1b6ee9cfa5e625a05d0f21fa41f575535a3f35"
      ],
      "now_unix": 1783699200,
      "expected_accept": false
    },
    {
      "name": "missing_delivery_id",
      "scenario": "X-Nexio-Delivery is missing",
      "source": "derived-negative",
      "raw_body_base64": "eyJpZCI6IjEwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwMSIsInR5cGUiOiJydW4uY29tcGxldGVkIiwid2ViaG9va192ZXJzaW9uIjoiMjAyNi0wMy0yMiIsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE2OjAwOjAwWiIsImRhdGEiOnsicnVuIjp7InJ1bl9pZCI6IjIwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwMSIsImVuZ2luZV90eXBlIjoiZW50aXR5X2FuYWx5c2lzIiwic3RhdHVzIjoiY29tcGxldGVkIiwiZW52aXJvbm1lbnQiOiJ0ZXN0Iiwib3V0cHV0Ijp7InJlc3VsdCI6ImFwcHJvdmVkIiwic2NvcmUiOjAuOTh9LCJ0b3RhbF9kdXJhdGlvbl9tcyI6NTkwMDAsImF0dGVtcHQiOjEsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE1OjU5OjAwWiIsImNvbXBsZXRlZF9hdCI6IjIwMjYtMDctMTBUMTU6NTk6NTlaIn19fQ==",
      "headers": {
        "Accept-Encoding": "gzip",
        "Content-Length": "430",
        "Content-Type": "application/json",
        "User-Agent": "Nexio-Webhooks/1.0",
        "X-Nexio-Event": "run.completed",
        "X-Nexio-Signature": "t=1783699200,v1=249583fe37a274a6527520c0fe1b6ee9cfa5e625a05d0f21fa41f575535a3f35",
        "X-Nexio-Timestamp": "1783699200",
        "X-Nexio-Webhook-Version": "2026-03-22"
      },
      "signing_secrets": [
        "whsec_s72_current_test_only"
      ],
      "verification_secrets": [
        "whsec_s72_current_test_only"
      ],
      "expected_valid_signatures": [
        "249583fe37a274a6527520c0fe1b6ee9cfa5e625a05d0f21fa41f575535a3f35"
      ],
      "now_unix": 1783699200,
      "expected_accept": false
    },
    {
      "name": "reserialized_json_body",
      "scenario": "captured JSON parsed and re-serialized before verification",
      "source": "derived-negative",
      "raw_body_base64": "eyJjcmVhdGVkX2F0IjoiMjAyNi0wNy0xMFQxNjowMDowMFoiLCJkYXRhIjp7InJ1biI6eyJhdHRlbXB0IjoxLCJjb21wbGV0ZWRfYXQiOiIyMDI2LTA3LTEwVDE1OjU5OjU5WiIsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE1OjU5OjAwWiIsImVuZ2luZV90eXBlIjoiZW50aXR5X2FuYWx5c2lzIiwiZW52aXJvbm1lbnQiOiJ0ZXN0Iiwib3V0cHV0Ijp7ImEiOiJ0d28iLCJ6IjoxfSwicnVuX2lkIjoiMjAwMDAwMDAtMDAwMC00MDAwLTgwMDAtMDAwMDAwMDAwMDA2Iiwic3RhdHVzIjoiY29tcGxldGVkIiwidG90YWxfZHVyYXRpb25fbXMiOjU5MDAwfX0sImlkIjoiMTAwMDAwMDAtMDAwMC00MDAwLTgwMDAtMDAwMDAwMDAwMDA2IiwidHlwZSI6InJ1bi5jb21wbGV0ZWQiLCJ3ZWJob29rX3ZlcnNpb24iOiIyMDI2LTAzLTIyIn0=",
      "headers": {
        "Accept-Encoding": "gzip",
        "Content-Length": "413",
        "Content-Type": "application/json",
        "User-Agent": "Nexio-Webhooks/1.0",
        "X-Nexio-Delivery": "30000000-0000-4000-8000-000000000006",
        "X-Nexio-Event": "run.completed",
        "X-Nexio-Signature": "t=1783699200,v1=4b3f76161d7e849a75813524468bab76843a5339b0f19ab7f431f8ef5f6a00ff",
        "X-Nexio-Timestamp": "1783699200",
        "X-Nexio-Webhook-Version": "2026-03-22"
      },
      "signing_secrets": [
        "whsec_s72_current_test_only"
      ],
      "verification_secrets": [
        "whsec_s72_current_test_only"
      ],
      "expected_valid_signatures": [
        "4b3f76161d7e849a75813524468bab76843a5339b0f19ab7f431f8ef5f6a00ff"
      ],
      "now_unix": 1783699200,
      "expected_accept": false
    },
    {
      "name": "duplicate_delivery_id",
      "scenario": "valid request whose stable delivery ID was already processed",
      "source": "derived-negative",
      "raw_body_base64": "eyJpZCI6IjEwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwMSIsInR5cGUiOiJydW4uY29tcGxldGVkIiwid2ViaG9va192ZXJzaW9uIjoiMjAyNi0wMy0yMiIsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE2OjAwOjAwWiIsImRhdGEiOnsicnVuIjp7InJ1bl9pZCI6IjIwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwMSIsImVuZ2luZV90eXBlIjoiZW50aXR5X2FuYWx5c2lzIiwic3RhdHVzIjoiY29tcGxldGVkIiwiZW52aXJvbm1lbnQiOiJ0ZXN0Iiwib3V0cHV0Ijp7InJlc3VsdCI6ImFwcHJvdmVkIiwic2NvcmUiOjAuOTh9LCJ0b3RhbF9kdXJhdGlvbl9tcyI6NTkwMDAsImF0dGVtcHQiOjEsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEwVDE1OjU5OjAwWiIsImNvbXBsZXRlZF9hdCI6IjIwMjYtMDctMTBUMTU6NTk6NTlaIn19fQ==",
      "headers": {
        "Accept-Encoding": "gzip",
        "Content-Length": "430",
        "Content-Type": "application/json",
        "User-Agent": "Nexio-Webhooks/1.0",
        "X-Nexio-Delivery": "30000000-0000-4000-8000-000000000001",
        "X-Nexio-Event": "run.completed",
        "X-Nexio-Signature": "t=1783699200,v1=249583fe37a274a6527520c0fe1b6ee9cfa5e625a05d0f21fa41f575535a3f35",
        "X-Nexio-Timestamp": "1783699200",
        "X-Nexio-Webhook-Version": "2026-03-22"
      },
      "signing_secrets": [
        "whsec_s72_current_test_only"
      ],
      "verification_secrets": [
        "whsec_s72_current_test_only"
      ],
      "expected_valid_signatures": [
        "249583fe37a274a6527520c0fe1b6ee9cfa5e625a05d0f21fa41f575535a3f35"
      ],
      "now_unix": 1783699200,
      "seen_delivery_ids": [
        "30000000-0000-4000-8000-000000000001"
      ],
      "expected_accept": false
    }
  ]
}
