Diagnose delivery, permissions, cleanup, and operational boundaries.
How it works
- Cybermaps administration pages require
manage_options; multisite network settings requiremanage_network_options. - Setting saves and state-changing admin actions use WordPress nonces and capability checks.
- Private REST reads compare
X-Cybermaps-Secretwithhash_equals()and send private, non-cacheable responses. - Protected Varnish PURGE requests are disabled until configured and are limited to exact Cybermaps publication URLs.
- Report, analytics, and configuration exports require authorization and use
explicit content types and filenames, no-cache headers, and
X-Content-Type-Options: nosniff. Downloadable formats use attachment disposition; printable report HTML is served inline. - CSV exports protect spreadsheet-leading formula characters and use UTF-8 output.
- Configuration imports are size-bounded, parsed before writes, sanitized by their owning configuration group, verified after writes, and rolled back on a failed verification.
- Cybermaps admin responses restrict framing to the same origin with a
Content-Security-Policy: frame-ancestors 'self'header. - Public discovery documents are read-only. The admin REST purge requires
manage_options; the optional MCP operations mode exposes a separately authenticated and capability-checked purge tool. Filesystem changes remain ownership-verified.
LLMS build responses
HTTP 503 with Retry-After: 5 indicates a busy or unfinished generation; retry
after the stated delay. HTTP 507 with publication_too_large indicates an
output-size or PHP memory-headroom limit. Neither response is a completed
publication. See AI publishing for the limits
and the distinction between a cooperative deadline and a blocked backend.