56 Commits

Author SHA1 Message Date
Ronni Skansing c4ed8cfeeb Late scheduling
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2026-04-02 10:55:50 +02:00
Ronni Skansing 69111015b2 fix one off query
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2026-03-30 16:44:05 +02:00
Ronni Skansing 83f9e8f279 add auto remove orphans
fix orphans in dynamic groups not included

Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2026-03-29 16:30:01 +02:00
Ronni Skansing b0688f8da8 add dynamic groups
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2026-03-28 14:55:43 +01:00
Ronni Skansing 73b3287137 Add proxy support in device codes
Add clear device codes for campaign
2026-03-26 18:00:28 +01:00
Ronni Skansing fc5e8e199b Add captured once behavior to device code phishing, update template keys and fix unneeded api calls
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2026-03-21 12:32:16 +01:00
Ronni Skansing 198c3a0f29 fix missing cascading of deleting an email used by templates or campaigns
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2026-03-21 12:31:31 +01:00
Ronni Skansing 43d6415894 MS Device code phishing
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2026-03-21 00:10:06 +01:00
Ronni Skansing 316120e7be fix domain sort by type
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2026-03-19 17:23:32 +01:00
Ronni Skansing 9efdb5c28d Add support for multiple webhooks per campaign
Add webhook links on campaign page

Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2026-02-28 14:19:54 +01:00
Ronni Skansing 2a4da7eba2 dead code
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2026-02-28 01:02:17 +01:00
Ronni Skansing e7304eef1a fix sort/search by repeat offender
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2026-02-18 18:33:45 +01:00
Ronni Skansing 2f5d1163d2 add latest events to dashboard, remove completed, fix missing auto refresh box 2026-02-12 20:58:08 +01:00
Ronni Skansing 6330544239 add headers to allow / deny filtering
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2026-02-11 23:02:00 +01:00
Ronni Skansing 3dca7bc212 fix custom stat campaign start date
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2026-02-09 21:34:06 +01:00
Ronni Skansing c7e666da9a fix missing allow listing leading to bsqli
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2026-02-08 02:23:04 +01:00
Ronni Skansing 42d3aa2c03 added hide test campaigns from campaigns page
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2026-02-04 22:25:19 +01:00
Ronni Skansing 95cd1f8a7c fix missing allow deny list on campaign create
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2026-02-04 21:09:25 +01:00
Ronni Skansing 33845aeec2 added delete campaign event when campaign is open
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2026-02-03 21:31:02 +01:00
Ronni Skansing f82bb16db4 fix delete orphan recipients when orphan is in active campaign
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2026-01-22 22:54:36 +01:00
Ronni Skansing 3fe6615b92 Merge branch 'feat-inline-attachment' into develop 2026-01-22 16:45:06 +01:00
Ronni Skansing 4b091a4d3c add inline images for emails
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2026-01-19 20:57:14 +01:00
Ronni Skansing dee61c2633 added AllowDenyIDs for get campaign by id endpoint
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2025-12-25 11:27:39 +01:00
Ronni Skansing 8bf457c592 Added webhook data level and events filtering
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2025-12-16 22:15:57 +01:00
Ronni Skansing 428941ee77 only require needed for oauth import
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2025-12-14 20:43:36 +01:00
Ronni Skansing bbc49deedd add import authorized oauth
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2025-12-13 21:39:08 +01:00
Ronni Skansing 6c3c695941 Added support for random recipient variable
Random recipient can not be the recipient
Added support for variables in email subject

Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2025-11-27 00:41:14 +01:00
Ronni Skansing a57c5f455f Fix pagination has next page on campaign page. Fix campaign recipients return standard T[] result. Fix anonymization affected recipient outside scope.
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2025-11-21 11:40:13 +01:00
Ronni Skansing f6eb87fa2b OAuth providers
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2025-11-20 23:54:00 +01:00
Ronni Skansing aa5f3e8691 fix set cancelled only for recipients of campaign
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2025-11-18 17:08:47 +01:00
Ronni Skansing e042caa8fe remove none existing sorting column
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2025-11-15 00:09:54 +01:00
Ronni Skansing 70c7b6203d add option to add data to webhook events
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2025-11-14 20:50:50 +01:00
Ronni Skansing 73efa9e341 added synthetic read events for when visiting a landing page and having no previous read email event
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2025-11-12 21:12:25 +01:00
Ronni Skansing fa1174e06c add option to save additional data
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2025-11-11 19:47:19 +01:00
Ronni Skansing 9c5acbed90 Add geo IP checking 2025-11-09 12:22:39 +01:00
Ronni Skansing a22af50f01 fix incorrect calculation on campaign page score card for submitted
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2025-11-07 10:54:02 +01:00
Ronni Skansing 691cff9659 ip filtering becomes filtering with ja4 and cidrs
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2025-11-05 21:10:33 +01:00
Ronni Skansing 3855e6d39b self signed certificates
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2025-11-04 20:00:59 +01:00
Ronni Skansing ff2f2a36c7 Added options for campaign obfuscation
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2025-11-01 22:53:43 +01:00
Ronni Skansing be398d21ee fix missing has next page on api senders overview
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2025-10-30 23:45:45 +01:00
Ronni Skansing f12ab80cd6 fix missing hasNextPage for global assets
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2025-10-30 23:26:01 +01:00
Ronni Skansing 8416db3dd6 fix wrong hasNextPage
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2025-10-30 23:07:19 +01:00
Ronni Skansing 061ef4b623 add company stats
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2025-10-23 12:19:53 +02:00
Ronni Skansing d6a1060009 fix proxy domains should not be shown in various places
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2025-10-20 19:41:09 +02:00
Ronni Skansing 26880e36cf Evasion page implementation.
Fix ip filtering.
Support for ip filter in proxies
2025-10-19 13:44:44 +02:00
Ronni Skansing c7910cbafb add orphans recipients page and delete all orphaned
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2025-10-14 20:26:27 +02:00
Ronni Skansing a6374bd976 add comment to company
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2025-10-14 18:19:52 +02:00
Ronni Skansing 7ae9af36f3 fix company specific attachments used in global contexts
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2025-10-04 18:34:59 +02:00
Ronni Skansing f9365ab299 cleanup from old proxy page test
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2025-09-30 21:56:44 +02:00
Ronni Skansing fc0a14303c Proxy MITM 2025-09-30 18:59:04 +02:00