{
  "users": [
    {
      "id": 1,
      "first_name": "Robb",
      "last_name": "Walsh",
      "email": "robb_walsh41@example.org",
      "department": "Sales",
      "number_matching": true,
      "enrolled_at": "2026-04-19 12:47:33"
    },
    {
      "id": 2,
      "first_name": "Taryn",
      "last_name": "Aufderhar-Brakus",
      "email": "taryn.aufderhar-brakus44@example.com",
      "department": "Engineering",
      "number_matching": false,
      "enrolled_at": "2026-04-22 21:55:15"
    },
    {
      "id": 3,
      "first_name": "Rudy",
      "last_name": "Kemmer-Beatty",
      "email": "rudy.kemmer-beatty@example.net",
      "department": "Finance",
      "number_matching": false,
      "enrolled_at": "2026-03-02 12:10:46"
    },
    {
      "id": 4,
      "first_name": "Mindy",
      "last_name": "Legros",
      "email": "mindy_legros40@example.net",
      "department": "Operations",
      "number_matching": true,
      "enrolled_at": "2026-04-17 09:34:04"
    },
    {
      "id": 5,
      "first_name": "Chesley",
      "last_name": "Bergnaum",
      "email": "chesley_bergnaum@example.org",
      "department": "Sales",
      "number_matching": false,
      "enrolled_at": "2026-02-14 16:15:59"
    },
    {
      "id": 6,
      "first_name": "Verner",
      "last_name": "Douglas",
      "email": "verner.douglas88@example.org",
      "department": "Sales",
      "number_matching": true,
      "enrolled_at": "2026-01-11 11:17:33"
    },
    {
      "id": 7,
      "first_name": "Idell",
      "last_name": "Moore",
      "email": "idell_moore90@example.org",
      "department": "Engineering",
      "number_matching": false,
      "enrolled_at": "2026-03-10 17:17:39"
    },
    {
      "id": 8,
      "first_name": "Ruthe",
      "last_name": "Carroll",
      "email": "ruthe.carroll@example.org",
      "department": "Sales",
      "number_matching": false,
      "enrolled_at": "2026-04-09 13:12:41"
    },
    {
      "id": 9,
      "first_name": "Isaac",
      "last_name": "Mohr",
      "email": "isaac.mohr@example.net",
      "department": "Sales",
      "number_matching": true,
      "enrolled_at": "2026-01-27 11:13:35"
    },
    {
      "id": 10,
      "first_name": "Jonathon",
      "last_name": "Dach",
      "email": "jonathon.dach46@example.net",
      "department": "Engineering",
      "number_matching": true,
      "enrolled_at": "2026-02-02 13:40:33"
    },
    {
      "id": 11,
      "first_name": "Humberto",
      "last_name": "Veum",
      "email": "humberto_veum69@example.net",
      "department": "Sales",
      "number_matching": false,
      "enrolled_at": "2026-04-04 13:40:17"
    },
    {
      "id": 12,
      "first_name": "Lorine",
      "last_name": "Beer",
      "email": "lorine_beer16@example.com",
      "department": "Engineering",
      "number_matching": true,
      "enrolled_at": "2026-02-28 12:13:21"
    },
    {
      "id": 13,
      "first_name": "Leonel",
      "last_name": "Greenholt",
      "email": "leonel_greenholt@example.org",
      "department": "Engineering",
      "number_matching": true,
      "enrolled_at": "2026-03-08 08:05:45"
    },
    {
      "id": 14,
      "first_name": "Liliana",
      "last_name": "Davis",
      "email": "liliana_davis@example.org",
      "department": "Operations",
      "number_matching": false,
      "enrolled_at": "2026-02-21 11:06:11"
    },
    {
      "id": 15,
      "first_name": "Hubert",
      "last_name": "Ebert",
      "email": "hubert_ebert66@example.com",
      "department": "Sales",
      "number_matching": false,
      "enrolled_at": "2026-03-27 15:38:55"
    },
    {
      "id": 16,
      "first_name": "Brooks",
      "last_name": "Goyette",
      "email": "brooks_goyette@example.org",
      "department": "Finance",
      "number_matching": true,
      "enrolled_at": "2026-01-11 08:38:53"
    },
    {
      "id": 17,
      "first_name": "Payton",
      "last_name": "Sawayn",
      "email": "payton.sawayn@example.net",
      "department": "Engineering",
      "number_matching": false,
      "enrolled_at": "2026-01-07 11:20:27"
    },
    {
      "id": 18,
      "first_name": "Aylin",
      "last_name": "Klocko",
      "email": "aylin_klocko@example.net",
      "department": "Engineering",
      "number_matching": true,
      "enrolled_at": "2026-02-05 13:26:16"
    },
    {
      "id": 19,
      "first_name": "Juwan",
      "last_name": "Bruen",
      "email": "juwan_bruen60@example.org",
      "department": "Finance",
      "number_matching": false,
      "enrolled_at": "2026-01-24 14:23:40"
    },
    {
      "id": 20,
      "first_name": "Ewell",
      "last_name": "O'Keefe",
      "email": "ewell.okeefe@example.net",
      "department": "Support",
      "number_matching": false,
      "enrolled_at": "2026-01-20 11:37:07"
    },
    {
      "id": 21,
      "first_name": "Doyle",
      "last_name": "Crona",
      "email": "doyle.crona28@example.org",
      "department": "Finance",
      "number_matching": false,
      "enrolled_at": "2026-03-20 08:48:41"
    },
    {
      "id": 22,
      "first_name": "Elyse",
      "last_name": "Rippin",
      "email": "elyse_rippin@example.org",
      "department": "Engineering",
      "number_matching": false,
      "enrolled_at": "2026-03-10 12:12:30"
    },
    {
      "id": 23,
      "first_name": "Chanelle",
      "last_name": "Reinger",
      "email": "chanelle.reinger71@example.net",
      "department": "Operations",
      "number_matching": false,
      "enrolled_at": "2026-03-04 09:48:32"
    },
    {
      "id": 24,
      "first_name": "Ashton",
      "last_name": "Heller",
      "email": "ashton.heller93@example.net",
      "department": "Sales",
      "number_matching": true,
      "enrolled_at": "2026-01-10 08:42:28"
    },
    {
      "id": 25,
      "first_name": "Mac",
      "last_name": "Bailey",
      "email": "mac.bailey49@example.net",
      "department": "Sales",
      "number_matching": false,
      "enrolled_at": "2026-04-25 11:30:48"
    },
    {
      "id": 26,
      "first_name": "Gianni",
      "last_name": "Weber",
      "email": "gianni_weber@example.org",
      "department": "Support",
      "number_matching": false,
      "enrolled_at": "2026-03-01 09:12:13"
    },
    {
      "id": 27,
      "first_name": "Clayton",
      "last_name": "Schinner",
      "email": "clayton.schinner77@example.net",
      "department": "Finance",
      "number_matching": false,
      "enrolled_at": "2026-02-06 14:02:06"
    },
    {
      "id": 28,
      "first_name": "Laila",
      "last_name": "Schowalter",
      "email": "laila_schowalter@example.net",
      "department": "Support",
      "number_matching": false,
      "enrolled_at": "2026-04-04 10:45:13"
    },
    {
      "id": 29,
      "first_name": "Mae",
      "last_name": "Hayes",
      "email": "mae.hayes22@example.org",
      "department": "Engineering",
      "number_matching": true,
      "enrolled_at": "2026-01-26 15:25:11"
    },
    {
      "id": 30,
      "first_name": "Camila",
      "last_name": "Lakin",
      "email": "camila.lakin41@example.com",
      "department": "Engineering",
      "number_matching": false,
      "enrolled_at": "2026-02-22 17:51:39"
    },
    {
      "id": 31,
      "first_name": "Tess",
      "last_name": "Frami",
      "email": "tess.frami68@example.org",
      "department": "Executive office",
      "number_matching": true,
      "enrolled_at": "2026-02-08 08:02:19"
    },
    {
      "id": 32,
      "first_name": "Jaime",
      "last_name": "Klein",
      "email": "jaime_klein88@example.com",
      "department": "Operations",
      "number_matching": false,
      "enrolled_at": "2026-02-07 16:12:40"
    },
    {
      "id": 33,
      "first_name": "Cleo",
      "last_name": "Farrell-Cole",
      "email": "cleo.farrell-cole@example.com",
      "department": "Finance",
      "number_matching": true,
      "enrolled_at": "2026-03-31 13:08:28"
    },
    {
      "id": 34,
      "first_name": "Darien",
      "last_name": "Shields",
      "email": "darien.shields@example.org",
      "department": "Engineering",
      "number_matching": false,
      "enrolled_at": "2026-01-13 15:28:00"
    },
    {
      "id": 35,
      "first_name": "Madaline",
      "last_name": "Gutkowski",
      "email": "madaline_gutkowski0@example.net",
      "department": "Sales",
      "number_matching": false,
      "enrolled_at": "2026-03-28 15:54:12"
    },
    {
      "id": 36,
      "first_name": "Chelsey",
      "last_name": "Bernier",
      "email": "chelsey.bernier@example.net",
      "department": "Engineering",
      "number_matching": true,
      "enrolled_at": "2026-01-14 13:15:53"
    },
    {
      "id": 37,
      "first_name": "Kiana",
      "last_name": "Mueller",
      "email": "kiana_mueller@example.com",
      "department": "Support",
      "number_matching": false,
      "enrolled_at": "2026-03-06 15:14:29"
    },
    {
      "id": 38,
      "first_name": "Micaela",
      "last_name": "Grant",
      "email": "micaela.grant@example.com",
      "department": "Sales",
      "number_matching": true,
      "enrolled_at": "2026-04-29 09:31:09"
    },
    {
      "id": 39,
      "first_name": "Malvina",
      "last_name": "Krajcik",
      "email": "malvina_krajcik@example.net",
      "department": "Executive office",
      "number_matching": false,
      "enrolled_at": "2026-04-10 10:52:52"
    },
    {
      "id": 40,
      "first_name": "Jamie",
      "last_name": "Dibbert",
      "email": "jamie.dibbert@example.org",
      "department": "Support",
      "number_matching": false,
      "enrolled_at": "2026-03-19 14:31:37"
    },
    {
      "id": 41,
      "first_name": "Ed",
      "last_name": "Hackett",
      "email": "ed_hackett98@example.org",
      "department": "Finance",
      "number_matching": true,
      "enrolled_at": "2026-01-16 14:30:29"
    },
    {
      "id": 42,
      "first_name": "Sylvan",
      "last_name": "McCullough",
      "email": "sylvan_mccullough@example.org",
      "department": "Operations",
      "number_matching": false,
      "enrolled_at": "2026-02-04 12:29:54"
    },
    {
      "id": 43,
      "first_name": "Taylor",
      "last_name": "Luettgen",
      "email": "taylor_luettgen@example.com",
      "department": "Support",
      "number_matching": false,
      "enrolled_at": "2026-01-06 12:03:48"
    },
    {
      "id": 44,
      "first_name": "Grover",
      "last_name": "Lang",
      "email": "grover.lang64@example.net",
      "department": "Support",
      "number_matching": true,
      "enrolled_at": "2026-04-28 14:34:50"
    },
    {
      "id": 45,
      "first_name": "Stephan",
      "last_name": "Kub",
      "email": "stephan.kub39@example.net",
      "department": "Sales",
      "number_matching": true,
      "enrolled_at": "2026-04-20 16:43:52"
    },
    {
      "id": 46,
      "first_name": "Omar",
      "last_name": "Christiansen",
      "email": "omar.christiansen@example.org",
      "department": "Finance",
      "number_matching": true,
      "enrolled_at": "2026-03-13 09:28:38"
    },
    {
      "id": 47,
      "first_name": "Eryn",
      "last_name": "Homenick",
      "email": "eryn.homenick48@example.org",
      "department": "Operations",
      "number_matching": false,
      "enrolled_at": "2026-04-26 17:59:49"
    },
    {
      "id": 48,
      "first_name": "Kaylee",
      "last_name": "Yost",
      "email": "kaylee.yost14@example.org",
      "department": "Engineering",
      "number_matching": false,
      "enrolled_at": "2026-01-13 12:55:06"
    },
    {
      "id": 49,
      "first_name": "Hassan",
      "last_name": "Morissette",
      "email": "hassan.morissette6@example.org",
      "department": "Finance",
      "number_matching": true,
      "enrolled_at": "2026-01-24 09:33:09"
    },
    {
      "id": 50,
      "first_name": "Sylvester",
      "last_name": "Okuneva",
      "email": "sylvester_okuneva@example.org",
      "department": "Finance",
      "number_matching": true,
      "enrolled_at": "2026-04-26 13:46:09"
    }
  ],
  "mfa_method_changes": [
    {
      "id": 1,
      "user_id": 4,
      "changed_at": "2026-08-01 03:55:00",
      "change_type": "new phone enrolled",
      "requested_via": "help desk call",
      "identity_check": "existing MFA prompt"
    },
    {
      "id": 2,
      "user_id": 40,
      "changed_at": "2026-05-31 06:02:28",
      "change_type": "new phone enrolled",
      "requested_via": "self-service portal",
      "identity_check": "existing MFA prompt"
    },
    {
      "id": 3,
      "user_id": 13,
      "changed_at": "2026-05-01 19:49:50",
      "change_type": "phone number changed",
      "requested_via": "help desk call",
      "identity_check": "existing MFA prompt"
    },
    {
      "id": 4,
      "user_id": 37,
      "changed_at": "2026-08-01 18:58:43",
      "change_type": "new phone enrolled",
      "requested_via": "help desk call",
      "identity_check": "existing MFA prompt"
    },
    {
      "id": 5,
      "user_id": 21,
      "changed_at": "2026-08-22 09:06:18",
      "change_type": "new phone enrolled",
      "requested_via": "self-service portal",
      "identity_check": "existing MFA prompt"
    },
    {
      "id": 6,
      "user_id": 43,
      "changed_at": "2026-02-24 16:01:47",
      "change_type": "method reset by help desk",
      "requested_via": "self-service portal",
      "identity_check": "existing MFA prompt"
    },
    {
      "id": 7,
      "user_id": 20,
      "changed_at": "2026-05-15 08:35:53",
      "change_type": "method reset by help desk",
      "requested_via": "self-service portal",
      "identity_check": "existing MFA prompt"
    },
    {
      "id": 8,
      "user_id": 25,
      "changed_at": "2026-07-28 19:08:38",
      "change_type": "method reset by help desk",
      "requested_via": "self-service portal",
      "identity_check": "existing MFA prompt"
    },
    {
      "id": 9,
      "user_id": 20,
      "changed_at": "2026-03-14 05:43:09",
      "change_type": "new phone enrolled",
      "requested_via": "help desk call",
      "identity_check": "existing MFA prompt"
    },
    {
      "id": 10,
      "user_id": 27,
      "changed_at": "2026-06-10 08:56:44",
      "change_type": "new phone enrolled",
      "requested_via": "help desk call",
      "identity_check": "existing MFA prompt"
    },
    {
      "id": 11,
      "user_id": 31,
      "changed_at": "2026-07-08 00:12:19",
      "change_type": "bypass code issued",
      "requested_via": "help desk call",
      "identity_check": "existing MFA prompt"
    },
    {
      "id": 12,
      "user_id": 13,
      "changed_at": "2026-06-08 05:46:57",
      "change_type": "new phone enrolled",
      "requested_via": "self-service portal",
      "identity_check": "manager approval"
    },
    {
      "id": 13,
      "user_id": 34,
      "changed_at": "2026-04-10 09:11:20",
      "change_type": "new phone enrolled",
      "requested_via": "self-service portal",
      "identity_check": "existing MFA prompt"
    },
    {
      "id": 14,
      "user_id": 49,
      "changed_at": "2026-03-13 14:53:38",
      "change_type": "new phone enrolled",
      "requested_via": "help desk call",
      "identity_check": "none recorded"
    },
    {
      "id": 15,
      "user_id": 36,
      "changed_at": "2026-03-28 19:48:03",
      "change_type": "new phone enrolled",
      "requested_via": "self-service portal",
      "identity_check": "video call"
    },
    {
      "id": 16,
      "user_id": 29,
      "changed_at": "2026-06-22 01:38:57",
      "change_type": "method reset by help desk",
      "requested_via": "help desk call",
      "identity_check": "video call"
    },
    {
      "id": 17,
      "user_id": 26,
      "changed_at": "2026-03-08 04:41:32",
      "change_type": "method reset by help desk",
      "requested_via": "self-service portal",
      "identity_check": "video call"
    },
    {
      "id": 18,
      "user_id": 25,
      "changed_at": "2026-06-03 06:08:35",
      "change_type": "new phone enrolled",
      "requested_via": "help desk call",
      "identity_check": "existing MFA prompt"
    },
    {
      "id": 19,
      "user_id": 7,
      "changed_at": "2026-07-28 09:17:39",
      "change_type": "bypass code issued",
      "requested_via": "help desk call",
      "identity_check": "none recorded"
    },
    {
      "id": 20,
      "user_id": 28,
      "changed_at": "2026-06-04 03:35:36",
      "change_type": "bypass code issued",
      "requested_via": "self-service portal",
      "identity_check": "manager approval"
    },
    {
      "id": 21,
      "user_id": 25,
      "changed_at": "2026-07-26 18:29:25",
      "change_type": "method reset by help desk",
      "requested_via": "self-service portal",
      "identity_check": "video call"
    },
    {
      "id": 22,
      "user_id": 13,
      "changed_at": "2026-06-07 09:51:51",
      "change_type": "new phone enrolled",
      "requested_via": "help desk call",
      "identity_check": "manager approval"
    },
    {
      "id": 23,
      "user_id": 45,
      "changed_at": "2026-08-23 15:26:34",
      "change_type": "new phone enrolled",
      "requested_via": "self-service portal",
      "identity_check": "video call"
    },
    {
      "id": 24,
      "user_id": 7,
      "changed_at": "2026-06-23 07:14:53",
      "change_type": "authenticator re-registered",
      "requested_via": "help desk call",
      "identity_check": "existing MFA prompt"
    },
    {
      "id": 25,
      "user_id": 29,
      "changed_at": "2026-06-11 03:25:33",
      "change_type": "authenticator re-registered",
      "requested_via": "self-service portal",
      "identity_check": "none recorded"
    },
    {
      "id": 26,
      "user_id": 37,
      "changed_at": "2026-04-02 05:28:13",
      "change_type": "phone number changed",
      "requested_via": "help desk call",
      "identity_check": "video call"
    },
    {
      "id": 27,
      "user_id": 50,
      "changed_at": "2026-09-22 23:39:52",
      "change_type": "authenticator re-registered",
      "requested_via": "help desk call",
      "identity_check": "none recorded"
    },
    {
      "id": 28,
      "user_id": 3,
      "changed_at": "2026-04-25 23:14:17",
      "change_type": "bypass code issued",
      "requested_via": "admin console",
      "identity_check": "existing MFA prompt"
    },
    {
      "id": 29,
      "user_id": 47,
      "changed_at": "2026-08-25 07:37:49",
      "change_type": "new phone enrolled",
      "requested_via": "help desk call",
      "identity_check": "existing MFA prompt"
    },
    {
      "id": 30,
      "user_id": 24,
      "changed_at": "2026-06-04 18:11:19",
      "change_type": "bypass code issued",
      "requested_via": "admin console",
      "identity_check": "none recorded"
    },
    {
      "id": 31,
      "user_id": 42,
      "changed_at": "2026-07-05 23:49:34",
      "change_type": "bypass code issued",
      "requested_via": "admin console",
      "identity_check": "manager approval"
    },
    {
      "id": 32,
      "user_id": 42,
      "changed_at": "2026-05-12 15:37:17",
      "change_type": "method reset by help desk",
      "requested_via": "admin console",
      "identity_check": "none recorded"
    },
    {
      "id": 33,
      "user_id": 3,
      "changed_at": "2026-05-21 16:06:41",
      "change_type": "authenticator re-registered",
      "requested_via": "self-service portal",
      "identity_check": "existing MFA prompt"
    },
    {
      "id": 34,
      "user_id": 39,
      "changed_at": "2026-09-11 09:03:33",
      "change_type": "authenticator re-registered",
      "requested_via": "self-service portal",
      "identity_check": "existing MFA prompt"
    },
    {
      "id": 35,
      "user_id": 20,
      "changed_at": "2026-03-08 18:21:35",
      "change_type": "phone number changed",
      "requested_via": "help desk call",
      "identity_check": "none recorded"
    },
    {
      "id": 36,
      "user_id": 23,
      "changed_at": "2026-06-17 02:27:05",
      "change_type": "method reset by help desk",
      "requested_via": "self-service portal",
      "identity_check": "video call"
    },
    {
      "id": 37,
      "user_id": 50,
      "changed_at": "2026-08-11 03:51:22",
      "change_type": "authenticator re-registered",
      "requested_via": "self-service portal",
      "identity_check": "existing MFA prompt"
    },
    {
      "id": 38,
      "user_id": 31,
      "changed_at": "2026-06-01 16:47:22",
      "change_type": "new phone enrolled",
      "requested_via": "help desk call",
      "identity_check": "existing MFA prompt"
    },
    {
      "id": 39,
      "user_id": 37,
      "changed_at": "2026-06-10 13:31:24",
      "change_type": "new phone enrolled",
      "requested_via": "help desk call",
      "identity_check": "video call"
    },
    {
      "id": 40,
      "user_id": 15,
      "changed_at": "2026-05-27 06:09:37",
      "change_type": "new phone enrolled",
      "requested_via": "admin console",
      "identity_check": "existing MFA prompt"
    },
    {
      "id": 41,
      "user_id": 29,
      "changed_at": "2026-03-31 00:11:37",
      "change_type": "authenticator re-registered",
      "requested_via": "self-service portal",
      "identity_check": "existing MFA prompt"
    },
    {
      "id": 42,
      "user_id": 11,
      "changed_at": "2026-07-24 16:38:35",
      "change_type": "new phone enrolled",
      "requested_via": "admin console",
      "identity_check": "video call"
    },
    {
      "id": 43,
      "user_id": 43,
      "changed_at": "2026-01-14 23:26:58",
      "change_type": "phone number changed",
      "requested_via": "self-service portal",
      "identity_check": "none recorded"
    },
    {
      "id": 44,
      "user_id": 49,
      "changed_at": "2026-03-25 05:28:35",
      "change_type": "new phone enrolled",
      "requested_via": "help desk call",
      "identity_check": "video call"
    },
    {
      "id": 45,
      "user_id": 28,
      "changed_at": "2026-05-02 19:53:52",
      "change_type": "bypass code issued",
      "requested_via": "admin console",
      "identity_check": "video call"
    },
    {
      "id": 46,
      "user_id": 41,
      "changed_at": "2026-06-03 19:27:37",
      "change_type": "bypass code issued",
      "requested_via": "self-service portal",
      "identity_check": "existing MFA prompt"
    },
    {
      "id": 47,
      "user_id": 46,
      "changed_at": "2026-06-30 14:47:29",
      "change_type": "phone number changed",
      "requested_via": "admin console",
      "identity_check": "existing MFA prompt"
    },
    {
      "id": 48,
      "user_id": 43,
      "changed_at": "2026-05-16 07:35:44",
      "change_type": "new phone enrolled",
      "requested_via": "help desk call",
      "identity_check": "manager approval"
    },
    {
      "id": 49,
      "user_id": 50,
      "changed_at": "2026-06-29 14:06:29",
      "change_type": "new phone enrolled",
      "requested_via": "self-service portal",
      "identity_check": "manager approval"
    },
    {
      "id": 50,
      "user_id": 39,
      "changed_at": "2026-08-09 08:50:10",
      "change_type": "bypass code issued",
      "requested_via": "help desk call",
      "identity_check": "manager approval"
    },
    {
      "id": 51,
      "user_id": 5,
      "changed_at": "2026-06-23 12:40:48",
      "change_type": "phone number changed",
      "requested_via": "help desk call",
      "identity_check": "existing MFA prompt"
    },
    {
      "id": 52,
      "user_id": 1,
      "changed_at": "2026-05-04 06:03:10",
      "change_type": "new phone enrolled",
      "requested_via": "help desk call",
      "identity_check": "existing MFA prompt"
    },
    {
      "id": 53,
      "user_id": 27,
      "changed_at": "2026-05-21 04:14:29",
      "change_type": "authenticator re-registered",
      "requested_via": "help desk call",
      "identity_check": "none recorded"
    },
    {
      "id": 54,
      "user_id": 49,
      "changed_at": "2026-04-06 03:49:29",
      "change_type": "method reset by help desk",
      "requested_via": "self-service portal",
      "identity_check": "manager approval"
    },
    {
      "id": 55,
      "user_id": 38,
      "changed_at": "2026-08-16 07:21:44",
      "change_type": "bypass code issued",
      "requested_via": "help desk call",
      "identity_check": "manager approval"
    },
    {
      "id": 56,
      "user_id": 5,
      "changed_at": "2026-05-25 23:46:59",
      "change_type": "bypass code issued",
      "requested_via": "self-service portal",
      "identity_check": "existing MFA prompt"
    },
    {
      "id": 57,
      "user_id": 15,
      "changed_at": "2026-05-01 02:50:30",
      "change_type": "bypass code issued",
      "requested_via": "self-service portal",
      "identity_check": "none recorded"
    },
    {
      "id": 58,
      "user_id": 1,
      "changed_at": "2026-07-16 19:07:06",
      "change_type": "bypass code issued",
      "requested_via": "self-service portal",
      "identity_check": "existing MFA prompt"
    }
  ],
  "sign_in_attempts": [
    {
      "id": 1,
      "user_id": 43,
      "started_at": "2026-01-10 02:12:35",
      "origin": "account owner",
      "source_ip": "192.0.2.109",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 53,
      "prompt_window_s": 53,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 2,
      "user_id": 22,
      "started_at": "2026-03-15 09:31:35",
      "origin": "account owner",
      "source_ip": "198.51.100.43",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 45,
      "prompt_window_s": 90,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 3,
      "user_id": 43,
      "started_at": "2026-01-13 17:42:49",
      "origin": "attacker with stolen password",
      "source_ip": "192.0.2.63",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": 4,
      "prompts_sent": 6,
      "seconds_between_prompts": 29,
      "prompt_window_s": 174,
      "owner_result": null,
      "attack_result": "locked out at prompt limit"
    },
    {
      "id": 4,
      "user_id": 13,
      "started_at": "2026-03-12 05:37:25",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.45",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": 28,
      "prompts_sent": 30,
      "seconds_between_prompts": 71,
      "prompt_window_s": 2130,
      "owner_result": null,
      "attack_result": "denied every prompt"
    },
    {
      "id": 5,
      "user_id": 42,
      "started_at": "2026-02-07 08:48:51",
      "origin": "account owner",
      "source_ip": "198.51.100.15",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 82,
      "prompt_window_s": 164,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 6,
      "user_id": 37,
      "started_at": "2026-03-12 01:57:59",
      "origin": "account owner",
      "source_ip": "198.51.100.107",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 50,
      "prompt_window_s": 50,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 7,
      "user_id": 33,
      "started_at": "2026-04-03 18:33:08",
      "origin": "account owner",
      "source_ip": "198.51.100.86",
      "client": "VPN client",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 57,
      "prompt_window_s": 57,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 8,
      "user_id": 50,
      "started_at": "2026-04-27 03:37:11",
      "origin": "account owner",
      "source_ip": "198.51.100.67",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 63,
      "prompt_window_s": 126,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 9,
      "user_id": 34,
      "started_at": "2026-01-18 04:55:09",
      "origin": "account owner",
      "source_ip": "192.0.2.59",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 86,
      "prompt_window_s": 86,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 10,
      "user_id": 26,
      "started_at": "2026-03-01 23:16:30",
      "origin": "account owner",
      "source_ip": "203.0.113.209",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 53,
      "prompt_window_s": 53,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 11,
      "user_id": 16,
      "started_at": "2026-01-15 02:09:34",
      "origin": "attacker with stolen password",
      "source_ip": "203.0.113.24",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": 7,
      "prompts_sent": 8,
      "seconds_between_prompts": 61,
      "prompt_window_s": 488,
      "owner_result": null,
      "attack_result": "reported as fraud"
    },
    {
      "id": 12,
      "user_id": 32,
      "started_at": "2026-02-08 10:11:12",
      "origin": "account owner",
      "source_ip": "192.0.2.33",
      "client": "VPN client",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 62,
      "prompt_window_s": 62,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 13,
      "user_id": 20,
      "started_at": "2026-01-20 23:08:15",
      "origin": "account owner",
      "source_ip": "203.0.113.140",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 53,
      "prompt_window_s": 53,
      "owner_result": "denied by mistake",
      "attack_result": null
    },
    {
      "id": 14,
      "user_id": 11,
      "started_at": "2026-04-06 12:14:39",
      "origin": "attacker with stolen password",
      "source_ip": "192.0.2.73",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": 20,
      "prompts_sent": 21,
      "seconds_between_prompts": 59,
      "prompt_window_s": 1239,
      "owner_result": null,
      "attack_result": "locked out at prompt limit"
    },
    {
      "id": 15,
      "user_id": 25,
      "started_at": "2026-04-29 10:21:57",
      "origin": "account owner",
      "source_ip": "203.0.113.117",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 77,
      "prompt_window_s": 154,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 16,
      "user_id": 36,
      "started_at": "2026-01-19 10:32:35",
      "origin": "account owner",
      "source_ip": "203.0.113.22",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 54,
      "prompt_window_s": 54,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 17,
      "user_id": 16,
      "started_at": "2026-01-18 16:51:45",
      "origin": "account owner",
      "source_ip": "192.0.2.142",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 42,
      "prompt_window_s": 42,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 18,
      "user_id": 41,
      "started_at": "2026-01-21 22:48:27",
      "origin": "account owner",
      "source_ip": "203.0.113.87",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 40,
      "prompt_window_s": 80,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 19,
      "user_id": 8,
      "started_at": "2026-04-12 06:26:34",
      "origin": "account owner",
      "source_ip": "203.0.113.21",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 87,
      "prompt_window_s": 174,
      "owner_result": "denied by mistake",
      "attack_result": null
    },
    {
      "id": 20,
      "user_id": 14,
      "started_at": "2026-02-26 14:08:10",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.252",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": 18,
      "prompts_sent": 20,
      "seconds_between_prompts": 77,
      "prompt_window_s": 1540,
      "owner_result": null,
      "attack_result": "locked out at prompt limit"
    },
    {
      "id": 21,
      "user_id": 42,
      "started_at": "2026-02-13 03:08:23",
      "origin": "account owner",
      "source_ip": "198.51.100.66",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 44,
      "prompt_window_s": 88,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 22,
      "user_id": 5,
      "started_at": "2026-02-16 02:27:17",
      "origin": "account owner",
      "source_ip": "203.0.113.139",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 38,
      "prompt_window_s": 38,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 23,
      "user_id": 7,
      "started_at": "2026-03-13 13:24:10",
      "origin": "account owner",
      "source_ip": "192.0.2.165",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 38,
      "prompt_window_s": 76,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 24,
      "user_id": 16,
      "started_at": "2026-01-25 07:56:57",
      "origin": "account owner",
      "source_ip": "198.51.100.19",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 30,
      "prompt_window_s": 60,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 25,
      "user_id": 23,
      "started_at": "2026-03-05 11:33:22",
      "origin": "account owner",
      "source_ip": "203.0.113.78",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 61,
      "prompt_window_s": 61,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 26,
      "user_id": 36,
      "started_at": "2026-01-22 10:44:29",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.83",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": 3,
      "prompts_sent": 4,
      "seconds_between_prompts": 64,
      "prompt_window_s": 256,
      "owner_result": null,
      "attack_result": "locked out at prompt limit"
    },
    {
      "id": 27,
      "user_id": 48,
      "started_at": "2026-01-17 04:25:35",
      "origin": "account owner",
      "source_ip": "203.0.113.135",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 61,
      "prompt_window_s": 122,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 28,
      "user_id": 7,
      "started_at": "2026-03-18 15:01:10",
      "origin": "account owner",
      "source_ip": "192.0.2.179",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 51,
      "prompt_window_s": 102,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 29,
      "user_id": 49,
      "started_at": "2026-01-26 17:33:40",
      "origin": "attacker with stolen password",
      "source_ip": "203.0.113.158",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": 5,
      "prompts_sent": 6,
      "seconds_between_prompts": 55,
      "prompt_window_s": 330,
      "owner_result": null,
      "attack_result": "locked out at prompt limit"
    },
    {
      "id": 30,
      "user_id": 46,
      "started_at": "2026-03-18 22:06:10",
      "origin": "account owner",
      "source_ip": "203.0.113.82",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 68,
      "prompt_window_s": 136,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 31,
      "user_id": 2,
      "started_at": "2026-04-27 18:40:59",
      "origin": "account owner",
      "source_ip": "198.51.100.91",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 77,
      "prompt_window_s": 154,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 32,
      "user_id": 36,
      "started_at": "2026-01-23 12:49:18",
      "origin": "account owner",
      "source_ip": "192.0.2.119",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 58,
      "prompt_window_s": 116,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 33,
      "user_id": 4,
      "started_at": "2026-04-17 21:38:25",
      "origin": "account owner",
      "source_ip": "198.51.100.249",
      "client": "VPN client",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 44,
      "prompt_window_s": 44,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 34,
      "user_id": 42,
      "started_at": "2026-02-20 02:50:32",
      "origin": "account owner",
      "source_ip": "192.0.2.188",
      "client": "VPN client",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 36,
      "prompt_window_s": 36,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 35,
      "user_id": 12,
      "started_at": "2026-03-03 18:58:45",
      "origin": "account owner",
      "source_ip": "198.51.100.90",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 47,
      "prompt_window_s": 94,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 36,
      "user_id": 39,
      "started_at": "2026-04-14 22:39:46",
      "origin": "account owner",
      "source_ip": "203.0.113.206",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 19,
      "prompt_window_s": 19,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 37,
      "user_id": 29,
      "started_at": "2026-01-31 08:00:45",
      "origin": "account owner",
      "source_ip": "192.0.2.3",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 34,
      "prompt_window_s": 34,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 38,
      "user_id": 26,
      "started_at": "2026-03-05 10:14:27",
      "origin": "account owner",
      "source_ip": "192.0.2.126",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 20,
      "prompt_window_s": 40,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 39,
      "user_id": 49,
      "started_at": "2026-01-29 05:35:34",
      "origin": "account owner",
      "source_ip": "198.51.100.214",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 53,
      "prompt_window_s": 106,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 40,
      "user_id": 7,
      "started_at": "2026-03-20 19:06:17",
      "origin": "account owner",
      "source_ip": "198.51.100.140",
      "client": "VPN client",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 90,
      "prompt_window_s": 90,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 41,
      "user_id": 29,
      "started_at": "2026-02-03 23:28:38",
      "origin": "account owner",
      "source_ip": "198.51.100.38",
      "client": "VPN client",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 63,
      "prompt_window_s": 63,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 42,
      "user_id": 41,
      "started_at": "2026-01-22 23:51:52",
      "origin": "attacker with stolen password",
      "source_ip": "203.0.113.156",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": 6,
      "prompts_sent": 8,
      "seconds_between_prompts": 80,
      "prompt_window_s": 640,
      "owner_result": null,
      "attack_result": "denied every prompt"
    },
    {
      "id": 43,
      "user_id": 34,
      "started_at": "2026-01-21 20:55:36",
      "origin": "account owner",
      "source_ip": "203.0.113.102",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 45,
      "prompt_window_s": 90,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 44,
      "user_id": 42,
      "started_at": "2026-02-23 15:35:10",
      "origin": "account owner",
      "source_ip": "198.51.100.203",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 65,
      "prompt_window_s": 130,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 45,
      "user_id": 19,
      "started_at": "2026-01-30 11:43:12",
      "origin": "account owner",
      "source_ip": "192.0.2.169",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 71,
      "prompt_window_s": 142,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 46,
      "user_id": 2,
      "started_at": "2026-05-01 01:31:11",
      "origin": "attacker with stolen password",
      "source_ip": "192.0.2.206",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": 11,
      "prompts_sent": 12,
      "seconds_between_prompts": 49,
      "prompt_window_s": 588,
      "owner_result": null,
      "attack_result": "attacker gave up"
    },
    {
      "id": 47,
      "user_id": 4,
      "started_at": "2026-04-22 14:11:28",
      "origin": "account owner",
      "source_ip": "203.0.113.173",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 34,
      "prompt_window_s": 68,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 48,
      "user_id": 29,
      "started_at": "2026-02-05 22:58:13",
      "origin": "account owner",
      "source_ip": "192.0.2.22",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 16,
      "prompt_window_s": 16,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 49,
      "user_id": 39,
      "started_at": "2026-04-16 17:44:00",
      "origin": "account owner",
      "source_ip": "198.51.100.97",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 88,
      "prompt_window_s": 88,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 50,
      "user_id": 3,
      "started_at": "2026-03-06 10:42:22",
      "origin": "account owner",
      "source_ip": "203.0.113.4",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 62,
      "prompt_window_s": 124,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 51,
      "user_id": 50,
      "started_at": "2026-04-30 05:21:54",
      "origin": "account owner",
      "source_ip": "192.0.2.215",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 21,
      "prompt_window_s": 42,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 52,
      "user_id": 14,
      "started_at": "2026-03-02 08:00:20",
      "origin": "account owner",
      "source_ip": "198.51.100.181",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 30,
      "prompt_window_s": 30,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 53,
      "user_id": 46,
      "started_at": "2026-03-19 23:56:14",
      "origin": "account owner",
      "source_ip": "198.51.100.197",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 19,
      "prompt_window_s": 38,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 54,
      "user_id": 3,
      "started_at": "2026-03-10 17:55:13",
      "origin": "account owner",
      "source_ip": "198.51.100.63",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 67,
      "prompt_window_s": 134,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 55,
      "user_id": 9,
      "started_at": "2026-01-31 15:24:25",
      "origin": "account owner",
      "source_ip": "203.0.113.174",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 64,
      "prompt_window_s": 128,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 56,
      "user_id": 37,
      "started_at": "2026-03-15 15:49:27",
      "origin": "account owner",
      "source_ip": "192.0.2.211",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 59,
      "prompt_window_s": 118,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 57,
      "user_id": 14,
      "started_at": "2026-03-08 18:05:08",
      "origin": "account owner",
      "source_ip": "192.0.2.1",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 79,
      "prompt_window_s": 79,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 58,
      "user_id": 25,
      "started_at": "2026-05-05 19:43:12",
      "origin": "account owner",
      "source_ip": "198.51.100.252",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 50,
      "prompt_window_s": 100,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 59,
      "user_id": 36,
      "started_at": "2026-01-24 16:41:48",
      "origin": "account owner",
      "source_ip": "192.0.2.16",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 45,
      "prompt_window_s": 45,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 60,
      "user_id": 49,
      "started_at": "2026-02-05 03:06:21",
      "origin": "account owner",
      "source_ip": "198.51.100.4",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 65,
      "prompt_window_s": 130,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 61,
      "user_id": 19,
      "started_at": "2026-02-01 23:23:16",
      "origin": "account owner",
      "source_ip": "198.51.100.241",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 60,
      "prompt_window_s": 120,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 62,
      "user_id": 17,
      "started_at": "2026-01-09 23:47:48",
      "origin": "account owner",
      "source_ip": "203.0.113.141",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 36,
      "prompt_window_s": 36,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 63,
      "user_id": 5,
      "started_at": "2026-02-18 12:54:47",
      "origin": "account owner",
      "source_ip": "203.0.113.55",
      "client": "VPN client",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 43,
      "prompt_window_s": 43,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 64,
      "user_id": 48,
      "started_at": "2026-01-18 15:30:08",
      "origin": "account owner",
      "source_ip": "192.0.2.187",
      "client": "VPN client",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 82,
      "prompt_window_s": 82,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 65,
      "user_id": 25,
      "started_at": "2026-05-12 14:10:51",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.67",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": 3,
      "prompts_sent": 5,
      "seconds_between_prompts": 29,
      "prompt_window_s": 145,
      "owner_result": null,
      "attack_result": "locked out at prompt limit"
    },
    {
      "id": 66,
      "user_id": 7,
      "started_at": "2026-03-26 08:13:12",
      "origin": "account owner",
      "source_ip": "203.0.113.79",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 64,
      "prompt_window_s": 64,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 67,
      "user_id": 24,
      "started_at": "2026-01-12 18:55:13",
      "origin": "account owner",
      "source_ip": "192.0.2.129",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 82,
      "prompt_window_s": 164,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 68,
      "user_id": 29,
      "started_at": "2026-02-12 10:02:39",
      "origin": "account owner",
      "source_ip": "203.0.113.24",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 85,
      "prompt_window_s": 170,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 69,
      "user_id": 48,
      "started_at": "2026-01-19 15:46:47",
      "origin": "account owner",
      "source_ip": "192.0.2.40",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 62,
      "prompt_window_s": 62,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 70,
      "user_id": 31,
      "started_at": "2026-02-12 22:00:13",
      "origin": "account owner",
      "source_ip": "203.0.113.87",
      "client": "VPN client",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 80,
      "prompt_window_s": 80,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 71,
      "user_id": 9,
      "started_at": "2026-02-07 02:36:06",
      "origin": "account owner",
      "source_ip": "198.51.100.82",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 67,
      "prompt_window_s": 134,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 72,
      "user_id": 37,
      "started_at": "2026-03-17 09:00:35",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.238",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": 3,
      "prompts_sent": 4,
      "seconds_between_prompts": 37,
      "prompt_window_s": 148,
      "owner_result": null,
      "attack_result": "locked out at prompt limit"
    },
    {
      "id": 73,
      "user_id": 39,
      "started_at": "2026-04-20 23:21:15",
      "origin": "account owner",
      "source_ip": "203.0.113.111",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 67,
      "prompt_window_s": 134,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 74,
      "user_id": 9,
      "started_at": "2026-02-10 13:51:23",
      "origin": "account owner",
      "source_ip": "192.0.2.6",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 21,
      "prompt_window_s": 21,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 75,
      "user_id": 47,
      "started_at": "2026-05-01 19:04:46",
      "origin": "account owner",
      "source_ip": "192.0.2.180",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 39,
      "prompt_window_s": 39,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 76,
      "user_id": 35,
      "started_at": "2026-03-28 23:26:06",
      "origin": "account owner",
      "source_ip": "198.51.100.57",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 48,
      "prompt_window_s": 96,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 77,
      "user_id": 28,
      "started_at": "2026-04-09 12:54:08",
      "origin": "account owner",
      "source_ip": "198.51.100.34",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 33,
      "prompt_window_s": 33,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 78,
      "user_id": 36,
      "started_at": "2026-01-30 15:49:29",
      "origin": "account owner",
      "source_ip": "192.0.2.245",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 88,
      "prompt_window_s": 176,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 79,
      "user_id": 20,
      "started_at": "2026-01-25 10:16:39",
      "origin": "account owner",
      "source_ip": "192.0.2.89",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 17,
      "prompt_window_s": 17,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 80,
      "user_id": 5,
      "started_at": "2026-02-21 07:33:51",
      "origin": "account owner",
      "source_ip": "203.0.113.217",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 88,
      "prompt_window_s": 88,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 81,
      "user_id": 25,
      "started_at": "2026-05-16 13:59:09",
      "origin": "account owner",
      "source_ip": "198.51.100.207",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 44,
      "prompt_window_s": 88,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 82,
      "user_id": 12,
      "started_at": "2026-03-06 00:37:42",
      "origin": "account owner",
      "source_ip": "203.0.113.9",
      "client": "VPN client",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 58,
      "prompt_window_s": 58,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 83,
      "user_id": 48,
      "started_at": "2026-01-24 22:27:06",
      "origin": "account owner",
      "source_ip": "203.0.113.17",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 43,
      "prompt_window_s": 86,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 84,
      "user_id": 9,
      "started_at": "2026-02-15 08:13:21",
      "origin": "account owner",
      "source_ip": "203.0.113.228",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 83,
      "prompt_window_s": 166,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 85,
      "user_id": 13,
      "started_at": "2026-03-18 23:37:40",
      "origin": "account owner",
      "source_ip": "203.0.113.96",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 89,
      "prompt_window_s": 89,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 86,
      "user_id": 31,
      "started_at": "2026-02-15 02:56:34",
      "origin": "account owner",
      "source_ip": "198.51.100.200",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 81,
      "prompt_window_s": 81,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 87,
      "user_id": 9,
      "started_at": "2026-02-16 18:21:47",
      "origin": "account owner",
      "source_ip": "198.51.100.239",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 87,
      "prompt_window_s": 87,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 88,
      "user_id": 48,
      "started_at": "2026-01-28 10:17:53",
      "origin": "attacker with stolen password",
      "source_ip": "203.0.113.226",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": 22,
      "prompts_sent": 24,
      "seconds_between_prompts": 52,
      "prompt_window_s": 1248,
      "owner_result": null,
      "attack_result": "denied every prompt"
    },
    {
      "id": 89,
      "user_id": 35,
      "started_at": "2026-04-04 07:49:05",
      "origin": "account owner",
      "source_ip": "192.0.2.217",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 81,
      "prompt_window_s": 81,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 90,
      "user_id": 2,
      "started_at": "2026-05-06 06:50:10",
      "origin": "account owner",
      "source_ip": "198.51.100.213",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 75,
      "prompt_window_s": 75,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 91,
      "user_id": 20,
      "started_at": "2026-01-30 21:52:44",
      "origin": "account owner",
      "source_ip": "192.0.2.12",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 71,
      "prompt_window_s": 142,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 92,
      "user_id": 40,
      "started_at": "2026-03-20 17:36:05",
      "origin": "account owner",
      "source_ip": "192.0.2.146",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 64,
      "prompt_window_s": 64,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 93,
      "user_id": 34,
      "started_at": "2026-01-23 01:12:09",
      "origin": "account owner",
      "source_ip": "203.0.113.187",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 32,
      "prompt_window_s": 64,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 94,
      "user_id": 4,
      "started_at": "2026-04-26 08:31:11",
      "origin": "account owner",
      "source_ip": "198.51.100.210",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 69,
      "prompt_window_s": 138,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 95,
      "user_id": 43,
      "started_at": "2026-01-14 20:16:50",
      "origin": "account owner",
      "source_ip": "203.0.113.219",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 35,
      "prompt_window_s": 35,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 96,
      "user_id": 7,
      "started_at": "2026-03-29 18:38:08",
      "origin": "account owner",
      "source_ip": "198.51.100.216",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 67,
      "prompt_window_s": 67,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 97,
      "user_id": 38,
      "started_at": "2026-05-03 23:34:33",
      "origin": "account owner",
      "source_ip": "198.51.100.226",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 51,
      "prompt_window_s": 102,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 98,
      "user_id": 40,
      "started_at": "2026-03-22 05:00:28",
      "origin": "account owner",
      "source_ip": "192.0.2.215",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 72,
      "prompt_window_s": 72,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 99,
      "user_id": 25,
      "started_at": "2026-05-20 00:38:21",
      "origin": "account owner",
      "source_ip": "198.51.100.137",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 16,
      "prompt_window_s": 16,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 100,
      "user_id": 39,
      "started_at": "2026-04-26 09:36:32",
      "origin": "account owner",
      "source_ip": "198.51.100.24",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 48,
      "prompt_window_s": 96,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 101,
      "user_id": 34,
      "started_at": "2026-01-24 23:13:01",
      "origin": "account owner",
      "source_ip": "192.0.2.13",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 35,
      "prompt_window_s": 35,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 102,
      "user_id": 26,
      "started_at": "2026-03-09 01:29:37",
      "origin": "account owner",
      "source_ip": "192.0.2.203",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 17,
      "prompt_window_s": 34,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 103,
      "user_id": 35,
      "started_at": "2026-04-10 05:44:30",
      "origin": "account owner",
      "source_ip": "198.51.100.168",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 37,
      "prompt_window_s": 37,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 104,
      "user_id": 40,
      "started_at": "2026-03-24 11:10:55",
      "origin": "account owner",
      "source_ip": "192.0.2.118",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 21,
      "prompt_window_s": 42,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 105,
      "user_id": 20,
      "started_at": "2026-02-04 16:08:00",
      "origin": "account owner",
      "source_ip": "192.0.2.100",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 58,
      "prompt_window_s": 58,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 106,
      "user_id": 7,
      "started_at": "2026-04-01 03:50:36",
      "origin": "account owner",
      "source_ip": "192.0.2.55",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 87,
      "prompt_window_s": 174,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 107,
      "user_id": 1,
      "started_at": "2026-04-20 20:57:27",
      "origin": "account owner",
      "source_ip": "192.0.2.232",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 61,
      "prompt_window_s": 122,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 108,
      "user_id": 1,
      "started_at": "2026-04-26 04:04:53",
      "origin": "account owner",
      "source_ip": "203.0.113.213",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 57,
      "prompt_window_s": 57,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 109,
      "user_id": 13,
      "started_at": "2026-03-24 14:48:19",
      "origin": "account owner",
      "source_ip": "198.51.100.105",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 49,
      "prompt_window_s": 98,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 110,
      "user_id": 2,
      "started_at": "2026-05-08 17:25:00",
      "origin": "account owner",
      "source_ip": "198.51.100.36",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 83,
      "prompt_window_s": 83,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 111,
      "user_id": 13,
      "started_at": "2026-03-27 06:06:43",
      "origin": "account owner",
      "source_ip": "198.51.100.12",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 37,
      "prompt_window_s": 74,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 112,
      "user_id": 41,
      "started_at": "2026-01-26 15:20:56",
      "origin": "account owner",
      "source_ip": "203.0.113.54",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 31,
      "prompt_window_s": 31,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 113,
      "user_id": 39,
      "started_at": "2026-04-29 01:58:58",
      "origin": "account owner",
      "source_ip": "192.0.2.92",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 44,
      "prompt_window_s": 88,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 114,
      "user_id": 17,
      "started_at": "2026-01-13 18:18:27",
      "origin": "account owner",
      "source_ip": "203.0.113.173",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 57,
      "prompt_window_s": 114,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 115,
      "user_id": 1,
      "started_at": "2026-04-29 23:03:41",
      "origin": "account owner",
      "source_ip": "203.0.113.174",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 70,
      "prompt_window_s": 140,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 116,
      "user_id": 41,
      "started_at": "2026-02-01 06:24:21",
      "origin": "account owner",
      "source_ip": "198.51.100.51",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 66,
      "prompt_window_s": 132,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 117,
      "user_id": 39,
      "started_at": "2026-05-06 01:18:39",
      "origin": "account owner",
      "source_ip": "203.0.113.141",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 80,
      "prompt_window_s": 80,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 118,
      "user_id": 48,
      "started_at": "2026-02-01 12:29:39",
      "origin": "account owner",
      "source_ip": "198.51.100.243",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 29,
      "prompt_window_s": 29,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 119,
      "user_id": 12,
      "started_at": "2026-03-08 06:18:39",
      "origin": "account owner",
      "source_ip": "203.0.113.199",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 52,
      "prompt_window_s": 104,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 120,
      "user_id": 16,
      "started_at": "2026-01-31 06:22:12",
      "origin": "attacker with stolen password",
      "source_ip": "203.0.113.38",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": 12,
      "prompts_sent": 13,
      "seconds_between_prompts": 41,
      "prompt_window_s": 533,
      "owner_result": null,
      "attack_result": "attacker gave up"
    },
    {
      "id": 121,
      "user_id": 35,
      "started_at": "2026-04-16 07:28:43",
      "origin": "attacker with stolen password",
      "source_ip": "203.0.113.165",
      "client": "VPN client",
      "base_prompts": 1,
      "extra_prompts": 27,
      "prompts_sent": 28,
      "seconds_between_prompts": 54,
      "prompt_window_s": 1512,
      "owner_result": null,
      "attack_result": "reported as fraud"
    },
    {
      "id": 122,
      "user_id": 20,
      "started_at": "2026-02-08 08:39:38",
      "origin": "account owner",
      "source_ip": "203.0.113.112",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 77,
      "prompt_window_s": 154,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 123,
      "user_id": 8,
      "started_at": "2026-04-15 21:51:19",
      "origin": "account owner",
      "source_ip": "198.51.100.132",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 52,
      "prompt_window_s": 52,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 124,
      "user_id": 35,
      "started_at": "2026-04-20 16:18:37",
      "origin": "account owner",
      "source_ip": "203.0.113.38",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 64,
      "prompt_window_s": 64,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 125,
      "user_id": 50,
      "started_at": "2026-05-03 08:23:27",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.186",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": 4,
      "prompts_sent": 6,
      "seconds_between_prompts": 37,
      "prompt_window_s": 222,
      "owner_result": null,
      "attack_result": "attacker gave up"
    },
    {
      "id": 126,
      "user_id": 43,
      "started_at": "2026-01-21 04:47:13",
      "origin": "account owner",
      "source_ip": "203.0.113.172",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 52,
      "prompt_window_s": 104,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 127,
      "user_id": 38,
      "started_at": "2026-05-10 16:34:04",
      "origin": "attacker with stolen password",
      "source_ip": "192.0.2.70",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": 22,
      "prompts_sent": 24,
      "seconds_between_prompts": 51,
      "prompt_window_s": 1224,
      "owner_result": null,
      "attack_result": "denied every prompt"
    },
    {
      "id": 128,
      "user_id": 42,
      "started_at": "2026-02-28 18:14:48",
      "origin": "account owner",
      "source_ip": "203.0.113.232",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 90,
      "prompt_window_s": 180,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 129,
      "user_id": 10,
      "started_at": "2026-02-05 14:24:33",
      "origin": "account owner",
      "source_ip": "198.51.100.207",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 86,
      "prompt_window_s": 172,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 130,
      "user_id": 28,
      "started_at": "2026-04-14 15:25:08",
      "origin": "account owner",
      "source_ip": "198.51.100.117",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 29,
      "prompt_window_s": 29,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 131,
      "user_id": 2,
      "started_at": "2026-05-14 01:20:24",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.106",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": 20,
      "prompts_sent": 22,
      "seconds_between_prompts": 57,
      "prompt_window_s": 1254,
      "owner_result": null,
      "attack_result": "attacker gave up"
    },
    {
      "id": 132,
      "user_id": 35,
      "started_at": "2026-04-23 13:54:21",
      "origin": "account owner",
      "source_ip": "198.51.100.120",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 21,
      "prompt_window_s": 21,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 133,
      "user_id": 40,
      "started_at": "2026-03-29 16:12:44",
      "origin": "account owner",
      "source_ip": "192.0.2.216",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 28,
      "prompt_window_s": 56,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 134,
      "user_id": 14,
      "started_at": "2026-03-15 05:43:50",
      "origin": "account owner",
      "source_ip": "198.51.100.74",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 60,
      "prompt_window_s": 120,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 135,
      "user_id": 38,
      "started_at": "2026-05-15 12:50:20",
      "origin": "account owner",
      "source_ip": "203.0.113.83",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 15,
      "prompt_window_s": 30,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 136,
      "user_id": 25,
      "started_at": "2026-05-24 06:16:10",
      "origin": "account owner",
      "source_ip": "198.51.100.111",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 62,
      "prompt_window_s": 124,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 137,
      "user_id": 43,
      "started_at": "2026-01-24 20:56:31",
      "origin": "account owner",
      "source_ip": "203.0.113.130",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 73,
      "prompt_window_s": 146,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 138,
      "user_id": 47,
      "started_at": "2026-05-04 20:42:02",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.20",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": 18,
      "prompts_sent": 20,
      "seconds_between_prompts": 39,
      "prompt_window_s": 780,
      "owner_result": null,
      "attack_result": "denied every prompt"
    },
    {
      "id": 139,
      "user_id": 16,
      "started_at": "2026-02-02 17:46:21",
      "origin": "account owner",
      "source_ip": "198.51.100.250",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 46,
      "prompt_window_s": 46,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 140,
      "user_id": 46,
      "started_at": "2026-03-24 08:36:59",
      "origin": "account owner",
      "source_ip": "203.0.113.6",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 49,
      "prompt_window_s": 98,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 141,
      "user_id": 31,
      "started_at": "2026-02-20 22:27:51",
      "origin": "attacker with stolen password",
      "source_ip": "192.0.2.54",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": 9,
      "prompts_sent": 10,
      "seconds_between_prompts": 78,
      "prompt_window_s": 780,
      "owner_result": null,
      "attack_result": "locked out at prompt limit"
    },
    {
      "id": 142,
      "user_id": 3,
      "started_at": "2026-03-16 18:30:19",
      "origin": "attacker with stolen password",
      "source_ip": "192.0.2.35",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": 4,
      "prompts_sent": 6,
      "seconds_between_prompts": 70,
      "prompt_window_s": 420,
      "owner_result": null,
      "attack_result": "locked out at prompt limit"
    },
    {
      "id": 143,
      "user_id": 6,
      "started_at": "2026-01-15 21:45:41",
      "origin": "attacker with stolen password",
      "source_ip": "203.0.113.233",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": 30,
      "prompts_sent": 31,
      "seconds_between_prompts": 57,
      "prompt_window_s": 1767,
      "owner_result": null,
      "attack_result": "reported as fraud"
    },
    {
      "id": 144,
      "user_id": 40,
      "started_at": "2026-04-03 17:53:49",
      "origin": "account owner",
      "source_ip": "203.0.113.218",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 47,
      "prompt_window_s": 94,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 145,
      "user_id": 23,
      "started_at": "2026-03-11 23:40:58",
      "origin": "account owner",
      "source_ip": "203.0.113.76",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 32,
      "prompt_window_s": 32,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 146,
      "user_id": 38,
      "started_at": "2026-05-18 12:10:52",
      "origin": "account owner",
      "source_ip": "203.0.113.101",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 86,
      "prompt_window_s": 172,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 147,
      "user_id": 32,
      "started_at": "2026-02-12 03:04:54",
      "origin": "account owner",
      "source_ip": "203.0.113.31",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 40,
      "prompt_window_s": 40,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 148,
      "user_id": 40,
      "started_at": "2026-04-05 06:54:34",
      "origin": "account owner",
      "source_ip": "192.0.2.178",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 37,
      "prompt_window_s": 74,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 149,
      "user_id": 18,
      "started_at": "2026-02-09 04:37:57",
      "origin": "account owner",
      "source_ip": "198.51.100.201",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 85,
      "prompt_window_s": 170,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 150,
      "user_id": 35,
      "started_at": "2026-04-26 18:01:41",
      "origin": "attacker with stolen password",
      "source_ip": "192.0.2.168",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": 7,
      "prompts_sent": 9,
      "seconds_between_prompts": 42,
      "prompt_window_s": 378,
      "owner_result": null,
      "attack_result": "locked out at prompt limit"
    },
    {
      "id": 151,
      "user_id": 15,
      "started_at": "2026-04-02 00:43:39",
      "origin": "account owner",
      "source_ip": "198.51.100.46",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 36,
      "prompt_window_s": 72,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 152,
      "user_id": 27,
      "started_at": "2026-02-10 20:39:03",
      "origin": "account owner",
      "source_ip": "198.51.100.95",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 68,
      "prompt_window_s": 136,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 153,
      "user_id": 45,
      "started_at": "2026-04-24 02:43:41",
      "origin": "account owner",
      "source_ip": "198.51.100.116",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 42,
      "prompt_window_s": 84,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 154,
      "user_id": 13,
      "started_at": "2026-03-30 05:32:25",
      "origin": "account owner",
      "source_ip": "192.0.2.32",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 74,
      "prompt_window_s": 74,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 155,
      "user_id": 12,
      "started_at": "2026-03-13 11:00:19",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.144",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": 23,
      "prompts_sent": 25,
      "seconds_between_prompts": 57,
      "prompt_window_s": 1425,
      "owner_result": null,
      "attack_result": "locked out at prompt limit"
    },
    {
      "id": 156,
      "user_id": 16,
      "started_at": "2026-02-05 06:20:39",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.65",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": 24,
      "prompts_sent": 26,
      "seconds_between_prompts": 58,
      "prompt_window_s": 1508,
      "owner_result": null,
      "attack_result": "reported as fraud"
    },
    {
      "id": 157,
      "user_id": 22,
      "started_at": "2026-03-18 15:09:37",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.69",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": 15,
      "prompts_sent": 17,
      "seconds_between_prompts": 26,
      "prompt_window_s": 442,
      "owner_result": null,
      "attack_result": "denied every prompt"
    },
    {
      "id": 158,
      "user_id": 7,
      "started_at": "2026-04-03 11:00:06",
      "origin": "account owner",
      "source_ip": "192.0.2.139",
      "client": "VPN client",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 86,
      "prompt_window_s": 86,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 159,
      "user_id": 46,
      "started_at": "2026-03-26 05:39:55",
      "origin": "account owner",
      "source_ip": "198.51.100.200",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 47,
      "prompt_window_s": 94,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 160,
      "user_id": 17,
      "started_at": "2026-01-19 12:32:07",
      "origin": "account owner",
      "source_ip": "203.0.113.24",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 78,
      "prompt_window_s": 156,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 161,
      "user_id": 46,
      "started_at": "2026-03-31 17:48:10",
      "origin": "account owner",
      "source_ip": "203.0.113.15",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 77,
      "prompt_window_s": 154,
      "owner_result": "denied by mistake",
      "attack_result": null
    },
    {
      "id": 162,
      "user_id": 9,
      "started_at": "2026-02-21 05:15:28",
      "origin": "attacker with stolen password",
      "source_ip": "192.0.2.251",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": 23,
      "prompts_sent": 25,
      "seconds_between_prompts": 88,
      "prompt_window_s": 2200,
      "owner_result": null,
      "attack_result": "denied every prompt"
    },
    {
      "id": 163,
      "user_id": 36,
      "started_at": "2026-02-03 19:57:40",
      "origin": "account owner",
      "source_ip": "198.51.100.130",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 65,
      "prompt_window_s": 65,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 164,
      "user_id": 5,
      "started_at": "2026-02-23 14:31:50",
      "origin": "account owner",
      "source_ip": "198.51.100.176",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 78,
      "prompt_window_s": 78,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 165,
      "user_id": 36,
      "started_at": "2026-02-05 00:36:15",
      "origin": "account owner",
      "source_ip": "192.0.2.61",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 84,
      "prompt_window_s": 168,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 166,
      "user_id": 2,
      "started_at": "2026-05-15 08:29:26",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.98",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": 27,
      "prompts_sent": 29,
      "seconds_between_prompts": 30,
      "prompt_window_s": 870,
      "owner_result": null,
      "attack_result": "denied every prompt"
    },
    {
      "id": 167,
      "user_id": 4,
      "started_at": "2026-05-01 08:49:31",
      "origin": "account owner",
      "source_ip": "203.0.113.201",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 83,
      "prompt_window_s": 166,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 168,
      "user_id": 45,
      "started_at": "2026-04-26 23:18:45",
      "origin": "account owner",
      "source_ip": "198.51.100.232",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 18,
      "prompt_window_s": 36,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 169,
      "user_id": 14,
      "started_at": "2026-03-21 22:30:14",
      "origin": "account owner",
      "source_ip": "198.51.100.127",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 34,
      "prompt_window_s": 34,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 170,
      "user_id": 19,
      "started_at": "2026-02-03 22:14:17",
      "origin": "account owner",
      "source_ip": "192.0.2.145",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 87,
      "prompt_window_s": 174,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 171,
      "user_id": 38,
      "started_at": "2026-05-24 04:05:38",
      "origin": "account owner",
      "source_ip": "198.51.100.13",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 28,
      "prompt_window_s": 28,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 172,
      "user_id": 37,
      "started_at": "2026-03-21 16:02:37",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.170",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": 29,
      "prompts_sent": 31,
      "seconds_between_prompts": 48,
      "prompt_window_s": 1488,
      "owner_result": null,
      "attack_result": "locked out at prompt limit"
    },
    {
      "id": 173,
      "user_id": 37,
      "started_at": "2026-03-25 11:33:57",
      "origin": "account owner",
      "source_ip": "198.51.100.241",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 75,
      "prompt_window_s": 150,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 174,
      "user_id": 8,
      "started_at": "2026-04-20 08:44:54",
      "origin": "account owner",
      "source_ip": "198.51.100.142",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 31,
      "prompt_window_s": 62,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 175,
      "user_id": 11,
      "started_at": "2026-04-09 08:04:03",
      "origin": "account owner",
      "source_ip": "198.51.100.8",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 81,
      "prompt_window_s": 162,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 176,
      "user_id": 36,
      "started_at": "2026-02-10 07:48:11",
      "origin": "account owner",
      "source_ip": "198.51.100.218",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 76,
      "prompt_window_s": 152,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 177,
      "user_id": 47,
      "started_at": "2026-05-11 14:37:09",
      "origin": "account owner",
      "source_ip": "198.51.100.164",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 22,
      "prompt_window_s": 22,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 178,
      "user_id": 21,
      "started_at": "2026-03-20 11:28:20",
      "origin": "account owner",
      "source_ip": "203.0.113.64",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 53,
      "prompt_window_s": 106,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 179,
      "user_id": 40,
      "started_at": "2026-04-08 00:44:26",
      "origin": "attacker with stolen password",
      "source_ip": "192.0.2.16",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": 20,
      "prompts_sent": 22,
      "seconds_between_prompts": 79,
      "prompt_window_s": 1738,
      "owner_result": null,
      "attack_result": "reported as fraud"
    },
    {
      "id": 180,
      "user_id": 20,
      "started_at": "2026-02-11 16:14:40",
      "origin": "account owner",
      "source_ip": "192.0.2.7",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 59,
      "prompt_window_s": 59,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 181,
      "user_id": 3,
      "started_at": "2026-03-19 15:34:41",
      "origin": "account owner",
      "source_ip": "203.0.113.159",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 53,
      "prompt_window_s": 53,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 182,
      "user_id": 26,
      "started_at": "2026-03-13 04:28:39",
      "origin": "account owner",
      "source_ip": "203.0.113.20",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 69,
      "prompt_window_s": 138,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 183,
      "user_id": 49,
      "started_at": "2026-02-11 22:34:09",
      "origin": "attacker with stolen password",
      "source_ip": "192.0.2.204",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": 14,
      "prompts_sent": 16,
      "seconds_between_prompts": 65,
      "prompt_window_s": 1040,
      "owner_result": null,
      "attack_result": "denied every prompt"
    },
    {
      "id": 184,
      "user_id": 48,
      "started_at": "2026-02-05 17:47:15",
      "origin": "account owner",
      "source_ip": "198.51.100.58",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 18,
      "prompt_window_s": 36,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 185,
      "user_id": 3,
      "started_at": "2026-03-26 10:51:51",
      "origin": "attacker with stolen password",
      "source_ip": "203.0.113.92",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": 7,
      "prompts_sent": 9,
      "seconds_between_prompts": 32,
      "prompt_window_s": 288,
      "owner_result": null,
      "attack_result": "approved under fatigue"
    },
    {
      "id": 186,
      "user_id": 17,
      "started_at": "2026-01-22 01:46:28",
      "origin": "attacker with stolen password",
      "source_ip": "203.0.113.52",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": 8,
      "prompts_sent": 10,
      "seconds_between_prompts": 36,
      "prompt_window_s": 360,
      "owner_result": null,
      "attack_result": "locked out at prompt limit"
    },
    {
      "id": 187,
      "user_id": 4,
      "started_at": "2026-05-05 09:42:31",
      "origin": "account owner",
      "source_ip": "203.0.113.157",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 72,
      "prompt_window_s": 144,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 188,
      "user_id": 25,
      "started_at": "2026-05-30 19:12:10",
      "origin": "account owner",
      "source_ip": "203.0.113.220",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 42,
      "prompt_window_s": 42,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 189,
      "user_id": 5,
      "started_at": "2026-03-02 00:36:50",
      "origin": "account owner",
      "source_ip": "198.51.100.113",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 59,
      "prompt_window_s": 118,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 190,
      "user_id": 18,
      "started_at": "2026-02-13 21:44:49",
      "origin": "account owner",
      "source_ip": "192.0.2.131",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 75,
      "prompt_window_s": 150,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 191,
      "user_id": 38,
      "started_at": "2026-05-27 16:40:24",
      "origin": "account owner",
      "source_ip": "192.0.2.79",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 36,
      "prompt_window_s": 72,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 192,
      "user_id": 41,
      "started_at": "2026-02-03 15:50:12",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.209",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": 27,
      "prompts_sent": 28,
      "seconds_between_prompts": 49,
      "prompt_window_s": 1372,
      "owner_result": null,
      "attack_result": "denied every prompt"
    },
    {
      "id": 193,
      "user_id": 8,
      "started_at": "2026-04-21 12:04:56",
      "origin": "account owner",
      "source_ip": "198.51.100.87",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 55,
      "prompt_window_s": 55,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 194,
      "user_id": 3,
      "started_at": "2026-03-31 21:15:30",
      "origin": "account owner",
      "source_ip": "203.0.113.145",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 84,
      "prompt_window_s": 84,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 195,
      "user_id": 48,
      "started_at": "2026-02-10 20:51:11",
      "origin": "account owner",
      "source_ip": "198.51.100.1",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 26,
      "prompt_window_s": 52,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 196,
      "user_id": 42,
      "started_at": "2026-03-07 04:49:09",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.134",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": 20,
      "prompts_sent": 21,
      "seconds_between_prompts": 47,
      "prompt_window_s": 987,
      "owner_result": null,
      "attack_result": "denied every prompt"
    },
    {
      "id": 197,
      "user_id": 46,
      "started_at": "2026-04-06 17:05:13",
      "origin": "account owner",
      "source_ip": "198.51.100.125",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 40,
      "prompt_window_s": 80,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 198,
      "user_id": 1,
      "started_at": "2026-05-05 18:04:15",
      "origin": "account owner",
      "source_ip": "192.0.2.181",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 42,
      "prompt_window_s": 42,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 199,
      "user_id": 26,
      "started_at": "2026-03-16 03:05:21",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.164",
      "client": "VPN client",
      "base_prompts": 1,
      "extra_prompts": 5,
      "prompts_sent": 6,
      "seconds_between_prompts": 81,
      "prompt_window_s": 486,
      "owner_result": null,
      "attack_result": "reported as fraud"
    },
    {
      "id": 200,
      "user_id": 16,
      "started_at": "2026-02-11 09:57:52",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.168",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": 9,
      "prompts_sent": 10,
      "seconds_between_prompts": 66,
      "prompt_window_s": 660,
      "owner_result": null,
      "attack_result": "locked out at prompt limit"
    },
    {
      "id": 201,
      "user_id": 30,
      "started_at": "2026-02-26 23:24:18",
      "origin": "attacker with stolen password",
      "source_ip": "203.0.113.177",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": 24,
      "prompts_sent": 25,
      "seconds_between_prompts": 27,
      "prompt_window_s": 675,
      "owner_result": null,
      "attack_result": "locked out at prompt limit"
    },
    {
      "id": 202,
      "user_id": 42,
      "started_at": "2026-03-09 11:12:11",
      "origin": "account owner",
      "source_ip": "203.0.113.31",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 60,
      "prompt_window_s": 120,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 203,
      "user_id": 17,
      "started_at": "2026-01-26 01:14:00",
      "origin": "attacker with stolen password",
      "source_ip": "203.0.113.203",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": 22,
      "prompts_sent": 23,
      "seconds_between_prompts": 50,
      "prompt_window_s": 1150,
      "owner_result": null,
      "attack_result": "denied every prompt"
    },
    {
      "id": 204,
      "user_id": 7,
      "started_at": "2026-04-06 10:30:06",
      "origin": "account owner",
      "source_ip": "192.0.2.222",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 35,
      "prompt_window_s": 35,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 205,
      "user_id": 10,
      "started_at": "2026-02-07 17:46:16",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.134",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": 5,
      "prompts_sent": 7,
      "seconds_between_prompts": 44,
      "prompt_window_s": 308,
      "owner_result": null,
      "attack_result": "attacker gave up"
    },
    {
      "id": 206,
      "user_id": 48,
      "started_at": "2026-02-12 03:29:28",
      "origin": "account owner",
      "source_ip": "203.0.113.54",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 60,
      "prompt_window_s": 60,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 207,
      "user_id": 41,
      "started_at": "2026-02-05 12:19:36",
      "origin": "account owner",
      "source_ip": "198.51.100.252",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 42,
      "prompt_window_s": 42,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 208,
      "user_id": 21,
      "started_at": "2026-03-21 17:53:20",
      "origin": "account owner",
      "source_ip": "198.51.100.134",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 79,
      "prompt_window_s": 79,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 209,
      "user_id": 23,
      "started_at": "2026-03-14 18:26:33",
      "origin": "account owner",
      "source_ip": "203.0.113.98",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 27,
      "prompt_window_s": 27,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 210,
      "user_id": 34,
      "started_at": "2026-01-28 19:14:12",
      "origin": "account owner",
      "source_ip": "203.0.113.60",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 73,
      "prompt_window_s": 73,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 211,
      "user_id": 13,
      "started_at": "2026-04-04 12:46:31",
      "origin": "account owner",
      "source_ip": "203.0.113.95",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 87,
      "prompt_window_s": 174,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 212,
      "user_id": 42,
      "started_at": "2026-03-12 13:34:26",
      "origin": "account owner",
      "source_ip": "198.51.100.98",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 32,
      "prompt_window_s": 64,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 213,
      "user_id": 13,
      "started_at": "2026-04-05 18:01:18",
      "origin": "account owner",
      "source_ip": "192.0.2.187",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 50,
      "prompt_window_s": 50,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 214,
      "user_id": 13,
      "started_at": "2026-04-12 10:01:24",
      "origin": "account owner",
      "source_ip": "203.0.113.211",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 26,
      "prompt_window_s": 26,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 215,
      "user_id": 38,
      "started_at": "2026-06-03 11:43:44",
      "origin": "account owner",
      "source_ip": "192.0.2.117",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 21,
      "prompt_window_s": 42,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 216,
      "user_id": 45,
      "started_at": "2026-04-30 15:57:59",
      "origin": "account owner",
      "source_ip": "192.0.2.160",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 81,
      "prompt_window_s": 81,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 217,
      "user_id": 35,
      "started_at": "2026-04-29 18:38:54",
      "origin": "attacker with stolen password",
      "source_ip": "203.0.113.45",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": 14,
      "prompts_sent": 15,
      "seconds_between_prompts": 37,
      "prompt_window_s": 555,
      "owner_result": null,
      "attack_result": "locked out at prompt limit"
    },
    {
      "id": 218,
      "user_id": 31,
      "started_at": "2026-02-25 01:30:02",
      "origin": "account owner",
      "source_ip": "203.0.113.151",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 33,
      "prompt_window_s": 33,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 219,
      "user_id": 45,
      "started_at": "2026-05-03 13:01:37",
      "origin": "account owner",
      "source_ip": "192.0.2.65",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 20,
      "prompt_window_s": 40,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 220,
      "user_id": 37,
      "started_at": "2026-03-28 06:21:43",
      "origin": "account owner",
      "source_ip": "198.51.100.52",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 73,
      "prompt_window_s": 146,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 221,
      "user_id": 19,
      "started_at": "2026-02-09 06:26:56",
      "origin": "account owner",
      "source_ip": "192.0.2.249",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 42,
      "prompt_window_s": 84,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 222,
      "user_id": 34,
      "started_at": "2026-01-31 00:52:59",
      "origin": "account owner",
      "source_ip": "192.0.2.147",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 49,
      "prompt_window_s": 98,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 223,
      "user_id": 3,
      "started_at": "2026-04-02 01:22:37",
      "origin": "account owner",
      "source_ip": "203.0.113.47",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 69,
      "prompt_window_s": 69,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 224,
      "user_id": 10,
      "started_at": "2026-02-11 22:30:03",
      "origin": "account owner",
      "source_ip": "198.51.100.18",
      "client": "VPN client",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 34,
      "prompt_window_s": 34,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 225,
      "user_id": 35,
      "started_at": "2026-05-01 06:28:18",
      "origin": "account owner",
      "source_ip": "192.0.2.85",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 57,
      "prompt_window_s": 114,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 226,
      "user_id": 11,
      "started_at": "2026-04-15 08:12:38",
      "origin": "account owner",
      "source_ip": "192.0.2.20",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 68,
      "prompt_window_s": 68,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 227,
      "user_id": 41,
      "started_at": "2026-02-11 19:54:40",
      "origin": "account owner",
      "source_ip": "198.51.100.90",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 56,
      "prompt_window_s": 56,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 228,
      "user_id": 29,
      "started_at": "2026-02-14 08:02:11",
      "origin": "account owner",
      "source_ip": "198.51.100.179",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 22,
      "prompt_window_s": 44,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 229,
      "user_id": 36,
      "started_at": "2026-02-14 15:19:43",
      "origin": "account owner",
      "source_ip": "203.0.113.233",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 33,
      "prompt_window_s": 66,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 230,
      "user_id": 8,
      "started_at": "2026-04-22 17:15:57",
      "origin": "account owner",
      "source_ip": "192.0.2.160",
      "client": "VPN client",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 75,
      "prompt_window_s": 75,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 231,
      "user_id": 30,
      "started_at": "2026-03-03 04:10:14",
      "origin": "account owner",
      "source_ip": "203.0.113.90",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 44,
      "prompt_window_s": 88,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 232,
      "user_id": 40,
      "started_at": "2026-04-10 22:26:19",
      "origin": "attacker with stolen password",
      "source_ip": "192.0.2.2",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": 3,
      "prompts_sent": 4,
      "seconds_between_prompts": 19,
      "prompt_window_s": 76,
      "owner_result": null,
      "attack_result": "locked out at prompt limit"
    },
    {
      "id": 233,
      "user_id": 13,
      "started_at": "2026-04-16 05:14:50",
      "origin": "account owner",
      "source_ip": "203.0.113.243",
      "client": "VPN client",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 89,
      "prompt_window_s": 89,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 234,
      "user_id": 24,
      "started_at": "2026-01-16 16:46:57",
      "origin": "account owner",
      "source_ip": "198.51.100.132",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 16,
      "prompt_window_s": 32,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 235,
      "user_id": 12,
      "started_at": "2026-03-14 19:33:50",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.119",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": 4,
      "prompts_sent": 6,
      "seconds_between_prompts": 25,
      "prompt_window_s": 150,
      "owner_result": null,
      "attack_result": "locked out at prompt limit"
    },
    {
      "id": 236,
      "user_id": 19,
      "started_at": "2026-02-10 11:18:51",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.124",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": 4,
      "prompts_sent": 6,
      "seconds_between_prompts": 61,
      "prompt_window_s": 366,
      "owner_result": null,
      "attack_result": "approved under fatigue"
    },
    {
      "id": 237,
      "user_id": 21,
      "started_at": "2026-03-24 11:27:13",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.130",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": 11,
      "prompts_sent": 13,
      "seconds_between_prompts": 57,
      "prompt_window_s": 741,
      "owner_result": null,
      "attack_result": "denied every prompt"
    },
    {
      "id": 238,
      "user_id": 39,
      "started_at": "2026-05-09 00:53:42",
      "origin": "account owner",
      "source_ip": "192.0.2.215",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 39,
      "prompt_window_s": 78,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 239,
      "user_id": 38,
      "started_at": "2026-06-04 13:20:58",
      "origin": "account owner",
      "source_ip": "198.51.100.201",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 31,
      "prompt_window_s": 31,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 240,
      "user_id": 48,
      "started_at": "2026-02-16 02:53:32",
      "origin": "account owner",
      "source_ip": "198.51.100.92",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 80,
      "prompt_window_s": 80,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 241,
      "user_id": 21,
      "started_at": "2026-03-26 05:08:12",
      "origin": "attacker with stolen password",
      "source_ip": "203.0.113.108",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": 4,
      "prompts_sent": 6,
      "seconds_between_prompts": 76,
      "prompt_window_s": 456,
      "owner_result": null,
      "attack_result": "approved under fatigue"
    },
    {
      "id": 242,
      "user_id": 19,
      "started_at": "2026-02-17 02:21:19",
      "origin": "account owner",
      "source_ip": "203.0.113.24",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 44,
      "prompt_window_s": 44,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 243,
      "user_id": 43,
      "started_at": "2026-01-27 13:33:49",
      "origin": "account owner",
      "source_ip": "203.0.113.23",
      "client": "VPN client",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 49,
      "prompt_window_s": 49,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 244,
      "user_id": 19,
      "started_at": "2026-02-20 07:07:51",
      "origin": "attacker with stolen password",
      "source_ip": "192.0.2.226",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": 9,
      "prompts_sent": 10,
      "seconds_between_prompts": 20,
      "prompt_window_s": 200,
      "owner_result": null,
      "attack_result": "approved under fatigue"
    },
    {
      "id": 245,
      "user_id": 20,
      "started_at": "2026-02-13 21:33:43",
      "origin": "account owner",
      "source_ip": "192.0.2.71",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 60,
      "prompt_window_s": 60,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 246,
      "user_id": 27,
      "started_at": "2026-02-14 14:49:52",
      "origin": "account owner",
      "source_ip": "192.0.2.8",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 52,
      "prompt_window_s": 104,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 247,
      "user_id": 7,
      "started_at": "2026-04-12 06:10:03",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.234",
      "client": "VPN client",
      "base_prompts": 1,
      "extra_prompts": 5,
      "prompts_sent": 6,
      "seconds_between_prompts": 81,
      "prompt_window_s": 486,
      "owner_result": null,
      "attack_result": "locked out at prompt limit"
    },
    {
      "id": 248,
      "user_id": 42,
      "started_at": "2026-03-18 16:42:26",
      "origin": "account owner",
      "source_ip": "198.51.100.145",
      "client": "VPN client",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 32,
      "prompt_window_s": 32,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 249,
      "user_id": 50,
      "started_at": "2026-05-04 12:41:21",
      "origin": "account owner",
      "source_ip": "198.51.100.93",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 47,
      "prompt_window_s": 94,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 250,
      "user_id": 11,
      "started_at": "2026-04-16 09:56:34",
      "origin": "account owner",
      "source_ip": "192.0.2.103",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 49,
      "prompt_window_s": 49,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 251,
      "user_id": 22,
      "started_at": "2026-03-24 13:29:22",
      "origin": "account owner",
      "source_ip": "203.0.113.173",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 31,
      "prompt_window_s": 62,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 252,
      "user_id": 20,
      "started_at": "2026-02-15 18:25:52",
      "origin": "account owner",
      "source_ip": "192.0.2.222",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 19,
      "prompt_window_s": 19,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 253,
      "user_id": 39,
      "started_at": "2026-05-10 04:43:33",
      "origin": "account owner",
      "source_ip": "192.0.2.188",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 74,
      "prompt_window_s": 74,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 254,
      "user_id": 22,
      "started_at": "2026-03-26 06:54:52",
      "origin": "account owner",
      "source_ip": "192.0.2.3",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 79,
      "prompt_window_s": 158,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 255,
      "user_id": 4,
      "started_at": "2026-05-07 08:05:44",
      "origin": "account owner",
      "source_ip": "203.0.113.112",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 37,
      "prompt_window_s": 74,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 256,
      "user_id": 12,
      "started_at": "2026-03-21 08:15:20",
      "origin": "account owner",
      "source_ip": "203.0.113.128",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 73,
      "prompt_window_s": 73,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 257,
      "user_id": 22,
      "started_at": "2026-03-31 08:11:56",
      "origin": "account owner",
      "source_ip": "203.0.113.102",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 31,
      "prompt_window_s": 62,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 258,
      "user_id": 39,
      "started_at": "2026-05-14 01:37:06",
      "origin": "account owner",
      "source_ip": "198.51.100.24",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 58,
      "prompt_window_s": 58,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 259,
      "user_id": 41,
      "started_at": "2026-02-13 15:47:22",
      "origin": "attacker with stolen password",
      "source_ip": "192.0.2.93",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": 28,
      "prompts_sent": 30,
      "seconds_between_prompts": 21,
      "prompt_window_s": 630,
      "owner_result": null,
      "attack_result": "denied every prompt"
    },
    {
      "id": 260,
      "user_id": 39,
      "started_at": "2026-05-18 08:26:11",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.123",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": 4,
      "prompts_sent": 5,
      "seconds_between_prompts": 32,
      "prompt_window_s": 160,
      "owner_result": null,
      "attack_result": "attacker gave up"
    },
    {
      "id": 261,
      "user_id": 19,
      "started_at": "2026-02-27 03:29:37",
      "origin": "account owner",
      "source_ip": "198.51.100.164",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 80,
      "prompt_window_s": 160,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 262,
      "user_id": 17,
      "started_at": "2026-01-27 01:33:14",
      "origin": "account owner",
      "source_ip": "192.0.2.75",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 75,
      "prompt_window_s": 150,
      "owner_result": "denied by mistake",
      "attack_result": null
    },
    {
      "id": 263,
      "user_id": 50,
      "started_at": "2026-05-09 19:16:03",
      "origin": "account owner",
      "source_ip": "198.51.100.63",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 84,
      "prompt_window_s": 168,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 264,
      "user_id": 30,
      "started_at": "2026-03-04 14:27:15",
      "origin": "account owner",
      "source_ip": "198.51.100.215",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 70,
      "prompt_window_s": 140,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 265,
      "user_id": 19,
      "started_at": "2026-03-04 13:20:22",
      "origin": "account owner",
      "source_ip": "192.0.2.2",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 56,
      "prompt_window_s": 112,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 266,
      "user_id": 47,
      "started_at": "2026-05-13 22:37:30",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.122",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": 25,
      "prompts_sent": 27,
      "seconds_between_prompts": 27,
      "prompt_window_s": 729,
      "owner_result": null,
      "attack_result": "approved under fatigue"
    },
    {
      "id": 267,
      "user_id": 25,
      "started_at": "2026-06-05 12:47:04",
      "origin": "account owner",
      "source_ip": "203.0.113.216",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 30,
      "prompt_window_s": 30,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 268,
      "user_id": 12,
      "started_at": "2026-03-22 14:02:27",
      "origin": "account owner",
      "source_ip": "192.0.2.108",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 84,
      "prompt_window_s": 84,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 269,
      "user_id": 41,
      "started_at": "2026-02-15 05:08:07",
      "origin": "account owner",
      "source_ip": "192.0.2.223",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 52,
      "prompt_window_s": 52,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 270,
      "user_id": 16,
      "started_at": "2026-02-13 23:11:53",
      "origin": "attacker with stolen password",
      "source_ip": "192.0.2.9",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": 13,
      "prompts_sent": 15,
      "seconds_between_prompts": 78,
      "prompt_window_s": 1170,
      "owner_result": null,
      "attack_result": "locked out at prompt limit"
    },
    {
      "id": 271,
      "user_id": 34,
      "started_at": "2026-02-04 06:20:26",
      "origin": "account owner",
      "source_ip": "203.0.113.99",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 59,
      "prompt_window_s": 59,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 272,
      "user_id": 37,
      "started_at": "2026-03-30 22:23:22",
      "origin": "attacker with stolen password",
      "source_ip": "203.0.113.176",
      "client": "VPN client",
      "base_prompts": 1,
      "extra_prompts": 20,
      "prompts_sent": 21,
      "seconds_between_prompts": 28,
      "prompt_window_s": 588,
      "owner_result": null,
      "attack_result": "denied every prompt"
    },
    {
      "id": 273,
      "user_id": 7,
      "started_at": "2026-04-16 18:00:54",
      "origin": "account owner",
      "source_ip": "203.0.113.93",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 20,
      "prompt_window_s": 40,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 274,
      "user_id": 22,
      "started_at": "2026-04-05 08:04:57",
      "origin": "account owner",
      "source_ip": "192.0.2.171",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 27,
      "prompt_window_s": 54,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 275,
      "user_id": 29,
      "started_at": "2026-02-21 00:11:30",
      "origin": "account owner",
      "source_ip": "198.51.100.241",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 67,
      "prompt_window_s": 134,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 276,
      "user_id": 28,
      "started_at": "2026-04-15 19:40:09",
      "origin": "account owner",
      "source_ip": "198.51.100.107",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 60,
      "prompt_window_s": 120,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 277,
      "user_id": 40,
      "started_at": "2026-04-14 16:06:10",
      "origin": "account owner",
      "source_ip": "203.0.113.156",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 53,
      "prompt_window_s": 53,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 278,
      "user_id": 46,
      "started_at": "2026-04-11 15:03:14",
      "origin": "account owner",
      "source_ip": "198.51.100.117",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 16,
      "prompt_window_s": 16,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 279,
      "user_id": 37,
      "started_at": "2026-04-05 19:39:32",
      "origin": "account owner",
      "source_ip": "198.51.100.44",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 65,
      "prompt_window_s": 130,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 280,
      "user_id": 8,
      "started_at": "2026-04-24 23:48:21",
      "origin": "account owner",
      "source_ip": "192.0.2.211",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 21,
      "prompt_window_s": 42,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 281,
      "user_id": 34,
      "started_at": "2026-02-10 22:34:59",
      "origin": "account owner",
      "source_ip": "192.0.2.94",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 84,
      "prompt_window_s": 84,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 282,
      "user_id": 50,
      "started_at": "2026-05-16 06:22:51",
      "origin": "account owner",
      "source_ip": "192.0.2.246",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 53,
      "prompt_window_s": 53,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 283,
      "user_id": 34,
      "started_at": "2026-02-12 09:43:53",
      "origin": "account owner",
      "source_ip": "203.0.113.54",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 42,
      "prompt_window_s": 42,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 284,
      "user_id": 48,
      "started_at": "2026-02-22 08:11:51",
      "origin": "account owner",
      "source_ip": "192.0.2.113",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 84,
      "prompt_window_s": 168,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 285,
      "user_id": 8,
      "started_at": "2026-04-28 10:53:09",
      "origin": "account owner",
      "source_ip": "198.51.100.25",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 43,
      "prompt_window_s": 86,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 286,
      "user_id": 29,
      "started_at": "2026-02-27 07:07:58",
      "origin": "account owner",
      "source_ip": "203.0.113.127",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 50,
      "prompt_window_s": 50,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 287,
      "user_id": 26,
      "started_at": "2026-03-21 20:58:43",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.139",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": 5,
      "prompts_sent": 6,
      "seconds_between_prompts": 27,
      "prompt_window_s": 162,
      "owner_result": null,
      "attack_result": "reported as fraud"
    },
    {
      "id": 288,
      "user_id": 42,
      "started_at": "2026-03-22 00:22:04",
      "origin": "account owner",
      "source_ip": "198.51.100.57",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 36,
      "prompt_window_s": 36,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 289,
      "user_id": 28,
      "started_at": "2026-04-16 23:01:09",
      "origin": "account owner",
      "source_ip": "203.0.113.65",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 19,
      "prompt_window_s": 38,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 290,
      "user_id": 37,
      "started_at": "2026-04-12 01:10:58",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.231",
      "client": "VPN client",
      "base_prompts": 1,
      "extra_prompts": 16,
      "prompts_sent": 17,
      "seconds_between_prompts": 55,
      "prompt_window_s": 935,
      "owner_result": null,
      "attack_result": "denied every prompt"
    },
    {
      "id": 291,
      "user_id": 26,
      "started_at": "2026-03-26 19:38:51",
      "origin": "account owner",
      "source_ip": "198.51.100.221",
      "client": "VPN client",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 49,
      "prompt_window_s": 49,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 292,
      "user_id": 4,
      "started_at": "2026-05-09 21:51:00",
      "origin": "attacker with stolen password",
      "source_ip": "192.0.2.41",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": 4,
      "prompts_sent": 6,
      "seconds_between_prompts": 53,
      "prompt_window_s": 318,
      "owner_result": null,
      "attack_result": "denied every prompt"
    },
    {
      "id": 293,
      "user_id": 13,
      "started_at": "2026-04-18 02:01:35",
      "origin": "account owner",
      "source_ip": "192.0.2.166",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 84,
      "prompt_window_s": 168,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 294,
      "user_id": 11,
      "started_at": "2026-04-22 23:14:05",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.126",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": 5,
      "prompts_sent": 6,
      "seconds_between_prompts": 75,
      "prompt_window_s": 450,
      "owner_result": null,
      "attack_result": "denied every prompt"
    },
    {
      "id": 295,
      "user_id": 5,
      "started_at": "2026-03-03 08:55:20",
      "origin": "account owner",
      "source_ip": "192.0.2.7",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 45,
      "prompt_window_s": 45,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 296,
      "user_id": 32,
      "started_at": "2026-02-17 08:05:09",
      "origin": "account owner",
      "source_ip": "198.51.100.5",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 55,
      "prompt_window_s": 55,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 297,
      "user_id": 44,
      "started_at": "2026-05-01 14:18:16",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.149",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": 23,
      "prompts_sent": 25,
      "seconds_between_prompts": 46,
      "prompt_window_s": 1150,
      "owner_result": null,
      "attack_result": "attacker gave up"
    },
    {
      "id": 298,
      "user_id": 24,
      "started_at": "2026-01-18 19:08:00",
      "origin": "account owner",
      "source_ip": "203.0.113.241",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 23,
      "prompt_window_s": 23,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 299,
      "user_id": 19,
      "started_at": "2026-03-06 20:49:33",
      "origin": "account owner",
      "source_ip": "192.0.2.221",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 52,
      "prompt_window_s": 104,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 300,
      "user_id": 9,
      "started_at": "2026-02-28 03:23:38",
      "origin": "account owner",
      "source_ip": "198.51.100.14",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 63,
      "prompt_window_s": 63,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 301,
      "user_id": 8,
      "started_at": "2026-05-04 08:10:23",
      "origin": "attacker with stolen password",
      "source_ip": "192.0.2.77",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": 3,
      "prompts_sent": 4,
      "seconds_between_prompts": 87,
      "prompt_window_s": 348,
      "owner_result": null,
      "attack_result": "reported as fraud"
    },
    {
      "id": 302,
      "user_id": 38,
      "started_at": "2026-06-05 23:52:16",
      "origin": "account owner",
      "source_ip": "192.0.2.237",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 44,
      "prompt_window_s": 44,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 303,
      "user_id": 15,
      "started_at": "2026-04-04 14:15:45",
      "origin": "account owner",
      "source_ip": "198.51.100.28",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 88,
      "prompt_window_s": 88,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 304,
      "user_id": 38,
      "started_at": "2026-06-10 21:50:53",
      "origin": "account owner",
      "source_ip": "192.0.2.199",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 78,
      "prompt_window_s": 78,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 305,
      "user_id": 38,
      "started_at": "2026-06-16 00:38:48",
      "origin": "account owner",
      "source_ip": "192.0.2.99",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 61,
      "prompt_window_s": 122,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 306,
      "user_id": 8,
      "started_at": "2026-05-07 21:43:43",
      "origin": "attacker with stolen password",
      "source_ip": "203.0.113.86",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": 8,
      "prompts_sent": 9,
      "seconds_between_prompts": 75,
      "prompt_window_s": 675,
      "owner_result": null,
      "attack_result": "locked out at prompt limit"
    },
    {
      "id": 307,
      "user_id": 42,
      "started_at": "2026-03-27 23:40:33",
      "origin": "account owner",
      "source_ip": "192.0.2.76",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 26,
      "prompt_window_s": 52,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 308,
      "user_id": 45,
      "started_at": "2026-05-09 16:24:14",
      "origin": "account owner",
      "source_ip": "198.51.100.197",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 61,
      "prompt_window_s": 122,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 309,
      "user_id": 46,
      "started_at": "2026-04-16 06:59:52",
      "origin": "account owner",
      "source_ip": "203.0.113.96",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 23,
      "prompt_window_s": 46,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 310,
      "user_id": 4,
      "started_at": "2026-05-15 21:04:46",
      "origin": "account owner",
      "source_ip": "203.0.113.44",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 73,
      "prompt_window_s": 146,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 311,
      "user_id": 30,
      "started_at": "2026-03-07 16:45:27",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.101",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": 7,
      "prompts_sent": 8,
      "seconds_between_prompts": 41,
      "prompt_window_s": 328,
      "owner_result": null,
      "attack_result": "denied every prompt"
    },
    {
      "id": 312,
      "user_id": 18,
      "started_at": "2026-02-17 14:24:20",
      "origin": "account owner",
      "source_ip": "192.0.2.221",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 17,
      "prompt_window_s": 17,
      "owner_result": "denied by mistake",
      "attack_result": null
    },
    {
      "id": 313,
      "user_id": 15,
      "started_at": "2026-04-07 21:41:56",
      "origin": "account owner",
      "source_ip": "198.51.100.236",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 58,
      "prompt_window_s": 116,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 314,
      "user_id": 50,
      "started_at": "2026-05-22 01:01:30",
      "origin": "account owner",
      "source_ip": "192.0.2.151",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 22,
      "prompt_window_s": 22,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 315,
      "user_id": 46,
      "started_at": "2026-04-22 18:03:02",
      "origin": "account owner",
      "source_ip": "198.51.100.245",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 45,
      "prompt_window_s": 90,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 316,
      "user_id": 33,
      "started_at": "2026-04-10 15:56:12",
      "origin": "account owner",
      "source_ip": "203.0.113.89",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 77,
      "prompt_window_s": 77,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 317,
      "user_id": 3,
      "started_at": "2026-04-05 23:29:43",
      "origin": "attacker with stolen password",
      "source_ip": "203.0.113.201",
      "client": "VPN client",
      "base_prompts": 1,
      "extra_prompts": 5,
      "prompts_sent": 6,
      "seconds_between_prompts": 76,
      "prompt_window_s": 456,
      "owner_result": null,
      "attack_result": "reported as fraud"
    },
    {
      "id": 318,
      "user_id": 8,
      "started_at": "2026-05-11 15:16:22",
      "origin": "account owner",
      "source_ip": "198.51.100.148",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 47,
      "prompt_window_s": 94,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 319,
      "user_id": 46,
      "started_at": "2026-04-24 06:58:17",
      "origin": "account owner",
      "source_ip": "203.0.113.84",
      "client": "VPN client",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 82,
      "prompt_window_s": 82,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 320,
      "user_id": 3,
      "started_at": "2026-04-09 18:50:11",
      "origin": "account owner",
      "source_ip": "203.0.113.151",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 89,
      "prompt_window_s": 178,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 321,
      "user_id": 38,
      "started_at": "2026-06-21 15:06:46",
      "origin": "account owner",
      "source_ip": "203.0.113.180",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 89,
      "prompt_window_s": 178,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 322,
      "user_id": 15,
      "started_at": "2026-04-11 20:53:55",
      "origin": "account owner",
      "source_ip": "198.51.100.28",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 66,
      "prompt_window_s": 132,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 323,
      "user_id": 13,
      "started_at": "2026-04-19 06:28:01",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.230",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": 11,
      "prompts_sent": 13,
      "seconds_between_prompts": 26,
      "prompt_window_s": 338,
      "owner_result": null,
      "attack_result": "locked out at prompt limit"
    },
    {
      "id": 324,
      "user_id": 41,
      "started_at": "2026-02-19 16:18:38",
      "origin": "account owner",
      "source_ip": "192.0.2.193",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 29,
      "prompt_window_s": 58,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 325,
      "user_id": 25,
      "started_at": "2026-06-06 16:41:28",
      "origin": "account owner",
      "source_ip": "203.0.113.115",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 74,
      "prompt_window_s": 148,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 326,
      "user_id": 16,
      "started_at": "2026-02-18 05:49:18",
      "origin": "account owner",
      "source_ip": "198.51.100.98",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 40,
      "prompt_window_s": 40,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 327,
      "user_id": 35,
      "started_at": "2026-05-06 04:33:24",
      "origin": "account owner",
      "source_ip": "198.51.100.111",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 76,
      "prompt_window_s": 76,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 328,
      "user_id": 28,
      "started_at": "2026-04-18 02:53:02",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.3",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": 9,
      "prompts_sent": 11,
      "seconds_between_prompts": 55,
      "prompt_window_s": 605,
      "owner_result": null,
      "attack_result": "locked out at prompt limit"
    },
    {
      "id": 329,
      "user_id": 16,
      "started_at": "2026-02-24 04:07:18",
      "origin": "account owner",
      "source_ip": "192.0.2.144",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 27,
      "prompt_window_s": 27,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 330,
      "user_id": 17,
      "started_at": "2026-01-30 00:11:58",
      "origin": "attacker with stolen password",
      "source_ip": "192.0.2.10",
      "client": "VPN client",
      "base_prompts": 1,
      "extra_prompts": 10,
      "prompts_sent": 11,
      "seconds_between_prompts": 40,
      "prompt_window_s": 440,
      "owner_result": null,
      "attack_result": "locked out at prompt limit"
    },
    {
      "id": 331,
      "user_id": 26,
      "started_at": "2026-04-01 10:54:28",
      "origin": "account owner",
      "source_ip": "198.51.100.174",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 54,
      "prompt_window_s": 108,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 332,
      "user_id": 11,
      "started_at": "2026-04-25 16:30:22",
      "origin": "account owner",
      "source_ip": "192.0.2.47",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 51,
      "prompt_window_s": 51,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 333,
      "user_id": 3,
      "started_at": "2026-04-12 23:50:44",
      "origin": "attacker with stolen password",
      "source_ip": "203.0.113.34",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": 29,
      "prompts_sent": 31,
      "seconds_between_prompts": 64,
      "prompt_window_s": 1984,
      "owner_result": null,
      "attack_result": "locked out at prompt limit"
    },
    {
      "id": 334,
      "user_id": 25,
      "started_at": "2026-06-11 10:41:59",
      "origin": "account owner",
      "source_ip": "198.51.100.48",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 33,
      "prompt_window_s": 66,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 335,
      "user_id": 17,
      "started_at": "2026-01-31 04:29:47",
      "origin": "account owner",
      "source_ip": "203.0.113.183",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 71,
      "prompt_window_s": 142,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 336,
      "user_id": 23,
      "started_at": "2026-03-17 09:04:52",
      "origin": "account owner",
      "source_ip": "203.0.113.126",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 80,
      "prompt_window_s": 80,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 337,
      "user_id": 7,
      "started_at": "2026-04-22 18:15:20",
      "origin": "account owner",
      "source_ip": "198.51.100.38",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 56,
      "prompt_window_s": 112,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 338,
      "user_id": 18,
      "started_at": "2026-02-20 09:14:49",
      "origin": "account owner",
      "source_ip": "203.0.113.124",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 81,
      "prompt_window_s": 81,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 339,
      "user_id": 6,
      "started_at": "2026-01-20 19:44:51",
      "origin": "account owner",
      "source_ip": "192.0.2.138",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 56,
      "prompt_window_s": 56,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 340,
      "user_id": 47,
      "started_at": "2026-05-20 16:04:47",
      "origin": "account owner",
      "source_ip": "198.51.100.5",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 63,
      "prompt_window_s": 63,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 341,
      "user_id": 41,
      "started_at": "2026-02-25 07:43:17",
      "origin": "account owner",
      "source_ip": "198.51.100.60",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 79,
      "prompt_window_s": 79,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 342,
      "user_id": 12,
      "started_at": "2026-03-27 04:53:24",
      "origin": "attacker with stolen password",
      "source_ip": "192.0.2.83",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": 6,
      "prompts_sent": 8,
      "seconds_between_prompts": 66,
      "prompt_window_s": 528,
      "owner_result": null,
      "attack_result": "approved under fatigue"
    },
    {
      "id": 343,
      "user_id": 30,
      "started_at": "2026-03-08 23:32:10",
      "origin": "account owner",
      "source_ip": "198.51.100.71",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 49,
      "prompt_window_s": 98,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 344,
      "user_id": 30,
      "started_at": "2026-03-10 19:44:41",
      "origin": "account owner",
      "source_ip": "198.51.100.44",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 31,
      "prompt_window_s": 31,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 345,
      "user_id": 36,
      "started_at": "2026-02-16 12:37:56",
      "origin": "account owner",
      "source_ip": "203.0.113.129",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 71,
      "prompt_window_s": 71,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 346,
      "user_id": 14,
      "started_at": "2026-03-24 22:54:58",
      "origin": "account owner",
      "source_ip": "203.0.113.12",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 34,
      "prompt_window_s": 68,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 347,
      "user_id": 40,
      "started_at": "2026-04-18 19:08:46",
      "origin": "account owner",
      "source_ip": "198.51.100.216",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 42,
      "prompt_window_s": 84,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 348,
      "user_id": 25,
      "started_at": "2026-06-15 04:17:04",
      "origin": "account owner",
      "source_ip": "192.0.2.248",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 81,
      "prompt_window_s": 81,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 349,
      "user_id": 29,
      "started_at": "2026-03-01 23:27:33",
      "origin": "account owner",
      "source_ip": "192.0.2.254",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 66,
      "prompt_window_s": 132,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 350,
      "user_id": 46,
      "started_at": "2026-04-27 00:44:38",
      "origin": "account owner",
      "source_ip": "203.0.113.222",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 38,
      "prompt_window_s": 76,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 351,
      "user_id": 25,
      "started_at": "2026-06-18 13:20:31",
      "origin": "account owner",
      "source_ip": "192.0.2.137",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 31,
      "prompt_window_s": 62,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 352,
      "user_id": 40,
      "started_at": "2026-04-20 20:51:49",
      "origin": "attacker with stolen password",
      "source_ip": "192.0.2.181",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": 4,
      "prompts_sent": 6,
      "seconds_between_prompts": 74,
      "prompt_window_s": 444,
      "owner_result": null,
      "attack_result": "denied every prompt"
    },
    {
      "id": 353,
      "user_id": 15,
      "started_at": "2026-04-15 01:51:19",
      "origin": "account owner",
      "source_ip": "203.0.113.170",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 53,
      "prompt_window_s": 53,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 354,
      "user_id": 34,
      "started_at": "2026-02-16 01:29:28",
      "origin": "attacker with stolen password",
      "source_ip": "203.0.113.178",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": 11,
      "prompts_sent": 12,
      "seconds_between_prompts": 78,
      "prompt_window_s": 936,
      "owner_result": null,
      "attack_result": "locked out at prompt limit"
    },
    {
      "id": 355,
      "user_id": 39,
      "started_at": "2026-05-23 12:54:38",
      "origin": "account owner",
      "source_ip": "203.0.113.12",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 17,
      "prompt_window_s": 34,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 356,
      "user_id": 30,
      "started_at": "2026-03-12 07:45:15",
      "origin": "account owner",
      "source_ip": "198.51.100.119",
      "client": "VPN client",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 17,
      "prompt_window_s": 17,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 357,
      "user_id": 44,
      "started_at": "2026-05-05 10:22:55",
      "origin": "account owner",
      "source_ip": "192.0.2.58",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 34,
      "prompt_window_s": 34,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 358,
      "user_id": 5,
      "started_at": "2026-03-08 08:35:51",
      "origin": "account owner",
      "source_ip": "203.0.113.228",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 73,
      "prompt_window_s": 73,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 359,
      "user_id": 26,
      "started_at": "2026-04-07 12:46:37",
      "origin": "account owner",
      "source_ip": "198.51.100.219",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 20,
      "prompt_window_s": 40,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 360,
      "user_id": 36,
      "started_at": "2026-02-18 22:30:50",
      "origin": "account owner",
      "source_ip": "192.0.2.134",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 54,
      "prompt_window_s": 54,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 361,
      "user_id": 11,
      "started_at": "2026-04-28 05:46:59",
      "origin": "account owner",
      "source_ip": "192.0.2.24",
      "client": "mobile app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 66,
      "prompt_window_s": 132,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 362,
      "user_id": 41,
      "started_at": "2026-02-28 09:16:17",
      "origin": "account owner",
      "source_ip": "203.0.113.78",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 27,
      "prompt_window_s": 54,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 363,
      "user_id": 29,
      "started_at": "2026-03-05 20:41:06",
      "origin": "account owner",
      "source_ip": "203.0.113.191",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 74,
      "prompt_window_s": 74,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 364,
      "user_id": 8,
      "started_at": "2026-05-15 00:33:24",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.216",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": 3,
      "prompts_sent": 4,
      "seconds_between_prompts": 82,
      "prompt_window_s": 328,
      "owner_result": null,
      "attack_result": "denied every prompt"
    },
    {
      "id": 365,
      "user_id": 50,
      "started_at": "2026-05-25 19:18:15",
      "origin": "account owner",
      "source_ip": "198.51.100.118",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 40,
      "prompt_window_s": 40,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 366,
      "user_id": 40,
      "started_at": "2026-04-25 22:08:46",
      "origin": "attacker with stolen password",
      "source_ip": "192.0.2.92",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": 18,
      "prompts_sent": 20,
      "seconds_between_prompts": 79,
      "prompt_window_s": 1580,
      "owner_result": null,
      "attack_result": "denied every prompt"
    },
    {
      "id": 367,
      "user_id": 17,
      "started_at": "2026-02-02 10:00:00",
      "origin": "account owner",
      "source_ip": "192.0.2.122",
      "client": "VPN client",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 27,
      "prompt_window_s": 54,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 368,
      "user_id": 7,
      "started_at": "2026-04-28 00:41:52",
      "origin": "account owner",
      "source_ip": "203.0.113.185",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 89,
      "prompt_window_s": 178,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 369,
      "user_id": 21,
      "started_at": "2026-04-01 09:30:22",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.137",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": 3,
      "prompts_sent": 4,
      "seconds_between_prompts": 35,
      "prompt_window_s": 140,
      "owner_result": null,
      "attack_result": "attacker gave up"
    },
    {
      "id": 370,
      "user_id": 48,
      "started_at": "2026-02-26 13:49:48",
      "origin": "account owner",
      "source_ip": "192.0.2.183",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 57,
      "prompt_window_s": 114,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 371,
      "user_id": 28,
      "started_at": "2026-04-23 19:00:07",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.193",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": 10,
      "prompts_sent": 11,
      "seconds_between_prompts": 29,
      "prompt_window_s": 319,
      "owner_result": null,
      "attack_result": "approved under fatigue"
    },
    {
      "id": 372,
      "user_id": 42,
      "started_at": "2026-03-31 02:14:59",
      "origin": "attacker with stolen password",
      "source_ip": "198.51.100.122",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": 22,
      "prompts_sent": 23,
      "seconds_between_prompts": 59,
      "prompt_window_s": 1357,
      "owner_result": null,
      "attack_result": "denied every prompt"
    },
    {
      "id": 373,
      "user_id": 13,
      "started_at": "2026-04-26 01:11:30",
      "origin": "account owner",
      "source_ip": "192.0.2.214",
      "client": "VPN client",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 31,
      "prompt_window_s": 31,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 374,
      "user_id": 46,
      "started_at": "2026-05-03 12:11:36",
      "origin": "account owner",
      "source_ip": "203.0.113.73",
      "client": "desktop app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 71,
      "prompt_window_s": 71,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 375,
      "user_id": 18,
      "started_at": "2026-02-25 08:09:11",
      "origin": "account owner",
      "source_ip": "192.0.2.39",
      "client": "desktop app",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 75,
      "prompt_window_s": 150,
      "owner_result": "timed out",
      "attack_result": null
    },
    {
      "id": 376,
      "user_id": 5,
      "started_at": "2026-03-11 13:49:50",
      "origin": "attacker with stolen password",
      "source_ip": "192.0.2.187",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": 12,
      "prompts_sent": 13,
      "seconds_between_prompts": 76,
      "prompt_window_s": 988,
      "owner_result": null,
      "attack_result": "reported as fraud"
    },
    {
      "id": 377,
      "user_id": 39,
      "started_at": "2026-05-29 09:15:28",
      "origin": "account owner",
      "source_ip": "198.51.100.62",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 40,
      "prompt_window_s": 80,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 378,
      "user_id": 43,
      "started_at": "2026-01-29 12:11:09",
      "origin": "account owner",
      "source_ip": "192.0.2.92",
      "client": "mobile app",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 18,
      "prompt_window_s": 18,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 379,
      "user_id": 36,
      "started_at": "2026-02-21 16:11:55",
      "origin": "account owner",
      "source_ip": "192.0.2.69",
      "client": "browser",
      "base_prompts": 2,
      "extra_prompts": null,
      "prompts_sent": 2,
      "seconds_between_prompts": 69,
      "prompt_window_s": 138,
      "owner_result": "approved",
      "attack_result": null
    },
    {
      "id": 380,
      "user_id": 3,
      "started_at": "2026-04-17 04:17:23",
      "origin": "account owner",
      "source_ip": "198.51.100.13",
      "client": "browser",
      "base_prompts": 1,
      "extra_prompts": null,
      "prompts_sent": 1,
      "seconds_between_prompts": 51,
      "prompt_window_s": 51,
      "owner_result": "approved",
      "attack_result": null
    }
  ]
}
