## Goal Expand OpenMindAI from Google Workspace + GitHub into a broader user-controlled connector ecosystem while preserving local/offline-first AI behavior. ## Built-in connectors - [ ] Microsoft 365 via Microsoft Graph: account, Outlook mail, OneDrive, Calendar, Contacts - [ ] Slack: workspace/account, channels, history, search, send/update/delete messages - [ ] Notion: workspace/account, search, pages/blocks, data sources, comments, create/update content - [ ] Dropbox: account, list/search/download/upload/move/delete files ## Generic connector layer - [ ] MCP over Streamable HTTP / HTTP JSON-RPC - [ ] Secure optional bearer token storage - [ ] tools/list discovery - [ ] tools/call execution - [ ] Explicit user approval before MCP tool calls marked or treated as remote writes - [ ] Request/result size and timeout bounds ## Security / UX - [ ] Secrets/tokens stay in OS credential store, never SQLite/plain files/chat history - [ ] Least-privilege setup guidance - [ ] Provider status/connect/disconnect UI in Settings → Connections - [ ] Provider/action selection in Connected Work - [ ] Existing Google/GitHub behavior unchanged - [ ] Offline local AI remains functional ## Quality gates - [ ] Unit/regression tests - [ ] Frontend lint/build - [ ] Rust fmt/Clippy/tests on Windows/macOS/Linux - [ ] Windows Tauri application build - [ ] Dependency audit + CodeQL ## Manual trust gates - [ ] Real Microsoft Entra app/account live test - [ ] Real Slack token/workspace live test - [ ] Real Notion connection/workspace live test - [ ] Real Dropbox app/account live test - [ ] Real remote MCP server live test External service registration/approval remains a user/admin/provider step and must not be represented as completed by CI alone.
Goal
Expand OpenMindAI from Google Workspace + GitHub into a broader user-controlled connector ecosystem while preserving local/offline-first AI behavior.
Built-in connectors
Generic connector layer
Security / UX
Quality gates
Manual trust gates
External service registration/approval remains a user/admin/provider step and must not be represented as completed by CI alone.