Hold My Court Security & Risk Analysis

wordpress.org/plugins/hold-my-court

Lightweight court reservation plugin for clubs and HOAs. Manage tennis, pickleball, bocce, horseshoes, and more.

0 active installs v1.0.1 PHP 7.0+ WP 5.3+ Updated Dec 6, 2025
club-managementcourt-bookingpickleballreservationstennis
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Download
Safety Verdict

Is Hold My Court Safe to Use in 2026?

Generally Safe

Score 100/100

Hold My Court has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 3mo ago
Risk Assessment

The "hold-my-court" plugin v1.0.1 exhibits a generally strong security posture based on the static analysis. The complete absence of direct SQL injection vulnerabilities through prepared statements, along with a high percentage of properly escaped output, are significant strengths. Furthermore, the plugin demonstrates good practice by implementing nonce and capability checks on its AJAX handlers and the lack of any recorded vulnerabilities in its history is a positive indicator. However, while the current analysis shows no critical or high-severity issues, it's important to note that the attack surface, consisting of 4 AJAX handlers and 3 shortcodes, represents potential entry points. Though all AJAX handlers have auth checks, and no REST API routes were found, a large attack surface can increase the complexity of thorough security auditing. The excellent output escaping is a major mitigation for potential cross-site scripting (XSS) concerns, but a small percentage of unescaped output, while not critical, is a minor area of potential risk.

In conclusion, the plugin demonstrates a commendable commitment to security best practices, particularly regarding data handling and authentication. The absence of known vulnerabilities and the proactive implementation of security checks are noteworthy. The primary areas to remain vigilant about would be ensuring continued robust security as new versions are released and that the small percentage of unescaped output does not become a vector for issues in future code. The plugin appears well-maintained and securely coded for its current version.

Key Concerns

  • Minor output escaping concern
Vulnerabilities
None known

Hold My Court Security Vulnerabilities

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

Hold My Court Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
12 prepared
Unescaped Output
1
35 escaped
Nonce Checks
6
Capability Checks
9
File Operations
0
External Requests
0
Bundled Libraries
0

SQL Query Safety

100% prepared12 total queries

Output Escaping

97% escaped36 total outputs
Data Flows
All sanitized

Data Flow Analysis

3 flows
ajax_book (hold-my-court.php:520)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Hold My Court Attack Surface

Entry Points7
Unprotected0

AJAX Handlers 4

authwp_ajax_holdmyco_cb_fetchhold-my-court.php:174
authwp_ajax_holdmyco_cb_bookhold-my-court.php:175
authwp_ajax_holdmyco_cb_cancelhold-my-court.php:176
authwp_ajax_holdmyco_cb_my_reservationshold-my-court.php:177

Shortcodes 3

[hold_my_court] hold-my-court.php:170
[hold_my_court_admin] hold-my-court.php:171
[hold_my_reservations] hold-my-court.php:172
WordPress Hooks 3
actionwp_enqueue_scriptshold-my-court.php:173
actionadmin_menuhold-my-court.php:178
actionadmin_inithold-my-court.php:179
Maintenance & Trust

Hold My Court Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedDec 6, 2025
PHP min version7.0
Downloads285

Community Trust

Rating0/100
Number of ratings0
Active installs0
Developer Profile

Hold My Court Developer Profile

gnault

1 plugin · 0 total installs

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

How We Detect Hold My Court

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/hold-my-court/css/holdmyco.css/wp-content/plugins/hold-my-court/js/holdmyco.js
Script Paths
/wp-content/plugins/hold-my-court/js/holdmyco.js
Version Parameters
hold-my-court/css/holdmyco.css?ver=hold-my-court/js/holdmyco.js?ver=

HTML / DOM Fingerprints

CSS Classes
hmc-gridhmc-court-headerhmc-day-navhmc-book-buttonhmc-reservation-listhmc-admin-settings
Data Attributes
data-court-indexdata-slot-utcdata-user-id
JS Globals
holdmyco_ajax_objectholdmyco_court_dataholdmyco_settings
REST Endpoints
/wp-json/holdmyco/v1/booking/wp-json/holdmyco/v1/reservations
Shortcode Output
[hold_my_court][hold_my_court_admin][hold_my_reservations]
FAQ

Frequently Asked Questions about Hold My Court