AJAX Errors
| Error | Cause | Fix |
| “Security check failed” | Nonce has expired (session timeout) | Reload the page and try again |
| “Permission denied” | User does not have manage_options capability | Log in with an Administrator account |
| “AJAX request failed” | Server returned a non-200 response | Check PHP error logs, disable conflicting plugins |
Scan Errors
| Error | Cause | Fix |
| “Could not fetch page” | The page URL returned an error or redirect loop | Verify the page loads normally in a browser |
| “Page timed out” | Server took too long to render the page | Increase max_execution_time, check page complexity |
| “Empty response” | The page returned no HTML content | Check for caching, authentication, or maintenance mode |
License Errors
| Error | Cause | Fix |
| “License validation failed” | Server could not connect to license API | Check that your host allows outbound HTTPS to crucibleinsight.com |
| “License expired” | License period has ended | Renew at crucibleinsight.com/account |
| “Maximum activations reached” | All site slots for your tier are used | Deactivate on an unused site first |
| “Invalid license key” | Key not recognized | Double-check for typos, contact support if correct |
Database Errors
If you see database errors during activation, verify your MySQL user has CREATE TABLE and ALTER TABLE privileges. Crucible Scan creates custom tables during activation using the WordPress dbDelta() function, which requires these permissions.