— Odoo Cloud (the platform) —
CSA STAR Level 1
Odoo participates in the CSA Security Trust Assurance and Risk (STAR) Program.
View our answers to the CAIQv3.1 questionnaire
Backups / Disaster Recovery
- We maintain a history of 14 full backups of each Odoo database for at least 3 months: daily backups for 7 days, weekly backups for 4 weeks, and monthly backups for 3 months.
- Backups replicated in at least 3 different data centers.
- The actual locations of our data centers are specified in our Pravilnik o zasebnosti.
- You can also download manual backups of your live data at any time using the control panel.
- You can contact our Helpdesk to restore an available backup to your live database or to a separate database.
- Hardware failover: for services hosted on bare metal, where hardware failure is possible, we implement local hot standby replication, with monitoring and a manual failover procedure.
- Disaster recovery: we maintain disaster recovery procedures designed to restore Odoo Cloud services and customer data following major infrastructure failures or disasters. See our Cloud Service Level Agreement for more details and detailed Recovery Point Objectives (RPO) and Recovery Time Objectives (RTO).
Database Security
- Customer data is stored in a dedicated database and is not shared between customers.
- Data access controls isolate customer databases running on the same cluster, preventing access from one customer database to another.
Password Security
- Customer passwords are protected using industry-standard PBKDF2+SHA512 password hashing, with salting and key stretching over thousands of rounds.
- Odoo staff cannot access or retrieve your password. If a password is lost, it must be reset.
- Login credentials are always transmitted securely over HTTPS.
- Customer database administrators can configure the rate limiting and cooldown periods for repeated login attempts.
- Password policies: database administrators can enforce a minimum user password length. Other policies, such as required character classes, are not enabled by default because research has shown them to be counterproductive. See [Shay et al. 2016] and NIST SP 800-63b.
Staff Access
- Odoo Helpdesk staff may access your account when necessary to investigate a support issue. They use dedicated staff credentials rather than your password, which they cannot access.
- Dedicated staff access allows our teams to reproduce reported issues without requiring you to share your password, while enabling staff actions to be separately controlled and audited.
- Helpdesk staff limit their access to the data, files, and settings necessary to diagnose and resolve your issue.
System Security
- All Odoo Cloud servers are running hardened Linux distributions with up-to-date security patches.
- Server installations are purpose-built and minimal, reducing the number of services that could introduce vulnerabilities.
- Remote server administration is restricted to a small number of trusted Odoo engineers and protected with personal multi-factor credentials.
Physical Security
Odoo Cloud servers are hosted in trusted data centers across multiple regions. All hosting facilities must meet our physical security requirements, including:
- Restricted perimeters accessible only to authorized data center personnel.
- Physical access controls using security badges or biometric authentication.
- 24/7 security camera monitoring of data center facilities.
- 24/7 on-site security personnel.
Credit Card Safety
- We do not store credit card information on our systems.
- Credit card information is transmitted securely and directly to PCI-Compliant payment acquirers. See our Pravilnik o zasebnosti for the list of providers.
Data Encryption
Customer data is encrypted both in transit and at rest.- Communications with customer instances are protected using HTTPS with 256-bit SSL encryption.
- Internal communications between servers are protected with end-to-end encryption.
- Our servers are continuously monitored and kept up to date with patches for SSL vulnerabilities.
- Our SSL certificates use 2048-bit keys with full SHA-2 certificate chains. You can verify the SSL rating tukaj.
- Customer data, including database contents and stored files, is encrypted at rest with AES-256 in both production systems and backups.
Network defense
- Data centers providers used for Odoo Cloud operate high-capacity networks designed to withstand large volumes inluding most Denial of Service attacks. Automated and manual mitigation systems detect and divert attack traffic at the network edge before it can disrupt service availability.
- Firewalls and intrusion prevention systems on Odoo Cloud servers help detect and block threats such as brute-force password attacks.
- Customer database administrators can configure the rate limiting and cooldown duration for repeated login attempts or configure a CAPTCHA to mitigate automated brute-force attacks.
— Odoo (the software) —
Software Security
Odoo is open source, allowing its codebase to be continuously reviewed by users and contributors worldwide. Community reports are an important source of security feedback, and we encourage developers and security researchers to audit the code and report security issues.
Odoo R&D processes include code reviews that consider security aspects for both new and contributed code.
Secure by design
The Odoo framework is designed to prevent common classes of security vulnerabilities by default:
- SQL injection is prevented by a higher-level API that generally removes the need for manually constructed SQL queries.
- Cross-site scripting (XSS) is prevented by a high-level templating system that automatically escapes injected data.
- The framework prevents RPC access to private methods, reducing the risk of exposing exploitable functionality.
See the OWASP Top Vulnerabilities section for more information about the protections built into the Odoo framework.
Independent Security Audits
Odoo is regularly assessed by independent security companies engaged by our customers and prospects to conduct security audits and penetration tests. The Odoo Security Team reviews the findings and implements corrective measures where necessary.
We cannot disclose these assessment reports because they are confidential and belong to the organizations that commissioned them.
Odoo also works with an active community of independent security researchers who review our source code and help us continuously improve its security. Our security research and disclosure process is described on our Responsible Disclosure page.
OWASP Top Vulnerabilities
The following summarizes how Odoo addresses common web application security risks identified by the Open Web Application Security Project (OWASP):
-
Injection Flaws: Injection flaws occur when untrusted data is passed to an interpreter as part of a command or query, potentially causing unintended commands to be executed or data to be modified.
Odoo relies on an object-relational mapping (ORM) framework that abstracts query construction and prevents SQL injection by default. Developers do not normally need to construct SQL queries manually: queries are generated by the ORM and parameters are properly escaped.
-
Cross-Site Scripting (XSS): XSS vulnerabilities occur when untrusted content is included in a web page without appropriate escaping or encoding, potentially allowing an attacker to execute scripts in another user's browser.
The Odoo framework escapes expressions rendered into views and pages by default, preventing XSS in normal usage. Developers must explicitly mark expressions as safe before they can be included as raw content in rendered pages.
-
Cross-Site Request Forgery (CSRF): A CSRF attack attempts to make an authenticated user's browser submit an unauthorized request to a web application using the user's existing session.
The Odoo website engine includes built-in CSRF protection. HTTP controllers do not accept protected POST requests without the corresponding security token. The token is provided when the user legitimately accesses the relevant form and cannot be forged by an attacker.
-
Malicious File Execution: Remote file inclusion vulnerabilities can allow an attacker to load and execute hostile code or data on a server.
Odoo does not expose functionality for remote file inclusion. Privileged users can customize certain features using expressions evaluated by the system, but these expressions run in a sandboxed and sanitized environment with access limited to permitted functions.
-
Insecure Direct Object Reference: Direct object references expose identifiers for internal objects, such as records or files. They become a vulnerability when manipulating those identifiers allows unauthorized access.
Odoo access control is enforced independently of the user interface. Exposing references to internal objects in URLs therefore does not bypass authorization: every request must still pass through the data access validation layer.
-
Insecure Cryptographic Storage: Weak protection of stored credentials or sensitive data can expose users to unauthorized access, identity theft, and other forms of abuse.
Odoo uses industry-standard secure password hashing (PBKDF2 + SHA-512 with key stretching by default) to protect stored user passwords. External authentication systems such as OIDC/OAuth can also be used to avoid storing user passwords locally.
-
Insecure Communications: Sensitive information may be exposed when applications fail to appropriately encrypt network communications.
Odoo Cloud enforces HTTPS by default. For on-premise installations, we recommend running Odoo behind a web server that provides encryption and proxies requests to Odoo, such as Apache, Lighttpd, or nginx. The Odoo deployment guide includes a Security checklist for securing public deployments.
-
Failure to Restrict URL Access: Applications may expose sensitive functionality when authorization is enforced only by hiding links or URLs from unauthorized users.
Odoo does not rely on the user interface or hidden URLs for access control. Every request must pass through the data access validation layer, so manipulating or directly accessing a URL does not bypass authorization. Where a URL intentionally provides unauthenticated access to sensitive information, such as a customer order confirmation link, the URL is protected with a unique digitally signed token and sent only to the intended recipient.
Reporting Security Vulnerabilities
To report a security vulnerability, please use our responsible disclosure page. Security reports are treated with high priority and assessed by the Odoo Security Team. We work with reporters to investigate and remediate confirmed issues and, where appropriate, disclose them responsibly to Odoo customers and users.