=== Aegisify Core ===
Contributors: aegisify
Donate link: https://aegisify.com/
Tags: security, seo, backup, migration, dashboard
Requires at least: 6.8
Tested up to: 6.9
Requires PHP: 8.2
Stable tag: 1.2.7
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Aegisify Core adds a clean admin dashboard for managing the Aegisify suite and (optionally) enabling suite modules from one place.

== Description ==

Aegisify Core is the foundation plugin for the Aegisify ecosystem. It focuses on providing:

* A single WordPress Admin entry point (“Aegisify”) for suite visibility
* A lightweight dashboard UI
* Module enable/disable controls (modules remain inert when disabled)
* A suite-friendly structure intended for future expansion

This plugin is designed to be minimal, fast, and WordPress-native in its admin experience.

= Important Note About Distribution =
If you plan to distribute Aegisify Core via WordPress.org, make sure all install/update behavior complies with the WordPress.org plugin guidelines. See the “Compliance Notes” section below.

== Installation ==

1. Upload the `aegisify` folder to your `/wp-content/plugins/` directory, or install via the Plugins screen in WordPress.
2. Activate “Aegisify Core” through the “Plugins” menu in WordPress.
3. Go to **Aegisify → Dashboard** to view suite options.

== Frequently Asked Questions ==

= Does Aegisify Core collect or send data? =
Aegisify Core may connect to Aegisify endpoints for license/status checks and related suite functionality, depending on how you configure and use it. If you submit to WordPress.org, you should clearly disclose:
* what data is transmitted (e.g., site URL/domain, license key, admin email),
* when it is transmitted (manual action vs automatic),
* and where users can read the privacy policy.

= Will it slow down my site? =
Aegisify Core is primarily an admin plugin. It should have no impact on front-end performance unless a module explicitly adds front-end features.

= Does it include security/SEO/backup features by itself? =
Aegisify Core provides the admin foundation. The ecosystem features live in their respective plugins.

== Screenshots ==

1. Aegisify Dashboard (suite overview and module toggles)
2. Suite Plugins page (suite management UI)

== Changelog ==

= 1.2.1-rev2 =
* Initialized a missing or malformed central AI connection to the licensed Aegisify Core → CLM → Gemini route so product AI calls no longer stop at an implicit disabled default.
* Preserved every valid administrator-selected mode, including an explicit Disable AI choice, during activation and upgrade repair.
* Added AI-setting provenance and an administrator notice explaining when Core initialized the hosted route and how to disable it explicitly.

= 1.1.26-rev2 =
* Restored a real administrator-driven Core-to-CLM status refresh for Aegisify product Check Status buttons while preserving the four-hour automatic cache.
* Separated local product PRO entitlement from hosted AI/SMTP service-token readiness so an active suite license unlocks installed products even when a hosted-service token must be renewed.
* Added bounded in-process REST dispatch for activate, deactivate, and status calls when Core and CLM run on the same WordPress site, with automatic HTTPS fallback if the local route is unavailable.
* Corrected the Core license panel so stale cache data cannot be displayed as a current active entitlement and added Check Status, cache age, transport, hosted-service, and Core-message diagnostics.
* Improved the four-hour cron scheduler so stale status or a missing service token can pull a far-future existing event forward instead of waiting for the old schedule.

= 1.1.26 =
* Deferred the four-hour license cron registration until WordPress init so plugin activation cannot invoke third-party cron callbacks and translations too early.
* Removed redundant global admin-menu ordering filters to reduce conflicts with Avada and other admin frameworks.
* Replaced raw admin-head style output with a WordPress-enqueued inline style and explicit core-style dependencies.
* Consolidated duplicated integration-directory activation code and removed repeated filesystem work from normal requests.

= 1.1.22 =
* Enforced paid or trial subscription entitlement for all Aegisify Core AI routes and the CLM-hosted SMTP service; an active free registration alone no longer unlocks hosted services.
* Dimmed and disabled both AI connection choices when no active subscription is detected, while keeping Disable AI available.
* Dimmed and disabled the CLM-hosted SMTP provider when no active subscription is detected; customer-managed SMTP providers remain available.
* Added server-side save enforcement so disabled hosted-service choices cannot be selected by bypassing the browser UI.
* Blocked hosted SMTP test sends when the subscription is inactive so WordPress mail fallback cannot produce a false hosted-service success message.
* Removed the legacy gray favicon asset and standardized the shared WordPress admin menu and compatible Aegisify toolbar icon on `favicon_white.png`.
* Added cache-busting to the shared admin favicon URL so browser caches do not preserve the previous icon after an upgrade.
* Expanded Aegisify News & Updates from two to the latest four articles and displays a readable article description for each item.
* Added a bounded, same-domain, cached meta-description fallback when an RSS item does not contain a readable summary.
* Prevented theme or page-builder CSS from appearing as article text in the Aegisify News & Updates dashboard widget.
* Preserved validated JSON-schema and JSON-object response contracts for customer-managed OpenAI-compatible AI connections.
* Preserved each product's bounded AI timeout on both Aegisify-hosted and customer-managed routes.
* Added explicit Core version reporting in the public service status contract and accepted direct structured JSON responses from customer endpoints without bypassing local product validation.

= 1.1.21 =
* Added bounded provider-neutral structured-output forwarding for product AI requests routed through Aegisify Core.
* Preserved the calling product version on Core-routed hosted SMTP requests for accurate service attribution.
* Preserved JSON schema response metadata for Aegisify SEO while keeping license validation, provider selection, and CLM transport inside Core.

= 1.1.20 =
* Hardened Core-to-CLM AI response handling against HTML/PHP output contamination.
* Added request-correlated in-band recovery using the CLM route marker and matching request ID.
* Preserved existing Gemini and customer-owned AI provider behavior.

= 1.1.19 =
* Repaired Core-to-CLM AI transport handling without changing the CLM Gemini provider implementation.
* Preserved WordPress's normal outbound HTTP User-Agent and moved Core service identity into explicit bounded headers.
* Added one safe fallback from the pretty `/wp-json/` route to WordPress's `rest_route` transport when CLM returns a non-JSON body.
* Added UTF-8 BOM tolerance and privacy-safe diagnostics for response type, content type, route, request ID, and response size.
* Kept valid JSON service rejections single-attempt and suppresses fallback when CLM marks that its AI route completed, reducing duplicate-provider risk.

= 1.1.18 =
* Added Aegisify → AI Settings as the single product-facing AI configuration authority.
* Added Use Aegisify AI for the licensed Core → CLM → Gemini route and Connect to your own AI for a licensed Core → customer endpoint route.
* Centralized customer endpoint, model, and authenticated-encrypted API-key storage in Core; product plugins no longer receive or store those credentials.
* Enforced license-first AI execution, bounded safe HTTP requests, normalized provider errors, and payload separation so customer endpoints receive no Core license or domain identity.
* Clarified the CLM-hosted SMTP service and preserved the separate customer-managed SMTP option without presenting either hosted service as a standalone Aegisify product.

= 1.1.17 =
* Added the first Core service broker for AI, SMTP, and licensing.
* Added initial Core-to-CLM response normalization and hosted SMTP relay support.
* Added an initial Core-brokered customer AI compatibility path.


= 1.0.6 =
* Admin dashboard and suite navigation
* Module toggles (enable/disable)
* Suite plugins page UI
* License/status framework

== Upgrade Notice ==

= 1.0.6 =
Recommended update for suite dashboard improvements and internal stability.
