Appointment SW Security & Risk Analysis

wordpress.org/plugins/appointmentsw

Self-service appointment booking for WordPress. Calendar, arbitrary time windows, holidays, modal booking flow, REST API.

10 active installs v2.0.0 PHP 7.4+ WP 6.4+ Updated Jun 11, 2026
appointmentsbookingcalendarreservationsscheduler
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Appointment SW Safe to Use in 2026?

Generally Safe

Score 100/100

Appointment SW has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 2mo ago
Risk Assessment

The "appointmentsw" v1.3 plugin exhibits a mixed security posture. On the positive side, it has no recorded vulnerabilities in its history and demonstrates good practices in areas like SQL query sanitization (89% prepared statements) and the absence of dangerous functions or file operations. The presence of 6 nonce checks and 1 capability check indicates some level of security awareness. However, concerns arise from the static analysis. The plugin has a total of 6 entry points, with one AJAX handler lacking authentication checks, presenting a direct attack vector. Furthermore, the taint analysis reveals 3 flows with unsanitized paths, including two classified as high severity, indicating potential risks of data manipulation or execution if these paths are triggered by malicious input. The moderate rate of proper output escaping (65%) also suggests a potential for cross-site scripting vulnerabilities if not all outputs are handled securely.

Key Concerns

  • Unprotected AJAX handler
  • High severity unsanitized taint flow (x2)
  • Moderate output escaping rate
Vulnerabilities
None known

Appointment SW Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Version History

Appointment SW Release Timeline

v2.0.0Current
v1.3
v1.2
v1.1
v1.0
Code Analysis
Analyzed Mar 17, 2026

Appointment SW Code Analysis

Dangerous Functions
0
Raw SQL Queries
4
32 prepared
Unescaped Output
22
41 escaped
Nonce Checks
6
Capability Checks
1
File Operations
0
External Requests
0
Bundled Libraries
0

SQL Query Safety

89% prepared36 total queries

Output Escaping

65% escaped63 total outputs
Data Flows · Security
3 unsanitized

Data Flow Analysis

4 flows3 with unsanitized paths
appointmentsw_settings (appointmentsw.php:330)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
1 unprotected

Appointment SW Attack Surface

Entry Points6
Unprotected1

AJAX Handlers 1

authwp_ajax_check_changesappointmentsw.php:76

Shortcodes 5

[appointmentsw_form] core\class-appointmentsw-shortcodes.php:29
[appointmentsw_myaccount] core\class-appointmentsw-shortcodes.php:32
[appointmentsw_admin] core\class-appointmentsw-shortcodes.php:35
[appointmentsw_settings] core\class-appointmentsw-shortcodes.php:40
[appointmentsw_vacations] core\class-appointmentsw-shortcodes.php:42
WordPress Hooks 7
actioninitappointmentsw.php:68
actionadmin_noticesappointmentsw.php:69
actionwp_headappointmentsw.php:71
actionlogin_enqueue_scriptsappointmentsw.php:73
actionadmin_menuappointmentsw.php:92
actionadmin_initappointmentsw.php:95
actionwp_enqueue_scriptsappointmentsw.php:97
Maintenance & Trust

Appointment SW Maintenance & Trust

Maintenance Signals

WordPress version tested7.0.2
Last updatedJun 11, 2026
PHP min version7.4
Downloads2K

Community Trust

Rating0/100
Number of ratings0
Active installs10
Developer Profile

Appointment SW Developer Profile

ablancodev

5 plugins · 100 total installs

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

How We Detect Appointment SW

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/appointmentsw/appointmentsw.css/wp-content/plugins/appointmentsw/appointmentsw.js/wp-content/plugins/appointmentsw/appointmentsw_admin.css/wp-content/plugins/appointmentsw/appointmentsw_admin.js
Script Paths
/wp-content/plugins/appointmentsw/appointmentsw.js/wp-content/plugins/appointmentsw/appointmentsw_admin.js
Version Parameters
appointmentsw/appointmentsw.css?ver=appointmentsw/appointmentsw.js?ver=

HTML / DOM Fingerprints

CSS Classes
appointmentsw_calendarappointmentsw_formappointmentsw_admin_formappointmentsw-successappointmentsw-warning
Data Attributes
data-appointmentsw-nonce
JS Globals
appointmentsw_ajax_urlappointmentsw_nonce
Shortcode Output
<div class="success col-sm-12 center"><h1>RESERVA GUARDADA CORRECTAMENTE</h1></div><div class="warning col-sm-12 center"><h1>Ah ocurrido algún error, inténtelo de nuevo !!</h1></div><div class="success col-sm-12 center"><h1>Appointment canceled</h1></div><div class="warning col-sm-12 center"><h1>An error has occured</h1></div>
FAQ

Frequently Asked Questions about Appointment SW