diff --git a/neode-ui/src/stores/aiPermissions.ts b/neode-ui/src/stores/aiPermissions.ts
index 85c35109..f94cb577 100644
--- a/neode-ui/src/stores/aiPermissions.ts
+++ b/neode-ui/src/stores/aiPermissions.ts
@@ -10,6 +10,12 @@ export interface AIPermissionCategory {
description: string
icon: string
group: string
+ /** True when the assistant can SEE this data but has no tools to act on it.
+ * Five categories (wallet, files, search, ai-local, notes) currently have a
+ * context arm and zero tools — the toggle copy must say so, or Settings
+ * implies actions that do not exist (operator decision, 2026-08-09). Remove
+ * per-category as real tools land. */
+ contextOnly?: boolean
}
export const AI_PERMISSION_CATEGORIES: AIPermissionCategory[] = [
@@ -50,6 +56,7 @@ export const AI_PERMISSION_CATEGORIES: AIPermissionCategory[] = [
},
{
id: 'files',
+ contextOnly: true,
label: 'File Names',
description: 'Folder and file names in Cloud — no file contents',
icon: 'M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z',
@@ -57,6 +64,7 @@ export const AI_PERMISSION_CATEGORIES: AIPermissionCategory[] = [
},
{
id: 'notes',
+ contextOnly: true,
label: 'Documents & Notes',
description: 'Document and note titles — no contents',
icon: 'M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z',
@@ -64,6 +72,7 @@ export const AI_PERMISSION_CATEGORIES: AIPermissionCategory[] = [
},
{
id: 'search',
+ contextOnly: true,
label: 'Web Search',
description: 'Web search via your private SearXNG instance',
icon: 'M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z',
@@ -71,6 +80,7 @@ export const AI_PERMISSION_CATEGORIES: AIPermissionCategory[] = [
},
{
id: 'ai-local',
+ contextOnly: true,
label: 'Local AI Models',
description: 'Local AI models via Ollama — model names and availability',
icon: 'M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z',
@@ -78,6 +88,7 @@ export const AI_PERMISSION_CATEGORIES: AIPermissionCategory[] = [
},
{
id: 'wallet',
+ contextOnly: true,
label: 'Wallet Overview',
description: 'Balance, channel count — no private keys, seeds, or addresses',
icon: 'M17 9V7a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2m2 4h10a2 2 0 002-2v-6a2 2 0 00-2-2H9a2 2 0 00-2 2v6a2 2 0 002 2zm7-5a2 2 0 11-4 0 2 2 0 014 0z',
diff --git a/neode-ui/src/views/settings/AIDataAccessSection.vue b/neode-ui/src/views/settings/AIDataAccessSection.vue
index 90b7fffb..c0fb254d 100644
--- a/neode-ui/src/views/settings/AIDataAccessSection.vue
+++ b/neode-ui/src/views/settings/AIDataAccessSection.vue
@@ -61,8 +61,14 @@ const aiCategoryGroups = computed(() => {
{{ cat.label }}
-{{ cat.description }}
+{{ cat.label }}
+ + context only +{{ cat.description }} — the assistant can see this but can't take actions with it yet