Security overview
Security controls for XData’s MCP service.
Authentication
Connectors use OAuth 2.1; headless clients use bearer API keys. Browser sessions are signed after OAuth. Admin actions require an account-specific role, never a shared browser secret. Corpus reads require an authenticated session or valid API key during the private preview.
Data boundaries
Approved accounts share a research corpus. We retain source text, figures, and metadata. Transcription can run through cloud providers or on our hardware; temporary audio is cleaned up after processing. Ingestion requests are associated with their requesting account for status and demand tracking. See the privacy notice for data flows.
Local processing
A local agent handles sources that require local processing. Its cloud endpoints require an operator-managed token; without it, they return not-found. Source access remains subject to publisher rights and restrictions.
Operational controls
Managed Postgres stores research data and the durable job queue. Admin database access is IP-restricted. API keys are hashed and revocable. Ingestion requires a separate permission. Non-admin accounts can inspect only jobs associated with their requests. ChatGPT and Codex job-status responses omit raw provider errors and worker diagnostics.
Reporting
Report vulnerabilities or abuse via support page or security.txt.