OIntel is designed with a strict read-only security model:
- No file writes — OIntel never writes to the filesystem outside its own database tables
- No code execution — User input is never executed
- Admin-only — All AJAX actions, REST writes, and admin pages require
manage_optionscapability - Nonce verification — Every AJAX action verifies a WordPress nonce
- Input sanitization — All user input is sanitized before storage
- Output escaping — All output uses
esc_html(),esc_attr(),esc_url()appropriately - External requests — Only TTFB measurement (internal) and optional WPVulnDB API call (with user-supplied key). All external requests use
wp_remote_get()with timeouts - SQL — All database queries use
$wpdb->prepare()with placeholders
