Architecture boundaries, OAuth, encryption, audit, write gates, and how to report issues for the hosted beta.

Security — ERPipe trust center

The Short Answer

ERPipe does need an Odoo URL, database name, username, and password or API key to make authorized calls to the instance you choose. The important boundary is what happens next: the secret is validated against that Odoo instance, encrypted before database storage, and decrypted only inside ERPipe when a tool call needs to reach Odoo.

Your AI agent or MCP client receives scoped tools and authorized Odoo results. It does not receive the stored Odoo password or API key.

Our Security Commitments

How Your Odoo Credential Is Handled

StageWhat ERPipe does
SubmissionReceives the credential over HTTPS and rejects URL user information, localhost, private IP targets, and non-HTTPS Odoo endpoints.
PreflightUses the credential to authenticate only against the public Odoo endpoint you selected before saving the connection.
StorageEncrypts the credential with AES-256-GCM using a per-workspace data key wrapped by a master key. Authenticated context binds the ciphertext to its workspace, connection, and key version.
Tool callResolves the workspace-owned connection again, revalidates its destination, and decrypts the credential server-side only when Odoo must be called.
AI responseReturns authorized tool results, not the stored Odoo credential.
Rotation or deletionLets the owner replace the credential or remove the connection. Connection deletion removes the encrypted credential and its connection-level policies.

Access Is Narrow by Default

Network and Abuse Boundaries

ERPipe accepts only HTTPS Odoo endpoints. It blocks URL credentials, localhost, IP-literal targets, and DNS results that are not globally routable public addresses. The destination is checked again when an Odoo-bound tool runs, so a saved hostname cannot bypass the network boundary later.

ERPipe currently runs on Cloudflare Workers, D1, KV, Durable Objects, Turnstile, and Cloudflare Email Service. Cloudflare documents encryption at rest for D1 and TLS for data in transit in its D1 data security documentation. Workspace session limits, per-connection tool-call budgets, and Turnstile add abuse controls. See the subprocessor list for the current provider inventory.

Your Control and Exit

You can pause a connection immediately, rotate its Odoo credential, or delete the connection. A workspace deletion request disables the workspace immediately, signs out active browser sessions, and schedules deletion after a 30-day recovery window.

For data categories, retention, deletion, and provider terms, read the Privacy Notice, Data Processing Addendum, and Subprocessors.

The Safest Setup We Recommend

These steps follow the least-privilege and secret-lifecycle principles in the OWASP Secrets Management Cheat Sheet. ERPipe's OAuth controls are designed around the current OAuth 2.0 Security Best Current Practice.

What We Do Not Claim

No internet service can honestly promise that a breach is impossible. ERPipe is currently a free beta: it has no uptime SLA, no dedicated data-residency commitment, and no ERPipe-specific security certification. We will not represent those controls as certifications until they are independently established.

Security is shared responsibility. You remain responsible for Odoo permissions, backups, record rules, user lifecycle, and deciding which business data an authorized AI or MCP client may access.

Report a Security Issue

Send a concise description and reproduction details to hello@erpipe.com. Do not include live credentials, access tokens, or customer data in the first message. We will acknowledge actionable reports and coordinate a safe verification path.

Last updated: 2026-07-22

Open the full page