PsyBooker – Calendar for Appointments Security & Risk Analysis

wordpress.org/plugins/psybooker-calendar-for-appointments

Professional appointment booking system designed specifically for therapists and psychologists.

10 active installs v1.5.1 PHP 7.4+ WP 6.2+ Updated Nov 30, 2025
appointmentsbookingcalendargoogle-calendarpsychology
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Download
Safety Verdict

Is PsyBooker – Calendar for Appointments Safe to Use in 2026?

Generally Safe

Score 100/100

PsyBooker – Calendar for Appointments has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 4mo ago
Risk Assessment

The "psybooker-calendar-for-appointments" plugin v1.5.1 exhibits a mixed security posture. While it demonstrates good practices in its use of prepared statements for SQL queries and a significant number of nonce and capability checks, several concerning areas require attention. The presence of one unprotected AJAX handler represents a direct entry point for potential unauthenticated attacks. Furthermore, the taint analysis revealing two flows with unsanitized paths, although not classified as critical or high, indicates potential for vulnerabilities if these paths are exploitable. The plugin's vulnerability history is clean, with no recorded CVEs. This is a positive indicator, suggesting a generally well-maintained codebase. However, the static analysis findings, particularly the unprotected AJAX handler and the unsanitized paths, highlight that even without past vulnerabilities, proactive security measures are crucial. The overall risk is moderate due to the identified potential entry points and the presence of unsanitized data flows, despite the lack of historical vulnerabilities.

Key Concerns

  • AJAX handler without authentication check
  • Flows with unsanitized paths
  • Lower percentage of properly escaped output
Vulnerabilities
None known

PsyBooker – Calendar for Appointments Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Code Analysis
Analyzed Mar 17, 2026

PsyBooker – Calendar for Appointments Code Analysis

Dangerous Functions
0
Raw SQL Queries
11
79 prepared
Unescaped Output
88
151 escaped
Nonce Checks
20
Capability Checks
18
File Operations
1
External Requests
3
Bundled Libraries
0

SQL Query Safety

88% prepared90 total queries

Output Escaping

63% escaped239 total outputs
Data Flows
2 unsanitized

Data Flow Analysis

5 flows2 with unsanitized paths
render_appointments_page (includes\class-wppa-admin.php:181)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
1 unprotected

PsyBooker – Calendar for Appointments Attack Surface

Entry Points9
Unprotected1

AJAX Handlers 6

authwp_ajax_wppa_delete_appointmentincludes\class-wppa-admin.php:61
authwp_ajax_wppa_get_overridesincludes\class-wppa-admin.php:62
authwp_ajax_wppa_sync_googleincludes\class-wppa-admin.php:63
authwp_ajax_wppa_set_admin_tfincludes\class-wppa-admin.php:64
authwp_ajax_wppa_load_admin_daysincludes\class-wppa-admin.php:66
authwp_ajax_wppa_dismiss_encryption_noticeincludes\class-wppa-plugin.php:101

REST API Routes 2

GET/wp-json/wppa/v1/slotsincludes\class-wppa-rest.php:32
POST/wp-json/wppa/v1/bookincludes\class-wppa-rest.php:52

Shortcodes 1

[wppa_booking] includes\class-wppa-plugin.php:189
WordPress Hooks 20
actionadmin_menuincludes\class-wppa-admin.php:55
actionadmin_initincludes\class-wppa-admin.php:56
actionadmin_enqueue_scriptsincludes\class-wppa-admin.php:57
actionadmin_footerincludes\class-wppa-admin.php:59
actionadmin_post_wppa_add_availabilityincludes\class-wppa-admin.php:65
actionadmin_post_wppa_delete_availabilityincludes\class-wppa-admin.php:67
actionadmin_post_wppa_save_weekdayincludes\class-wppa-admin.php:68
actionadmin_post_wppa_save_weeklyincludes\class-wppa-admin.php:69
actionadmin_post_wppa_save_dailyincludes\class-wppa-admin.php:70
actionadmin_post_wppa_delete_appointmentincludes\class-wppa-admin.php:71
actionadmin_noticesincludes\class-wppa-plugin.php:60
actionadmin_enqueue_scriptsincludes\class-wppa-plugin.php:78
actioninitincludes\class-wppa-plugin.php:138
actionwp_enqueue_scriptsincludes\class-wppa-plugin.php:139
actionadmin_post_wppa_google_oauthincludes\class-wppa-plugin.php:142
actionadmin_post_wppa_google_disconnectincludes\class-wppa-plugin.php:143
actionwp_headincludes\class-wppa-plugin.php:156
actionadmin_initincludes\class-wppa-privacy.php:26
actionadmin_initincludes\class-wppa-privacy.php:27
actionrest_api_initincludes\class-wppa-rest.php:23
Maintenance & Trust

PsyBooker – Calendar for Appointments Maintenance & Trust

Maintenance Signals

WordPress version tested6.8.5
Last updatedNov 30, 2025
PHP min version7.4
Downloads174

Community Trust

Rating0/100
Number of ratings0
Active installs10
Developer Profile

PsyBooker – Calendar for Appointments Developer Profile

dkoreiba

1 plugin · 10 total installs

94
trust score
Avg Security Score
100/100
Avg Patch Time
30 days
View full developer profile
Detection Fingerprints

How We Detect PsyBooker – Calendar for Appointments

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/psybooker-calendar-for-appointments/admin/wppa-admin.css/wp-content/plugins/psybooker-calendar-for-appointments/admin/wppa-admin.js
Version Parameters
psybooker-calendar-for-appointments/admin/wppa-admin.css?ver=psybooker-calendar-for-appointments/admin/wppa-admin.js?ver=

HTML / DOM Fingerprints

Data Attributes
data-wppa-nonce-set-tfdata-wppa-nonce-set-tf-ajaxdata-wppa-nonce-load-daysdata-wppa-nonce-get-overridesdata-wppa-nonce-sync-google
JS Globals
WPPA_ADMIN
FAQ

Frequently Asked Questions about PsyBooker – Calendar for Appointments