Architecture
High-Level Modules
suma-security/
suma-security.php
includes/
class-plugin.php
class-lifecycle.php
modules/
woocommerce-security.php
woocommerce-security/
admin-pages.php
assets.php
checkout-gates.php
fingerprint.php
order-ip.php
session.php
shared.php
verification-ui.php
verification.php
assets/js/src/
assets/js/dist/
uninstall.php
Bootstrap and Lifecycle
suma-security.php
- Declares plugin metadata and constants
- Loads
class-plugin.php - Calls
suma_security_Plugin::boot()
class-plugin.php
- Loads module orchestrator and lifecycle class
- Registers activation and deactivation hooks
- Loads translations on
plugins_loaded
class-lifecycle.php
- Creates required tables if functions exist
- Adds baseline options without overwriting existing values
- Supports multisite network activation loop
Orchestrator
woocommerce-security.php defines constants and requires module files.
Groups:
- Settings option constants
- Tuning constants (thresholds, TTLs)
- Database and cookie constants
- Module loader include chain
Frontend Assets
Fingerprint Script
assets.php enqueues checkout-velocity-fingerprint.js on checkout pages.
OTP Script
verification-ui.php enqueues checkout-verification.js and localizes:
ajaxUrl- nonce (
suma_security_checkout_otp) - initial
requiresVerification
Admin Module
admin-pages.php provides:
- Settings registration and sanitization
- Settings page rendering
- Tools page with lock status tables
- Manual unlock action with nonce checks