Zephyr Project Manager Security & Risk Analysis

wordpress.org/plugins/zephyr-project-manager

Zephyr Project Manager is a modern, easy to use sophisticated project manager for WordPress.

1K active installs v3.3.205 PHP 5.2.4+ WP 3.2+ Updated Feb 11, 2026
collaborationproject-managerprojectstask-managertasks
82
B · Generally Safe
CVEs total20
Unpatched0
Last CVEDec 16, 2025
Safety Verdict

Is Zephyr Project Manager Safe to Use in 2026?

Mostly Safe

Score 82/100

Zephyr Project Manager is generally safe to use. 20 past CVEs were resolved.

20 known CVEsLast CVE: Dec 16, 2025Updated 3mo ago
Risk Assessment

The "zephyr-project-manager" plugin v3.3.205 exhibits a mixed security posture. While the static analysis shows a robust implementation of security controls with no unprotected entry points (AJAX, REST API, shortcodes, cron events) and a high percentage of SQL prepared statements and properly escaped output, there are significant concerns.

The presence of 48 instances of the `unserialize` function is a major red flag. If the data being unserialized is not strictly controlled and validated from a trusted source, this function can lead to remote code execution vulnerabilities. The taint analysis, although showing no critical or high severity flows, did reveal 24 flows with unsanitized paths, which, when combined with the `unserialize` function, could potentially be exploited.

The plugin's vulnerability history is concerning, with a total of 20 known CVEs, including 1 critical, 4 high, and 15 medium severity issues. The common vulnerability types like Path Traversal, Missing Authorization, and SQL Injection suggest recurring weaknesses in input validation and authorization. The fact that the last vulnerability was as recent as December 2025 indicates that past issues may not have been fully remediated or that new ones continue to emerge. The presence of 6 nonce checks, while positive, is relatively low given the plugin's complexity, and the absence of any such checks for the 0 unprotected AJAX handlers is noted.

In conclusion, while the plugin implements several good security practices like prepared statements and output escaping, the heavy reliance on `unserialize` and its extensive history of critical and high-severity vulnerabilities represent significant risks. These factors, coupled with the unsanitized paths identified in the taint analysis, warrant careful consideration and prompt remediation.

Key Concerns

  • High number of 'unserialize' function calls
  • 24 unsanitized paths in taint analysis
  • 1 critical CVE in vulnerability history
  • 4 high CVEs in vulnerability history
  • 15 medium CVEs in vulnerability history
  • Bundled library 'DataTables' might be outdated
Vulnerabilities
20 published

Zephyr Project Manager Security Vulnerabilities

CVEs by Year

5 CVEs in 2022
2022
2 CVEs in 2023
2023
8 CVEs in 2024
2024
5 CVEs in 2025
2025
Patched Has unpatched

Severity Breakdown

Critical
1
High
4
Medium
15

20 total CVEs

CVE-2025-12496medium · 4.9Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Zephyr Project Manager <= 3.3.203 - Authenticated (Custom+) Arbitrary File Read And Server-Side Request Forgery

Dec 16, 2025 Patched in 3.3.204 (1d)
CVE-2025-10490medium · 4.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Zephyr Project Manager <= 3.3.202 - Authenticated (Admin+) Stored Cross-Site Scripting

Sep 25, 2025 Patched in 3.3.203 (1d)
CVE-2025-54714medium · 4.3Missing Authorization

Zephyr Project Manager <= 3.3.201 - Missing Authorization

Aug 26, 2025 Patched in 3.3.202 (9d)
CVE-2025-39552medium · 4.3Missing Authorization

Zephyr Project Manager <= 3.3.200 - Missing Authorization

Apr 16, 2025 Patched in 3.3.201 (15d)
CVE-2025-32526medium · 6.1Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Zephyr Project Manager <= 3.3.101 - Reflected Cross-Site Scripting

Apr 10, 2025 Patched in 3.3.102 (7d)
CVE-2024-43915medium · 5.5Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Zephyr Project Manager <= 3.3.102 - Reflected Cross-Site Scripting

Aug 20, 2024 Patched in 3.3.103 (9d)
CVE-2024-43916medium · 4.3Authorization Bypass Through User-Controlled Key

Zephyr Project Manager <= 3.3.102 - Missing Authorization to Authenticated (Subscriber+) Status Updates

Aug 20, 2024 Patched in 3.3.103 (9d)
CVE-2024-43322medium · 4.3Authorization Bypass Through User-Controlled Key

Zephyr Project Manager <= 3.3.100 - Authenticated (Subscriber+) Insecure Direct Object Reference

Aug 16, 2024 Patched in 3.3.101 (7d)
CVE-2024-7624high · 8.1Improper Authorization

Zephyr Project Manager <= 3.3.101 - Authenticated (Subscriber+) Limited Privilege Escalation

Aug 14, 2024 Patched in 3.3.102 (1d)
CVE-2024-7356medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Zephyr Project Manager <= 3.3.100 - Authenticated (Subscriber+) Stored Cross-Site Scripting via filename Parameter

Aug 2, 2024 Patched in 3.3.101 (1d)
CVE-2024-38761medium · 5.3Insertion of Sensitive Information into Log File

Zephyr Project Manager <= 3.3.99 - Unauthenticated Information Exposure

Jul 12, 2024 Patched in 3.3.100 (4d)
CVE-2024-6536medium · 4.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Zephyr Project Manager <= 3.3.97 - Authenticated (Editor+) Stored Cross-Site Scripting

Jul 9, 2024 Patched in 3.3.99 (25d)
CVE-2024-37484high · 8.8Missing Authorization

Zephyr Project Manager <= 3.3.97 - Authenticated (Subscriber+) Privilege Escalation via User Meta Update

Jul 4, 2024 Patched in 3.3.99 (8d)
CVE-2023-34373medium · 4.3Cross-Site Request Forgery (CSRF)

Zephyr Project Manager <= 3.3.93 - Cross-Site Request Forgery

Jun 13, 2023 Patched in 3.3.94 (224d)
CVE-2023-31237medium · 5.4URL Redirection to Untrusted Site ('Open Redirect')

Zephyr Project Manager <= 3.3.9 - Open Redirect

Apr 27, 2023 Patched in 3.3.10 (271d)
CVE-2022-2839high · 7.2Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Zephyr Project Manager < 3.2.55 - Missing Authorization to Cross-Site Scripting

Sep 8, 2022 Patched in 3.2.55 (502d)
WF-2ff83bf5-369f-43b9-b073-daf0de9051c7-zephyr-project-managermedium · 6.1Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Zephyr Project Manager <= 3.2.42 - Reflected Cross-Site Scripting

Aug 29, 2022 Patched in 3.2.5 (512d)

Zephyr Project Manager <= 3.2.42 - Missing Authorization to Cross-Site Scripting

Aug 29, 2022 Patched in 3.2.5 (512d)
CVE-2022-2840critical · 9.8Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

Zephyr Project Manager <= 3.2.42 - Unauthenticated SQL Injection

Aug 29, 2022 Patched in 3.2.5 (512d)
CVE-2022-1822medium · 6.1Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Zephyr Project Manager <= 3.2.40 - Reflected Cross-Site Scripting

May 23, 2022 Patched in 3.2.41 (610d)
Version History

Zephyr Project Manager Release Timeline

Code Analysis
Analyzed Mar 16, 2026

Zephyr Project Manager Code Analysis

Dangerous Functions
48
Raw SQL Queries
22
102 prepared
Unescaped Output
288
2248 escaped
Nonce Checks
6
Capability Checks
102
File Operations
33
External Requests
0
Bundled Libraries
1

Dangerous Functions Found

unserialize$this_attachment = wp_get_attachment_url(unserialize($attachment->message));includes\Api\RestApi.php:1367
unserialize$project->categories = unserialize($project->categories);includes\Api\RestApi.php:1381
unserialize$this_attachment = wp_get_attachment_url(unserialize($attachment->message));includes\Api\RestApi.php:1407
unserialize$task->custom_fields = unserialize($task->custom_fields);includes\Api\RestApi.php:1458
unserialize$this_attachment = wp_get_attachment_url(unserialize($attachment->message));includes\Api\RestApi.php:1661
unserialize$this_attachment = wp_get_attachment_url(unserialize($attachment->message));includes\Api\RestApi.php:1689
unserialize$project->categories = unserialize($project->categories);includes\Api\RestApi.php:1755
unserialize$project->categories = unserialize($project->categories);includes\Api\RestApi.php:1778
unserialize$custom_field->default_value = unserialize($custom_field->default_value);includes\Api\RestApi.php:1841
unserialize$custom_field->field_values = unserialize($custom_field->default_value);includes\Api\RestApi.php:1842
unserialize$custom_field->field_values = unserialize($custom_field->field_values);includes\Api\RestApi.php:1859
unserialize$project->categories = unserialize($project->categories);includes\Api\RestApi.php:1884
unserialize$this_attachment = wp_get_attachment_url(unserialize($attachment->message));includes\Api\RestApi.php:2069
unserialize$this_attachment = wp_get_attachment_url(unserialize($attachment->message));includes\Base\AjaxHandler.php:381
unserialize$this_attachment = wp_get_attachment_url(unserialize($attachment->message));includes\Base\AjaxHandler.php:421
unserialize$liked_projects = unserialize(get_option('zpm_liked_projects_' . $user_id, false));includes\Base\AjaxHandler.php:1152
unserialize$liked_tasks = unserialize($liked_tasks);includes\Base\AjaxHandler.php:2108
unserialize$followed_tasks = unserialize($followed_tasks);includes\Base\AjaxHandler.php:2131
unserialize$following = in_array($task_id, unserialize($followed_tasks)) ? true : false;includes\Base\AjaxHandler.php:2147
unserialize$followed_tasks = unserialize($followed_tasks);includes\Base\AjaxHandler.php:2257
unserializeif (unserialize($attachment->type) == 'attachment') {includes\Base\BaseController.php:264
unserialize'message' => unserialize($attachment->message),includes\Base\BaseController.php:270
unserialize$attachmentId = unserialize( $attachment->message );includes\Core\Message.php:142
unserializeif (unserialize($attachment->type) == 'attachment') {includes\Core\Project.php:65
unserialize'message' => unserialize($attachment->message),includes\Core\Project.php:71
unserializeif (unserialize($attachment->type) == 'attachment') {includes\Core\Projects.php:1006
unserialize'message' => unserialize($attachment->message),includes\Core\Projects.php:1012
unserializeif (unserialize($comment->type) !== 'attachment') {includes\Core\Projects.php:1039
unserialize<div class="zpm_comment_content">' . stripslashes_deep(unserialize($comment->message)) . '</div>';includes\Core\Projects.php:1052
unserialize$attachment_id = unserialize($attachment->message);includes\Core\Projects.php:1057
unserialize$other_data = unserialize($project->other_data);includes\Core\Projects.php:2230
unserializeif (unserialize($attachment->type) == 'attachment') {includes\Core\Task.php:109
unserialize'message' => unserialize($attachment->message),includes\Core\Task.php:115
unserialize$type = unserialize($attachment->type);includes\Core\Tasks.php:941
unserialize'message' => unserialize($attachment->message),includes\Core\Tasks.php:948
unserializeif (unserialize($attachment->type) == 'attachment') {includes\Core\Tasks.php:967
unserialize'message' => unserialize($attachment->message),includes\Core\Tasks.php:973
unserialize$type = unserialize($comment->type);includes\Core\Tasks.php:1293
unserialize<div class="zpm_comment_content">' . stripslashes_deep(unserialize($comment->message)) . '</div>';includes\Core\Tasks.php:1308
unserialize$attachment_id = unserialize($attachment->message);includes\Core\Tasks.php:1313
unserialize$attachment_id = unserialize($attachment->message);includes\Core\Utillities.php:1833
unserialize$liked_projects = unserialize(get_option( 'zpm_liked_projects_' . $current_user->data->ID, false ));templates\parts\project-panel.php:30
unserialize$assigned_categories = (array) unserialize($project->categories);templates\parts\project-panel.php:41
unserialize$liked_projects = unserialize($liked_projects);templates\parts\project-single.php:31
unserialize$my_followed_tasks = unserialize(get_option('zpm_followed_tasks_' . $user_id, false));templates\parts\task_view.php:24
unserialize$user_followed_tasks = unserialize(get_option('zpm_followed_tasks_' . $user->data->ID, false));templates\parts\task_view.php:64
unserialize$liked_tasks = unserialize(get_option('zpm_liked_tasks_' . $current_user->data->ID, false));templates\tasks.php:22
unserialize$followed_tasks = unserialize(get_option('zpm_followed_tasks_' . $current_user->data->ID, false));templates\tasks.php:23

Bundled Libraries

DataTables

SQL Query Safety

82% prepared124 total queries

Output Escaping

89% escaped2536 total outputs
Data Flows · Security
24 unsanitized

Data Flow Analysis

25 flows24 with unsanitized paths
getStatus (includes\Base\AjaxHandler.php:256)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Zephyr Project Manager Attack Surface

Entry Points47
Unprotected0

REST API Routes 47

GET/wp-json/zephyr_project_manager/v1/tasksincludes\Api\RestApi.php:30
GET/wp-json/zephyr_project_manager/v1/tasks/subtasksincludes\Api\RestApi.php:37
GET/wp-json/zephyr_project_manager/v1/tasks/messageincludes\Api\RestApi.php:52
GET/wp-json/zephyr_project_manager/v1/tasks/subtasks/createincludes\Api\RestApi.php:91
GET/wp-json/zephyr_project_manager/v1/tasks/discussionincludes\Api\RestApi.php:112
GET/wp-json/zephyr_project_manager/v1/tasks/deleteincludes\Api\RestApi.php:127
GET/wp-json/zephyr_project_manager/v1/tasks/copyincludes\Api\RestApi.php:142
GET/wp-json/zephyr_project_manager/v1/tasks/convertincludes\Api\RestApi.php:157
GET/wp-json/zephyr_project_manager/v1/tasks/completeincludes\Api\RestApi.php:172
GET/wp-json/zephyr_project_manager/v1/tasks/createincludes\Api\RestApi.php:193
GET/wp-json/zephyr_project_manager/v1/permissionsincludes\Api\RestApi.php:268
GET/wp-json/zephyr_project_manager/v1/projectsincludes\Api\RestApi.php:283
GET/wp-json/zephyr_project_manager/v1/projects/dashboardincludes\Api\RestApi.php:290
GET/wp-json/zephyr_project_manager/v1/milestonesincludes\Api\RestApi.php:297
GET/wp-json/zephyr_project_manager/v1/projects/createincludes\Api\RestApi.php:304
GET/wp-json/zephyr_project_manager/v1/projects/update_statusincludes\Api\RestApi.php:337
GET/wp-json/zephyr_project_manager/v1/projects/updateincludes\Api\RestApi.php:364
GET/wp-json/zephyr_project_manager/v1/statusesincludes\Api\RestApi.php:409
GET/wp-json/zephyr_project_manager/v1/settingsincludes\Api\RestApi.php:417
GET/wp-json/zephyr_project_manager/v1/teamsincludes\Api\RestApi.php:432
GET/wp-json/zephyr_project_manager/v1/projects/discussionincludes\Api\RestApi.php:440
GET/wp-json/zephyr_project_manager/v1/projects/messageincludes\Api\RestApi.php:455
GET/wp-json/zephyr_project_manager/v1/projects/tasksincludes\Api\RestApi.php:488
GET/wp-json/zephyr_project_manager/v1/projects/deleteincludes\Api\RestApi.php:503
GET/wp-json/zephyr_project_manager/v1/projects/copyincludes\Api\RestApi.php:518
GET/wp-json/zephyr_project_manager/v1/projects/add_to_dashboardincludes\Api\RestApi.php:533
GET/wp-json/zephyr_project_manager/v1/projects/remove_from_dashboardincludes\Api\RestApi.php:548
GET/wp-json/zephyr_project_manager/v1/usersincludes\Api\RestApi.php:563
GET/wp-json/zephyr_project_manager/v1/authenticateincludes\Api\RestApi.php:570
GET/wp-json/zephyr_project_manager/v1/get_authenticatedincludes\Api\RestApi.php:615
GET/wp-json/zephyr_project_manager/v1/authenticate_appincludes\Api\RestApi.php:623
GET/wp-json/zephyr_project_manager/v1/categoriesincludes\Api\RestApi.php:668
GET/wp-json/zephyr_project_manager/v1/tasks/updateincludes\Api\RestApi.php:675
GET/wp-json/zephyr_project_manager/v1/statisticsincludes\Api\RestApi.php:756
GET/wp-json/zephyr_project_manager/v1/categories/createincludes\Api\RestApi.php:763
GET/wp-json/zephyr_project_manager/v1/categories/updateincludes\Api\RestApi.php:790
GET/wp-json/zephyr_project_manager/v1/categories/deleteincludes\Api\RestApi.php:823
GET/wp-json/zephyr_project_manager/v1/templatesincludes\Api\RestApi.php:838
GET/wp-json/zephyr_project_manager/v1/custom_fieldsincludes\Api\RestApi.php:845
GET/wp-json/zephyr_project_manager/v1/custom_fields/createincludes\Api\RestApi.php:852
GET/wp-json/zephyr_project_manager/v1/custom_fields/updateincludes\Api\RestApi.php:891
GET/wp-json/zephyr_project_manager/v1/files/uploadincludes\Api\RestApi.php:936
GET/wp-json/zephyr_project_manager/v1/custom_fields/deleteincludes\Api\RestApi.php:954
GET/wp-json/zephyr_project_manager/v1/general/save_settingsincludes\Api\RestApi.php:969
GET/wp-json/zephyr_project_manager/v1/general/statusincludes\Api\RestApi.php:1026
GET/wp-json/zephyr_project_manager/v1/activityincludes\Api\RestApi.php:1033
GET/wp-json/zephyr_project_manager/v1/activity/logincludes\Api\RestApi.php:1040
WordPress Hooks 52
filterwp_mail_content_typeincludes\Api\Emails.php:35
filterwp_mail_fromincludes\Api\Emails.php:36
filterwp_mail_from_nameincludes\Api\Emails.php:37
actionrest_api_initincludes\Api\RestApi.php:29
actionadmin_menuincludes\Api\SettingsApi.php:25
actionnetwork_admin_menuincludes\Api\SettingsApi.php:26
actionadmin_enqueue_scriptsincludes\Base\EnqueueScripts.php:22
actionwp_enqueue_scriptsincludes\Base\EnqueueScripts.php:23
filterzpm_disable_scriptsincludes\Base\EnqueueScripts.php:24
filterzpm_after_quickmenuincludes\Core\Core.php:20
filterzpm_after_quickmenuincludes\Core\Core.php:24
filterzpm_after_quickmenuincludes\Core\Core.php:28
filterzpm_category_projectsincludes\Core\Core.php:31
actionzpm_project_completedincludes\Core\Core.php:32
actionzpm_project_assignedincludes\Core\Core.php:33
actionzpm_new_task_settingsincludes\Core\Core.php:34
actionset_user_roleincludes\Core\Core.php:35
actionzpm_update_progressincludes\Core\Projects.php:28
actionzpm_weekly_updatesincludes\Core\Projects.php:36
actionzpm_task_notificationsincludes\Core\Projects.php:44
filterzpm_filter_projectincludes\Core\Projects.php:51
filterzpm_filter_projectsincludes\Core\Projects.php:52
filterzpm_should_show_projectincludes\Core\Projects.php:53
filterzpm_filter_taskincludes\Core\Tasks.php:30
filterzpm_can_complete_taskincludes\Core\Tasks.php:31
filterzpm_can_view_taskincludes\Core\Tasks.php:32
actionzpm/task/status_changedincludes\Core\Tasks.php:33
filterheartbeat_receivedincludes\Core\Tasks.php:34
actionzpm_daily_processesincludes\functions.php:16
actionzpm_hourly_processesincludes\functions.php:17
actionwp_dashboard_setupincludes\Pages\Admin.php:37
actionwp_loginincludes\Pages\Admin.php:38
actionwp_logoutincludes\Pages\Admin.php:39
filterzpm-project-tab-pagesincludes\Pages\Admin.php:40
filterupload_mimesincludes\Pages\Admin.php:53
filterzpm_task_item_extra_detailsincludes\Pages\Admin.php:56
actionadmin_print_scriptsincludes\Pages\Admin.php:59
actionadmin_menuincludes\Pages\Admin.php:60
actionnetwork_admin_menuincludes\Pages\Admin.php:61
actioncustom_menu_orderincludes\Pages\Admin.php:65
filterzpm_has_zephyr_accessincludes\Pages\Admin.php:66
actionuser_registerincludes\Pages\Admin.php:69
actionwp_initialize_sitezephyr-project-manager.php:98
actioninitzephyr-project-manager.php:113
actionplugins_loadedzephyr-project-manager.php:147
actionadmin_initzephyr-project-manager.php:148
filteradmin_body_classzephyr-project-manager.php:149
actionadmin_noticeszephyr-project-manager.php:152
actionadmin_menuzephyr-project-manager.php:186
actionnetwork_admin_menuzephyr-project-manager.php:187
filterzpm/user/datazephyr-project-manager.php:188
filterajax_query_attachments_argszephyr-project-manager.php:219
Maintenance & Trust

Zephyr Project Manager Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedFeb 11, 2026
PHP min version5.2.4
Downloads73K

Community Trust

Rating96/100
Number of ratings98
Active installs1K
Developer Profile

Zephyr Project Manager Developer Profile

Dylan James

2 plugins · 1K total installs

70
trust score
Avg Security Score
87/100
Avg Patch Time
155 days
View full developer profile
Detection Fingerprints

How We Detect Zephyr Project Manager

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/zephyr-project-manager/assets/css/linearicons.css/wp-content/plugins/zephyr-project-manager/assets/css/fullcalender.css/wp-content/plugins/zephyr-project-manager/assets/js/vendor/jquery.js/wp-content/plugins/zephyr-project-manager/assets/js/vendor/jquery-ui.js/wp-content/plugins/zephyr-project-manager/assets/js/vendor/moment.min.js/wp-content/plugins/zephyr-project-manager/assets/js/vendor/fullcalendar.min.js/wp-content/plugins/zephyr-project-manager/assets/js/vendor/locale-all.js/wp-content/plugins/zephyr-project-manager/assets/js/vendor/sweetalert.js+37 more
Script Paths
/wp-content/plugins/zephyr-project-manager/assets/js/main.js/wp-content/plugins/zephyr-project-manager/assets/js/zpm-functions.js/wp-content/plugins/zephyr-project-manager/assets/js/zpm-admin.js/wp-content/plugins/zephyr-project-manager/assets/js/zpm-vue.js/wp-content/plugins/zephyr-project-manager/assets/js/zpm-tasks.js/wp-content/plugins/zephyr-project-manager/assets/js/zpm-projects.js+9 more
Version Parameters
zephyr-project-manager/assets/css/linearicons.css?ver=zephyr-project-manager/assets/css/fullcalender.css?ver=zephyr-project-manager/assets/js/vendor/jquery.js?ver=zephyr-project-manager/assets/js/vendor/jquery-ui.js?ver=zephyr-project-manager/assets/js/vendor/moment.min.js?ver=zephyr-project-manager/assets/js/vendor/fullcalendar.min.js?ver=zephyr-project-manager/assets/js/vendor/locale-all.js?ver=zephyr-project-manager/assets/js/vendor/sweetalert.js?ver=zephyr-project-manager/assets/js/vendor/tooltip.js?ver=zephyr-project-manager/assets/js/vendor/chart.min.js?ver=zephyr-project-manager/assets/js/vendor/bootstrap.min.js?ver=zephyr-project-manager/assets/js/vendor/bootstrap-notify.js?ver=zephyr-project-manager/assets/js/vendor/summernote.js?ver=zephyr-project-manager/assets/js/vendor/jquery.form.js?ver=zephyr-project-manager/assets/js/vendor/jquery.validate.js?ver=zephyr-project-manager/assets/js/vendor/jquery.tagsinput.js?ver=zephyr-project-manager/assets/js/vendor/bootstrap-select.js?ver=zephyr-project-manager/assets/js/vendor/bootstrap-datepicker.js?ver=zephyr-project-manager/assets/js/vendor/jquery.timepicker.js?ver=zephyr-project-manager/assets/js/vendor/dataTables.min.js?ver=zephyr-project-manager/assets/js/vendor/dataTables.bootstrap.min.js?ver=zephyr-project-manager/assets/js/vendor/iziToast.min.js?ver=zephyr-project-manager/assets/js/vendor/fullcalendar.min.js?ver=zephyr-project-manager/assets/js/vendor/vue.js?ver=zephyr-project-manager/assets/js/vendor/vue-router.js?ver=zephyr-project-manager/assets/js/vendor/axios.min.js?ver=zephyr-project-manager/assets/js/vendor/vue-select.js?ver=zephyr-project-manager/assets/js/vendor/jquery.fancybox.min.js?ver=zephyr-project-manager/assets/js/vendor/jquery.nestable.min.js?ver=zephyr-project-manager/assets/js/vendor/jquery.repeater.min.js?ver=zephyr-project-manager/assets/js/main.js?ver=zephyr-project-manager/assets/js/zpm-functions.js?ver=zephyr-project-manager/assets/js/zpm-admin.js?ver=zephyr-project-manager/assets/js/zpm-vue.js?ver=zephyr-project-manager/assets/js/zpm-tasks.js?ver=zephyr-project-manager/assets/js/zpm-projects.js?ver=zephyr-project-manager/assets/js/zpm-users.js?ver=zephyr-project-manager/assets/js/zpm-calendar.js?ver=zephyr-project-manager/assets/js/zpm-messages.js?ver=zephyr-project-manager/assets/js/zpm-settings.js?ver=zephyr-project-manager/assets/js/zpm-dashboard.js?ver=zephyr-project-manager/assets/js/zpm-activity-log.js?ver=zephyr-project-manager/assets/js/zpm-comments.js?ver=zephyr-project-manager/assets/js/zpm-files.js?ver=zephyr-project-manager/assets/js/zpm-invoice.js?ver=

HTML / DOM Fingerprints

CSS Classes
zephyr-project-managerzpm-settings-ics-sync-enabled
HTML Comments
translators: Pro version requirement message. %s: Required Pro version number
Data Attributes
zpm_save_general_settingszpm-settings-ics-sync-enabled
JS Globals
ZPM_PLUGIN_PATHZPM_PLUGIN_URLZPM_PLUGINZPM_PROJECTS_TABLEZPM_TASKS_TABLEZPM_MESSAGES_TABLE+16 more
FAQ

Frequently Asked Questions about Zephyr Project Manager