-
+ {hasReadError ? (
+
+ ) : (
+ <>
+
-
+
-
+
- {/* v1.22 (#89) — per-user response timeout (mainly for slow
+ {/* v1.22 (#89) — per-user response timeout (mainly for slow
local/self-hosted backends). */}
-
+
- {/* Read uploaded vault documents automatically with AI (opt-in). */}
-
+ {/* Read uploaded vault documents automatically with AI (opt-in). */}
+
- {/* Use the operator's shared central Codex connection (opt-in; only
+ {/* Use the operator's shared central Codex connection (opt-in; only
renders when the operator has connected it). */}
-
+
- {/* The standing consent and the one control that withdraws it. It
+ {/* The standing consent and the one control that withdraws it. It
sits last because it governs everything above rather than
configuring any single provider. */}
-
+
-
- queryClient.invalidateQueries({
- queryKey: queryKeys.insightsRoot(),
- })
- }
- onPrivacyChanged={() =>
- queryClient.invalidateQueries({
- queryKey: queryKeys.insightsRoot(),
- })
- }
- />
+
+ queryClient.invalidateQueries({
+ queryKey: queryKeys.insightsRoot(),
+ })
+ }
+ onPrivacyChanged={() =>
+ queryClient.invalidateQueries({
+ queryKey: queryKeys.insightsRoot(),
+ })
+ }
+ />
- {/* v1.25 — the data-posture statement lives where the provider key is
+ {/* v1.25 — the data-posture statement lives where the provider key is
configured: self-hosted, data stays on this instance, BYOK / local
model, no third-party analytics. One calm line, not a banner. */}
-
+
+ >
+ )}
);