---
title: "List of Solid Security Pro Action Hooks"
source: "https://docs.nexcess.com/software/kadence/solid/solid-security/solid-security-action-hooks/"
description: "Coming soon: Solid Security is becoming Kadence Security. You may see both names used while we update the product, documentation, and customer experience. Actio…"
vertical: "Software"
area: "Solid Security"
date: "2025-09-24"
last_modified: "2026-08-12"
---

# List of Solid Security Pro Action Hooks

**Coming soon:** Solid Security is becoming Kadence Security. You may see both names used while we update the product, documentation, and customer experience.

Action hooks trigger custom functions at specific points in Solid Security Pro’s workflows—for example, after a site scan completes or when a user fails a login. Use these actions to integrate external systems, automate responses, or extend behavior without modifying plugin code.

Usage example:

```php
add_action( 'itsec_new_banned_ip', function ( $ip, $context ) {
    // Send to SIEM, Slack, or trigger a firewall rule.
}, 10, 2 );
```

## Action Hooks

 it\_libraries\_loaded**Summary:** Action fires in the it libraries workflow (loaded).

**Defined in:** `lib/updater/load.php`:45, `lib/icon-fonts/load.php`:47

 **Source:** ```php
  do_action( 'it_libraries_loaded' );
      
```

 

 

 ithemes\_updater\_register**Summary:** Action fires for updater register.

 **Arguments:**- `$this`
 
 

**Defined in:** `lib/updater/settings.php`:83

 **Source:** ```php
  do_action( 'ithemes_updater_register', $this );
      
```

 

 

 ithemes\_updater\_settings\_page\_index**Summary:** Action fires in the updater settings workflow (page index).

**Defined in:** `lib/updater/admin.php`:211

 **Source:** ```php
  do_action( 'ithemes_updater_settings_page_index' );
      
```

 

 

 itsec-file-change-end-hash-comparisons**Summary:** Action fires in the file change workflow (end hash comparisons).

**Defined in:** `core/modules/file-change/scanner.php`:749

 **Source:** ```php
  do_action( 'itsec-file-change-end-hash-comparisons' );
      
```

 

 

 itsec-file-change-end-scan**Summary:** Action fires in the file change workflow (end scan).

**Defined in:** `core/modules/file-change/lib/chunk-scanner.php`:87

 **Source:** ```php
  do_action( 'itsec-file-change-end-scan' );
      
```

 

 

 itsec-file-change-start-hash-comparisons**Summary:** Action fires in the file change workflow (start hash comparisons).

**Defined in:** `core/modules/file-change/scanner.php`:676

 **Source:** ```php
  do_action( 'itsec-file-change-start-hash-comparisons' );
      
```

 

 

 itsec-file-change-start-scan**Summary:** Action fires in the file change workflow (start scan).

**Defined in:** `core/modules/file-change/lib/chunk-scanner.php`:85

 **Source:** ```php
  do_action( 'itsec-file-change-start-scan' );
      
```

 

 

 itsec-handle-failed-login**Summary:** Action fires in the handle failed workflow (login).

 **Arguments:**- `$username`
- `$details`
 
 

**Defined in:** `core/lib.php`:652

 **Source:** ```php
  do_action( 'itsec-handle-failed-login', $username, $details );
      
```

 

 

 itsec-lib-clear-caches**Summary:** Action fires in the lib clear workflow (caches).

**Defined in:** `core/lib.php`:49

 **Source:** ```php
  do_action( 'itsec-lib-clear-caches' );
      
```

 

 

 itsec-logs-page-init**Summary:** Action fires in the logs page workflow (init).

**Defined in:** `core/admin-pages/page-logs.php`:22

 **Source:** ```php
  do_action( 'itsec-logs-page-init' );
      
```

 

 

 itsec-logs-page-register-widget**Summary:** Action fires in the logs page workflow (register widget).

 **Arguments:**- `$this`
 
 

**Defined in:** `core/admin-pages/sidebar-widget.php`:118

 **Source:** ```php
  do_action( 'itsec-logs-page-register-widget', $this );
      
```

 

 

 itsec-logs-page-register-widgets**Summary:** Action fires in the logs page workflow (register widgets).

**Defined in:** `core/admin-pages/page-logs.php`:23

 **Source:** ```php
  do_action( 'itsec-logs-page-register-widgets' );
      
```

 

 

 itsec-page-ajax**Summary:** Action fires for page ajax.

**Defined in:** `core/admin-pages/init.php`:148

 **Source:** ```php
  do_action( 'itsec-page-ajax' );
      
```

 

 

 itsec-page-show**Summary:** Action fires for page show.

 **Arguments:**- `$url`
 
 

**Defined in:** `core/admin-pages/init.php`:142

 **Source:** ```php
  do_action( 'itsec-page-show', $url );
      
```

 

 

 itsec-register-modules**Summary:** Action fires for register modules.

**Defined in:** `core/modules.php`:829

 **Source:** ```php
  do_action( 'itsec-register-modules' );
      
```

 

 

 itsec-security-check-after-default-checks**Summary:** Action fires in the security check workflow (after default checks).

 **Arguments:**- `self::$feedback`
- `self::$available_modules`
 
 

**Defined in:** `core/modules/security-check/scanner.php`:101

 **Source:** ```php
  do_action( 'itsec-security-check-after-default-checks', self::$feedback, self::$available_modules );
      
```

 

 

 itsec-security-check-before-default-checks**Summary:** Action fires in the security check workflow (before default checks).

 **Arguments:**- `self::$feedback`
- `self::$available_modules`
 
 

**Defined in:** `core/modules/security-check/scanner.php`:49

 **Source:** ```php
  do_action( 'itsec-security-check-before-default-checks', self::$feedback, self::$available_modules );
      
```

 

 

 itsec-settings-page-init**Summary:** Action fires in the settings page workflow (init).

**Defined in:** `core/admin-pages/page-settings.php`:46

 **Source:** ```php
  do_action( 'itsec-settings-page-init' );
      
```

 

 

 itsec-settings-page-register-module**Summary:** Action fires in the settings page workflow (register module).

 **Arguments:**- `$this`
 
 

**Defined in:** `core/deprecated/module-settings.php`:172

 **Source:** ```php
  do_action( 'itsec-settings-page-register-module', $this );
      
```

 

 

 itsec-settings-page-register-widget**Summary:** Action fires in the settings page workflow (register widget).

 **Arguments:**- `$this`
 
 

**Defined in:** `core/admin-pages/sidebar-widget.php`:117

 **Source:** ```php
  do_action( 'itsec-settings-page-register-widget', $this );
      
```

 

 

 itsec-settings-updated**Summary:** Action fires for settings updated.

 **Arguments:**- `$this->get_id()`
 
 

**Defined in:** `core/lib/settings.php`:299

 **Source:** ```php
  do_action( 'itsec-settings-updated', $this->get_id() );
      
```

 

 

 itsec-two-factor-successful-authentication**Summary:** Action fires in the two factor workflow (successful authentication).

 **Arguments:**- `$user_id`
- `$provider_class`
- `$post_data`
 
 

**Defined in:** `core/modules/two-factor/class-itsec-two-factor-interstitial.php`:214

 **Source:** ```php
  do_action( 'itsec-two-factor-successful-authentication', $user_id, $provider_class, $post_data );
      
```

 

 

 itsec\_after\_import**Summary:** Fires after an import completes.

 **Arguments:**- `$data` (array)
 
 

**Defined in:** `pro/import-export/importer.php`:92

 **Source:** ```php
  do_action( 'itsec_after_import', $data );
      
```

 

 

 itsec\_before\_import**Summary:** Fires before the import starts.

 **Arguments:**- `$data` (array)
 
 

**Defined in:** `pro/import-export/importer.php`:58

 **Source:** ```php
  do_action( 'itsec_before_import', $data );
      
```

 

 

 itsec\_change\_admin\_user\_id**Summary:** Fires when the admin user with id of #1 has been changed.

 **Arguments:**- `$new_user` (int) — The new user's ID.
- `$user` (WP\_User) — The old user object.
 
 

**Defined in:** `core/modules/admin-user/active.php`:108

 **Source:** ```php
  do_action( 'itsec_change_admin_user_id', $new_user, $user );
      
```

 

 

 itsec\_create\_user\_group**Summary:** Fires when a user group is created.

 **Arguments:**- `$user_group` (User\_Group)
- `$args` (array)
 
 

**Defined in:** `core/modules/user-groups/Repository/DB_Repository.php`:78, `core/modules/user-groups/Repository/In_Memory_Repository.php`:52

 **Source:** ```php
  do_action( 'itsec_create_user_group', $user_group, $args );
      
```

 

 

 itsec\_custom\_login\_slug**Summary:** Action fires in the custom login workflow (slug).

**Defined in:** `core/modules/hide-backend/class-itsec-hide-backend.php`:130

 **Source:** ```php
  do_action( 'itsec_custom_login_slug' );
      
```

 

 

 itsec\_dashboard\_enqueue\_scripts**Summary:** Action fires in the dashboard enqueue workflow (scripts).

**Defined in:** `core/admin-pages/page-dashboard.php`:93

 **Source:** ```php
  do_action( 'itsec_dashboard_enqueue_scripts' );
      
```

 

 

 itsec\_debug\_module\_request\_{$module}**Summary:** Fires when an ajax request is being made to a module. At some point this will probably be replaced by a more thought-out framework, but this hook will probably power it. The dynamic portion of this hook, {$module}, refers to the module name. For example, 'notification-center'.

 **Arguments:**- `$data` (array)
 
 

**Defined in:** `core/admin-pages/page-debug.php`:78

 **Source:** ```php
  do_action( "itsec_debug_module_request_{$module}", $_POST['data'] );
      
```

 

 

 itsec\_debug\_page**Summary:** Action fires for debug page.

**Defined in:** `core/admin-pages/page-debug.php`:210

 **Source:** ```php
  do_action( 'itsec_debug_page' );
      
```

 

 

 itsec\_debug\_page\_enqueue**Summary:** Action fires in the debug page workflow (enqueue).

**Defined in:** `core/admin-pages/page-debug.php`:37

 **Source:** ```php
  do_action( 'itsec_debug_page_enqueue' );
      
```

 

 

 itsec\_encryption\_rotate\_user\_keys**Summary:** Fires when an encryption key is being rotated.

 **Arguments:**- `$rotator` (User\_Key\_Rotator)
- `$result` (Result)
 
 

**Defined in:** `core/lib/class-itsec-lib-encryption.php`:235

 **Source:** ```php
  do_action( 'itsec_encryption_rotate_user_keys', $rotator, $result );
      
```

 

 

 itsec\_enqueue\_profile**Summary:** Fires when scripts are enqueued for the User Profile JS code.

 **Arguments:**- `$user` (WP\_User)
 
 

**Defined in:** `core/modules/core/class-itsec-core-active.php`:319, `core/admin-pages/init.php`:227

 **Source:** ```php
  do_action( 'itsec_enqueue_profile', wp_get_current_user() );
      
```

 ```php
  do_action( 'itsec_enqueue_profile', $user );
      
```

 

 

 itsec\_failed\_recaptcha**Summary:** Fires when a user fails the reCAPTCHA test.

 **Arguments:**- `$error` (WP\_Error)
- `$args` (array)
 
 

**Defined in:** `pro/recaptcha/class-itsec-recaptcha.php`:483

 **Source:** ```php
  do_action( 'itsec_failed_recaptcha', $error, $args );
      
```

 

 

 itsec\_fingerprint\_created**Summary:** Fires when a fingerprint is created.

 **Arguments:**- `$this` (ITSEC\_Fingerprint)
 
 

**Defined in:** `core/lib/fingerprinting/class-itsec-fingerprint.php`:485

 **Source:** ```php
  do_action( 'itsec_fingerprint_created', $this );
      
```

 

 

 itsec\_fingerprint\_{$action}**Summary:** Fires when the fingerprint is saved.

 **Arguments:**- `$this` (ITSEC\_Fingerprint)
- `$action` (string)
 
 

**Defined in:** `core/lib/fingerprinting/class-itsec-fingerprint.php`:489, `core/lib/fingerprinting/class-itsec-fingerprint.php`:556

 **Source:** ```php
  do_action( "itsec_fingerprint_{$action}", $this, $action );
      
```

 ```php
  do_action_ref_array( "itsec_fingerprint_{$action}", $args );
      
```

 

 

 itsec\_firewall\_deleted\_rule**Summary:** Fires when a firewall rule is deleted.

 **Arguments:**- `$rule` (Rule)
 
 

**Defined in:** `core/modules/firewall/Rules/Repository.php`:149

 **Source:** ```php
  do_action( 'itsec_firewall_deleted_rule', $rule );
      
```

 

 

 itsec\_firewall\_saved\_rule**Summary:** Fires when a firewall rule is saved.

 **Arguments:**- `$rule` (Rule)
 
 

**Defined in:** `core/modules/firewall/Rules/Repository.php`:118

 **Source:** ```php
  do_action( 'itsec_firewall_saved_rule', $rule );
      
```

 

 

 itsec\_initialize\_login\_interstitial\_session\_from\_global\_state**Summary:** Action fires in the initialize login workflow (interstitial session from global state).

 **Arguments:**- `$this`
 
 

**Defined in:** `core/lib/login-interstitial/class-itsec-login-interstitial-session.php`:451

 **Source:** ```php
  do_action( 'itsec_initialize_login_interstitial_session_from_global_state', $this );
      
```

 

 

 itsec\_initialized**Summary:** Action fires on initialized.

**Defined in:** `core/core.php`:255

 **Source:** ```php
  do_action( 'itsec_initialized' );
      
```

 

 

 itsec\_install\_schema**Summary:** Fires when the DB schema is installed or updated.

 **Arguments:**- `$wp_error` (WP\_Error)
 
 

**Defined in:** `core/lib/schema.php`:290

 **Source:** ```php
  do_action( 'itsec_install_schema', $wp_error );
      
```

 

 

 itsec\_lib\_delete\_file**Summary:** Fires when Solid Security removes a managed file.

 **Arguments:**- `$file` (string)
 
 

**Defined in:** `core/lib/class-itsec-lib-file.php`:279

 **Source:** ```php
  do_action( 'itsec_lib_delete_file', $file );
      
```

 

 

 itsec\_lib\_write\_to\_file**Summary:** Fires when Solid Security writes to a managed file.

 **Arguments:**- `$file` (string) — The path to the file.
- `$contents` (string) — The contents written.
 
 

**Defined in:** `core/lib/class-itsec-lib-file.php`:223

 **Source:** ```php
  do_action( 'itsec_lib_write_to_file', $file, $contents );
      
```

 

 

 itsec\_load\_file\_change\_scanner**Summary:** Action fires in the load file workflow (change scanner).

**Defined in:** `core/modules/file-change/scanner.php`:19

 **Source:** ```php
  do_action( 'itsec_load_file_change_scanner' );
      
```

 

 

 itsec\_lockout\_template\_before\_actions**Summary:** Action fires in the lockout template workflow (before actions).

 **Arguments:**- `$context`
 
 

**Defined in:** `core/templates/lockout/lockout.php`:30

 **Source:** ```php
  do_action( 'itsec_lockout_template_before_actions', $context );
      
```

 

 

 itsec\_log\_add**Summary:** Action fires for log add.

 **Arguments:**- `$data`
- `$id`
- `$log_type`
 
 

**Defined in:** `core/lib/log.php`:110

 **Source:** ```php
  do_action( 'itsec_log_add', $data, $id, $log_type );
      
```

 

 

 itsec\_login\_interstitial\_async\_action\_confirmation\_before\_confirm**Summary:** Action fires in the login interstitial workflow (async action confirmation before confirm).

 **Arguments:**- `$session`
- `$action`
 
 

**Defined in:** `core/lib/class-itsec-lib-login-interstitial.php`:837

 **Source:** ```php
  do_action( 'itsec_login_interstitial_async_action_confirmation_before_confirm', $session, $action );
      
```

 

 

 itsec\_login\_interstitial\_init**Summary:** Fires when the Login Interstitial framework is initialized.

 **Arguments:**- `$this`
 
 

**Defined in:** `core/lib/class-itsec-lib-login-interstitial.php`:51

 **Source:** ```php
  do_action( 'itsec_login_interstitial_init', $this );
      
```

 

 

 itsec\_login\_interstitial\_initialize\_same\_browser**Summary:** Fires when the login interstitial initializes the Same Browser API for async actions.

 **Arguments:**- `$session` (ITSEC\_Login\_Interstitial\_Session)
 
 

**Defined in:** `core/lib/class-itsec-lib-login-interstitial.php`:239

 **Source:** ```php
  do_action( 'itsec_login_interstitial_initialize_same_browser', $session );
      
```

 

 

 itsec\_login\_interstitial\_logged\_in**Summary:** Fires when a user is re-logged back in after submitting an interstitial.

 **Arguments:**- `$user` (WP\_User)
 
 

**Defined in:** `core/lib/class-itsec-lib-login-interstitial.php`:936

 **Source:** ```php
  do_action( 'itsec_login_interstitial_logged_in', $user );
      
```

 

 

 itsec\_login\_with\_fingerprint**Summary:** Fires when a user logs in after the fingerprint has been determined.

 **Arguments:**- `$fingerprint` (ITSEC\_Fingerprint)
- `$user` (WP\_User)
 
 

**Defined in:** `pro/fingerprinting/class-itsec-fingerprinting.php`:179

 **Source:** ```php
  do_action( 'itsec_login_with_fingerprint', $fingerprint, $user );
      
```

 

 

 itsec\_modules\_do\_plugin\_activation**Summary:** Action fires in the modules do workflow (plugin activation).

**Defined in:** `core/modules.php`:877

 **Source:** ```php
  do_action( 'itsec_modules_do_plugin_activation' );
      
```

 

 

 itsec\_modules\_do\_plugin\_deactivation**Summary:** Action fires in the modules do workflow (plugin deactivation).

**Defined in:** `core/modules.php`:886

 **Source:** ```php
  do_action( 'itsec_modules_do_plugin_deactivation' );
      
```

 

 

 itsec\_modules\_do\_plugin\_uninstall**Summary:** Action fires in the modules do workflow (plugin uninstall).

**Defined in:** `core/modules.php`:895

 **Source:** ```php
  do_action( 'itsec_modules_do_plugin_uninstall' );
      
```

 

 

 itsec\_modules\_do\_plugin\_upgrade**Summary:** Action fires in the modules do workflow (plugin upgrade).

 **Arguments:**- `$old_version`
- `$new_version`
 
 

**Defined in:** `core/modules.php`:907

 **Source:** ```php
  do_action( 'itsec_modules_do_plugin_upgrade', $old_version, $new_version );
      
```

 

 

 itsec\_new\_banned\_ip**Summary:** Fires when a new IP has been banned. This is primarily used by the Ban Users module.

 **Arguments:**- `$ip` (string) — The IP address.
- `$context` (LockoutContext|null) — The lockout context that caused the ban.
 
 

**Defined in:** `core/lockout.php`:1117

 **Source:** ```php
  do_action( 'itsec_new_banned_ip', $ip, $context );
      
```

 

 

 itsec\_notification\_center\_continue\_upgrade**Summary:** Action fires in the notification center workflow (continue upgrade).

 **Arguments:**- `$this->old_version`
 
 

**Defined in:** `core/modules/notification-center/setup.php`:152

 **Source:** ```php
  do_action( 'itsec_notification_center_continue_upgrade', $this->old_version );
      
```

 

 

 itsec\_notification\_center\_notification\_disabled**Summary:** Action fires in the notification center workflow (notification disabled).

 **Arguments:**- `$slug`
 
 

**Defined in:** `core/modules/notification-center/settings.php`:64

 **Source:** ```php
  do_action( 'itsec_notification_center_notification_disabled', $slug );
      
```

 

 

 itsec\_notification\_center\_notification\_enabled**Summary:** Action fires in the notification center workflow (notification enabled).

 **Arguments:**- `$slug`
 
 

**Defined in:** `core/modules/notification-center/settings.php`:61

 **Source:** ```php
  do_action( 'itsec_notification_center_notification_enabled', $slug );
      
```

 

 

 itsec\_notification\_center\_{$slug}\_notification\_disabled**Summary:** Action fires in the notification center workflow ({$slug} notification disabled).

 **Arguments:**- `$slug`
 
 

**Defined in:** `core/modules/notification-center/settings.php`:63

 **Source:** ```php
  do_action( "itsec_notification_center_{$slug}_notification_disabled", $slug );
      
```

 

 

 itsec\_notification\_center\_{$slug}\_notification\_enabled**Summary:** Action fires in the notification center workflow ({$slug} notification enabled).

 **Arguments:**- `$slug`
 
 

**Defined in:** `core/modules/notification-center/settings.php`:60

 **Source:** ```php
  do_action( "itsec_notification_center_{$slug}_notification_enabled", $slug );
      
```

 

 

 itsec\_password\_requirements\_change\_form**Summary:** Action fires in the password requirements workflow (change form).

 **Arguments:**- `$user`
 
 

**Defined in:** `core/modules/password-requirements/class-itsec-password-requirements.php`:423

 **Source:** ```php
  do_action( 'itsec_password_requirements_change_form', $user );
      
```

 

 

 itsec\_passwordless\_login\_enqueue\_profile\_scripts**Summary:** Action fires in the passwordless login workflow (enqueue profile scripts).

 **Arguments:**- `$user`
 
 

**Defined in:** `pro/passwordless-login/class-passwordless-login.php`:138

 **Source:** ```php
  do_action( 'itsec_passwordless_login_enqueue_profile_scripts', $user );
      
```

 

 

 itsec\_passwordless\_login\_initialize\_interstitial**Summary:** Fires when the Passwordless Login interstitial session is initialized.

 **Arguments:**- `$session` (ITSEC\_Login\_Interstitial\_Session)
- `$args` (array)
 
 

**Defined in:** `pro/passwordless-login/class-passwordless-login-utilities.php`:408

 **Source:** ```php
  do_action( 'itsec_passwordless_login_initialize_interstitial', $session, $args );
      
```

 

 

 itsec\_prepare\_dashboard\_response**Summary:** Fires when the response for a Security Dashboard is being prepared for the REST API.

 **Arguments:**- `$response` (WP\_REST\_Response)
- `$item` (WP\_Post)
- `$request` (WP\_REST\_Request)
 
 

**Defined in:** `core/modules/dashboard/rest/class-itsec-rest-dashboard-dashboards-controller.php`:309

 **Source:** ```php
  do_action( 'itsec_prepare_dashboard_response', $response, $item, $request );
      
```

 

 

 itsec\_recaptcha\_api\_ready**Summary:** Fires when the Recaptcha API is ready to be used.

**Defined in:** `pro/recaptcha/API.php`:32

 **Source:** ```php
  do_action( 'itsec_recaptcha_api_ready' );
      
```

 

 

 itsec\_register\_highlighted\_logs**Summary:** Action fires in the register highlighted workflow (logs).

**Defined in:** `core/lib/class-itsec-lib-highlighted-logs.php`:169

 **Source:** ```php
  do_action( 'itsec_register_highlighted_logs' );
      
```

 

 

 itsec\_register\_password\_requirements**Summary:** Fires when password requirements should be registered.

**Defined in:** `core/lib/class-itsec-lib-password-requirements.php`:27

 **Source:** ```php
  do_action( 'itsec_register_password_requirements' );
      
```

 

 

 itsec\_register\_tools**Summary:** Fires when tools should be registered.

 **Arguments:**- `$registry` (Tools\_Registry)
 
 

**Defined in:** `core/lib/tools/Tools_Runner.php`:35

 **Source:** ```php
  do_action( 'itsec_register_tools', $this->registry );
      
```

 

 

 itsec\_register\_user\_group\_settings**Summary:** Action fires in the register user workflow (group settings).

 **Arguments:**- `$this->settings_registry`
 
 

**Defined in:** `core/modules/user-groups/Module/Module.php`:79

 **Source:** ```php
  do_action( 'itsec_register_user_group_settings', $this->settings_registry );
      
```

 

 

 itsec\_requirements\_error**Summary:** Fires when a requirements error is encountered.

 **Arguments:**- `$error` (WP\_Error)
 
 

**Defined in:** `core/lib.php`:2632

 **Source:** ```php
  do_action( 'itsec_requirements_error', $error );
      
```

 

 

 itsec\_scheduled\_{$job->get\_id()}**Summary:** Fires when a scheduled job should be executed.

 **Arguments:**- `$job` (ITSEC\_Job)
 
 

**Defined in:** `core/lib/class-itsec-scheduler.php`:388

 **Source:** ```php
  do_action( "itsec_scheduled_{$job->get_id()}", $job );
      
```

 

 

 itsec\_scheduler\_register\_events**Summary:** Register scheduled events. Events should be registered in response to a user action, for example activating a module or changing a setting. Occasionally, Solid Security will manually ask for all events to be scheduled.

 **Arguments:**- `$this` (ITSEC\_Scheduler)
 
 

**Defined in:** `core/lib/class-itsec-scheduler.php`:224

 **Source:** ```php
  do_action( 'itsec_scheduler_register_events', $this );
      
```

 

 

 itsec\_security\_digest\_attach\_additional\_info**Summary:** Fires when additional info should be attached to the Security Digest.

 **Arguments:**- `$mail` (ITSEC\_Mail)
- `$data_proxy` (ITSEC\_Notify\_Data\_Proxy)
- `$last_sent` (int)
 
 

**Defined in:** `core/notify.php`:181

 **Source:** ```php
  do_action( 'itsec_security_digest_attach_additional_info', $mail, $data_proxy, $last_sent );
      
```

 

 

 itsec\_security\_digest\_before**Summary:** Fires before the main content of the Security Digest is added.

 **Arguments:**- `$mail` (ITSEC\_Mail)
- `$data_proxy` (ITSEC\_Notify\_Data\_Proxy)
- `$last_sent` (int)
 
 

**Defined in:** `core/notify.php`:144

 **Source:** ```php
  do_action( 'itsec_security_digest_before', $mail, $data_proxy, $last_sent );
      
```

 

 

 itsec\_site\_scanner\_scan\_complete**Summary:** Fires after a site scan has completed.

 **Arguments:**- `$scan` (Scan)
- `$site_id` (int)
- `$cached` (bool)
 
 

**Defined in:** `core/modules/site-scanner/api.php`:87

 **Source:** ```php
  do_action( 'itsec_site_scanner_scan_complete', $scan, $site_id, $cached );
      
```

 

 

 itsec\_software\_vulnerabilities\_changed**Summary:** Fires when the detected software vulnerabilities have changed.

 **Arguments:**- `$vulnerabilities` (array) — The new vulnerabilities set.
- `$existing` (array) — The existing vulnerabilities.
 
 

**Defined in:** `core/modules/site-scanner/class-itsec-site-scanner.php`:179

 **Source:** ```php
  do_action( 'itsec_software_vulnerabilities_changed', $vulnerabilities, $existing );
      
```

 

 

 itsec\_two\_factor\_interstitial\_after\_auth\_page**Summary:** Action fires in the two factor workflow (interstitial after auth page).

 **Arguments:**- `$provider`
- `$session`
- `$args`
 
 

**Defined in:** `core/modules/two-factor/class-itsec-two-factor-interstitial.php`:71

 **Source:** ```php
  do_action( 'itsec_two_factor_interstitial_after_auth_page', $provider, $session, $args );
      
```

 

 

 itsec\_two\_factor\_interstitial\_pre\_render**Summary:** Action fires in the two factor workflow (interstitial pre render).

 **Arguments:**- `$session`
- `$provider`
 
 

**Defined in:** `core/modules/two-factor/class-itsec-two-factor-interstitial.php`:106

 **Source:** ```php
  do_action( 'itsec_two_factor_interstitial_pre_render', $session, $provider );
      
```

 

 

 itsec\_two\_factor\_override**Summary:** Action fires in the two factor workflow (override).

 **Arguments:**- `$user`
- `compact( 'override_expires' )`
 
 

**Defined in:** `core/modules/two-factor/sync-verbs/itsec-override-two-factor-user.php`:50

 **Source:** ```php
  do_action( 'itsec_two_factor_override', $user, compact( 'override_expires' ) );
      
```

 

 

 itsec\_update\_user\_group**Summary:** Fires when a user group is updated.

 **Arguments:**- `$user_group` (User\_Group)
- `$args` (array)
 
 

**Defined in:** `core/modules/user-groups/Repository/DB_Repository.php`:88, `core/modules/user-groups/Repository/In_Memory_Repository.php`:61

 **Source:** ```php
  do_action( 'itsec_update_user_group', $user_group, $args );
      
```

 

 

 itsec\_user\_action\_{$action}**Summary:** Fires when a user action should be processed. The dynamic portion of this hook `$action` refers to the action slug that should be applied.

 **Arguments:**- `$user` (WP\_User)
- `$actioned_by` (WP\_User)
- `$args` (mixed)
 
 

**Defined in:** `core/lib/User_Actions_Background_Process.php`:58

 **Source:** ```php
  do_action( "itsec_user_action_{$action}", $user, $actioned_by, $args );
      
```

 

 

 itsec\_validate\_password**Summary:** Fires when modules should validate a password according to their rules.

 **Arguments:**- `$error` (WP\_Error)
- `$user` (WP\_User|stdClass)
- `$new_password` (string)
- `$args` (array)
 
 

**Defined in:** `core/lib/class-itsec-lib-password-requirements.php`:202

 **Source:** ```php
  do_action( 'itsec_validate_password', $error, $user, $new_password, $args );
      
```

 

 

 itsec\_vulnerability\_not\_seen**Summary:** Fires if a vulnerability was not seen in the latest Site Scan.

 **Arguments:**- `$vulnerability` (Vulnerability)
 
 

**Defined in:** `core/modules/site-scanner/class-itsec-site-scanner.php`:162, `core/modules/site-scanner/class-itsec-site-scanner.php`:256, `core/modules/site-scanner/class-itsec-site-scanner.php`:298, `core/modules/site-scanner/class-itsec-site-scanner.php`:333, `core/modules/site-scanner/class-itsec-site-scanner.php`:371

 **Source:** ```php
  do_action( 'itsec_vulnerability_not_seen', $vulnerability );
      
```

 

 

 itsec\_vulnerability\_was\_seen**Summary:** Fires when a vulnerability has been seen.

 **Arguments:**- `$model` (Vulnerability)
- `$issue` (Vulnerability\_Issue)
 
 

**Defined in:** `core/modules/site-scanner/class-itsec-site-scanner.php`:119, `core/modules/site-scanner/class-itsec-site-scanner.php`:221

 **Source:** ```php
  do_action( 'itsec_vulnerability_was_seen', $model, $issue );
      
```

 ```php
  do_action( 'itsec_vulnerability_was_seen', $vulnerability, $vulnerability->as_issue() );
      
```
