PluginProbe
xSpeed Cache: AI-Powered Performance Hub with MCP, Caching & CDN / 1.3.7
xSpeed Cache: AI-Powered Performance Hub with MCP, Caching & CDN v1.3.7
1.3.7 1.3.6 1.3.5 1.3.4 1.3.3 1.3.2 1.3.1 1.3.0 1.2.4 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 All 33 releases
← All changes | includes/modules/AIPrivacy/AIPrivacyModule.php +18 -6 1.0.7 → 1.3.7 View file →
@@ -45,27 +45,38 @@
45 45 public const CONSENT_COOKIE = 'xspeed_ai_consent';
46 46
47 47 public function ui_metadata(): array {
48 48 return array(
49 - 'label' => 'AI Privacy',
49 + 'label' => __( 'AI Privacy', 'xspeed' ),
50 50 'icon' => 'Shield',
51 - 'description' => 'Govern whether AI-powered features (Pro) may collect data from your visitors. The off-switch is here in Free because privacy is a fundamental right, not a paid feature.',
51 + 'description' => __( 'Choose whether AI features may use visitor data, with or without Pro.', 'xspeed' ),
52 + 'group' => 'ai-agents',
52 53 );
53 54 }
54 55
56 + /**
57 + * @inheritDoc
58 + *
59 + * OFF here would mean asking for less consent than the user configured, which
60 + * is the one direction this profile must never move.
61 + */
62 + public function conflict_safe_exempt(): array {
63 + return array( 'gdpr_consent_required' );
64 + }
65 +
55 66 public function settings_schema(): array {
56 67 return array(
57 68 'gdpr_consent_required' => array(
58 69 'type' => 'bool',
59 70 'default' => true,
60 - 'label' => 'Require consent before AI data collection',
61 - 'description' => 'When ON, AI-powered features only record data after a visitor accepts the consent banner. When OFF, they collect from every visitor — only legal in regions without GDPR-style consent rules. The setting applies even if Pro is not installed (so a later Pro upgrade respects whichever choice you made).',
71 + 'label' => __( 'Ask visitors for consent', 'xspeed' ),
72 + 'description' => __( 'When on, AI features only record a visitor\'s data after they accept the consent banner. Turn it off only where the law does not require consent, as GDPR does.', 'xspeed' ),
62 73 ),
63 74 'consent_banner_text' => array(
64 75 'type' => 'string',
65 76 'default' => 'We collect anonymized navigation and performance data to make this site faster. Accept to help us optimize your experience.',
66 - 'label' => 'Consent banner text',
67 - 'description' => 'Shown in the cookie consent banner. Keep it factual — what you collect (page navigation, performance metrics) and why.',
77 + 'label' => __( 'Consent banner text', 'xspeed' ),
78 + 'description' => __( 'The text of the consent banner. Say plainly what you collect, such as page visits and speed data, and why.', 'xspeed' ),
68 79 ),
69 80 );
70 81 }
71 82
@@ -101,8 +112,9 @@
101 112 array(
102 113 'name' => 'xspeed ai-privacy',
103 114 'callback' => array( $this, 'cli_handler' ),
104 115 'shortdesc' => 'Show whether AI data collection is allowed for the current request context (CLI = no cookie).',
116 + 'ai_hint' => 'May xSpeed send this site\'s data to an AI provider? Check before invoking any AI-backed feature — it reports the user\'s opt-in state, not a setting to change casually.',
105 117 'synopsis' => array(),
106 118 ),
107 119 );
108 120 }