Each workspace is walled off
Your account is its own tenant. Conversations, trained documents, usage, and settings belong to that workspace. Someone signed into another workspace cannot open yours. The API refuses the request.
Security
doo.mcp runs the agents. Your store, your Odoo records, and the files you train stay yours. This page is how that is enforced.
Your account is its own tenant. Conversations, trained documents, usage, and settings belong to that workspace. Someone signed into another workspace cannot open yours. The API refuses the request.
Odoo connection secrets and WhatsApp tokens are encrypted before they are written to the database, and decrypted only when a tool has to call your system.
The Odoo Agent acts as the employee who asked. That person's access rights and record rules apply. Password fields, API keys, mail servers, access rules, and security groups are blocked even if that user could open the form in Odoo.
The eCommerce Agent can open your cart, checkout, and payment pages. The shopper pays on your store or your payment provider. doo.mcp does not collect the card. Subscriptions for the platform itself are billed in Stripe.
The chatbot is trained on the pages, text, and files you choose. It answers from that material. It does not receive a standing login to the rest of your company.
The Notetaker reads captions in the meeting tab you already have open. No bot joins the call. Audio and video are not uploaded. The transcript is stored on your workspace.
A single request
A shopper message, a staff question, or a tool call from Cursor follows the same boundary. The workspace is fixed first. Permissions are checked before any write.
Website chat uses your widget key. MCP and REST clients use your workspace key. People in the dashboard are signed in.
From that point the call runs inside one workspace. It cannot switch to another customer's data mid-request.
Catalog, cart, and record tools run with the Odoo user or API key you connected. Where that user is blocked in Odoo, the agent is blocked too.
Requests for passwords, secrets, access rules, and security groups are rejected by the platform before they are sent to Odoo.
The reply, and the history it belongs to, stay on the workspace that asked.
Replies on doo.mcp channels can be written by a model provider we operate through, such as OpenAI, Anthropic, or Gemini. The prompt for that reply is sent to that provider so the answer can be generated.
If your team connects Claude or Cursor over MCP, that tool uses its own model. We authenticate the key and run the tools. We do not bill you for that model.
The MCP key and the website widget key are how channels prove they belong to your workspace. Treat them like passwords. If one is exposed, rotate it from the workspace. The previous key stops working immediately, and connected clients need the new one.
You own your store content and your Odoo data. We use it only to run the service you turned on.