Security

How ERPeek protects your Odoo

Every interaction between the AI agent and your live Odoo passes through a mandatory security gateway. Here's exactly how it works, no hand-waving.

The MCP security gateway

The ERPeek MCP Gateway is a dedicated service that sits between the AI agent and your Odoo instance. Every data query and every write goes through it - there is no fallback and no direct XML-RPC access. The only other access is a read-only, audit-logged browser view the agent can use to look at Odoo screens the way you do; it can never modify anything.

Every request is inspected against your project's write policy before it reaches Odoo. If the gateway is unavailable, operations fail closed, they don't fall through to an unprotected path.

Per-project write policies

You control exactly what the agent can do in your Odoo, on a per-project basis. The default is the most secure option: read-only.

Read-only (default)

The agent can read records but cannot create, update, or delete anything. Zero write risk.

Granular write access

Enable create, update, or delete individually. Restrict to specific models (e.g., only sale.order and res.partner). Set batch limits (max records per write, max operations per batch).

Sensitive and system scopes

Access to user/accounting/HR records and system configuration models (ir.*, base.*) requires separate, explicit opt-in, they are off by default.

The hard floor

Some operations are always blocked, regardless of your write policy. No setting can unlock them.

OperationStatus
sudo() / elevated privilegeAlways blocked
Raw SQL (execute_kw, _sql)Always blocked
Module uninstallAlways blocked
Dunder methods (__*)Always blocked

Module install/upgrade is available as a separate opt-in in project settings, clearly labeled as highest-risk.


Credential security

  • Odoo credentials are encrypted at rest using AES-256-GCM
  • Credentials are never written to logs or error messages
  • Credentials are never sent to the LLM, the agent sees only the data it retrieves, not how it authenticated
  • Connections to your Odoo are encrypted with TLS when your instance is served over HTTPS, which we strongly recommend

Monitoring and fail-safe

  • Gateway health is checked every 5 minutes with a full protocol-level probe
  • Consecutive failures trigger an automatic alert (Sentry, fatal level)
  • Docker auto-restart ensures the gateway recovers from crashes
  • If the gateway is unreachable, all live-Odoo operations fail closed

Data handling and compliance

Security is one piece of the picture. For the full details on data residency, retention windows, secret handling, audit trails, and deletion flow, see our dedicated documentation: