Odoo · Odoo-v19
What does activating Superuser mode do?
Options
It allows the user to bypass record rules and access rights.
📖 Core Concept
Superuser mode in Odoo is an advanced debugging and administrative feature that temporarily elevates a user's permissions to the highest possible level, effectively bypassing all security restrictions implemented through record rules and access control lists (ACLs). This mode is essential for system administrators and developers who need to diagnose permission-related issues, perform maintenance tasks, or access data that would otherwise be restricted by security configurations.
Security in Odoo is implemented through multiple layers including access rights, record rules, and field-level permissions. Access rights determine which groups can create, read, update, or delete records in specific models. Record rules apply conditions that filter which specific records within a model a user can access based on attributes like company ownership, user assignment, or department membership. These security layers protect data integrity and enforce business logic, but they can sometimes interfere with administrative operations.
Superuser mode exists specifically to address situations where security restrictions prevent legitimate administrative work. Rather than requiring administrators to temporarily modify security configurations or grant unnecessary permanent permissions, Superuser mode provides a controlled environment where all security checks are bypassed for diagnostic or maintenance purposes. This capability must be used judiciously, as it circumvents all protective mechanisms designed to enforce data segregation and access control.
🔍 Detailed Explanation
When Superuser mode is activated in Odoo, the system treats the current user as if they have unrestricted access to all data within the database, regardless of their assigned user groups, access rights, or record rule configurations. This means that operations performed in Superuser mode ignore the security domain filters that would normally restrict which records a user can view, modify, or delete.
Superuser mode is typically accessed through the Developer Mode interface, specifically through the debug menu that becomes available when Developer Mode is enabled. The feature is intentionally hidden from standard users and requires technical knowledge to access, ensuring that only qualified personnel can activate this powerful capability. When activated, Superuser mode applies only to the current browser session and does not permanently modify the user's security profile.
The primary use cases for Superuser mode include troubleshooting permission issues where administrators need to verify whether a problem stems from security configurations or from data integrity issues, performing bulk operations that need to span across company boundaries or security domains, and conducting database maintenance that requires access to system records normally restricted to internal operations. During Superuser mode, administrators can view and modify records that belong to other companies in multi-company setups, access records owned by other users that would normally be restricted, and modify system-level configurations that are protected by record rules.
It is crucial to understand that Superuser mode does not change the user's identity or authentication context. The user remains logged in as themselves and their actions are still audited under their user account. The mode simply removes the security filters that would normally be applied to queries and operations. This distinction is important for audit trails and accountability.
✅ Why the Correct Answer is Correct
Option B correctly identifies the fundamental behavior of Superuser mode: it bypasses record rules and access rights. This is the defining characteristic that distinguishes Superuser mode from other permission elevation mechanisms in Odoo. Record rules are the row-level security filters that restrict which specific records a user can access based on conditions like company ownership or user assignment. Access rights are the model-level permissions (create, read, write, delete) granted to groups. Superuser mode circumvents both layers entirely.
This bypass capability is what makes Superuser mode valuable for debugging. When an administrator cannot see a record that they believe should exist, activating Superuser mode allows them to verify whether the record exists but is hidden by a record rule, or whether it genuinely doesn't exist. It also enables administrators to perform cross-company operations in multi-company environments without needing to switch company contexts or temporarily modify record rules.
❌ Why the Other Options are Incorrect
Option A
This option confuses Superuser mode with user impersonation. Odoo does have a user impersonation feature (often called "Login as User" or accessed through the user management interface), but this is a separate capability from Superuser mode. Impersonation allows an administrator to log in as another user to see exactly what that user sees, including their specific access restrictions. Superuser mode, by contrast, keeps the current user's identity but removes all access restrictions. The two features serve different purposes: impersonation for user experience testing, Superuser mode for administrative debugging.
Option C
This option is partially true but imprecise. While Superuser mode does effectively grant administration-level access, describing it as "temporary Administration Access Rights" is misleading. Administration access rights typically refer to specific group memberships (like "Administration / Settings" group) that grant access to configuration menus and technical features. Superuser mode goes far beyond standard administration rights—it bypasses all record-level security, not just menu access. A user with standard administration rights but without Superuser mode would still be subject to record rules and multi-company restrictions. Superuser mode is a more powerful and dangerous capability that should not be equated with normal administrative privileges.
🔑 Key Terms
💡 Practical Example
Troubleshooting Missing Records
A sales manager reports that they cannot see a specific sales order that they know exists in the system. The order number is SO-2024-001234, and it was created by a colleague in a different sales team. The manager has the "Sales / User" access rights which should allow them to see all sales orders, but the order is not appearing in their list view or search results.
The system administrator suspects a record rule might be filtering out the order. To diagnose this, the administrator activates Developer Mode, opens the debug menu, and enables Superuser mode. They then search for SO-2024-001234 and immediately find the order. The order belongs to a different company in the multi-company setup, and a record rule was restricting visibility to orders within the user's current company context.
With this confirmation, the administrator can now adjust the record rule or instruct the manager on how to switch company context to access the order. Without Superuser mode, the administrator would have had to temporarily modify the record rule or ask the manager to test different company contexts, both of which are more disruptive and time-consuming approaches.
⚠️ Common Mistakes
- Confusing Superuser mode with user impersonation (Login as User feature)
- Believing Superuser mode changes the current user's identity or group memberships
- Using Superuser mode for routine operations instead of proper access right configuration
- Forgetting that Superuser mode is session-only and doesn't persist across logins
- Assuming Superuser mode bypasses all audit logging (actions are still logged under the user's account)
- Not realizing that Superuser mode requires Developer Mode to be activated first
- Using Superuser mode in production environments without proper change management procedures
- Confusing "Administration Access Rights" group membership with Superuser mode capabilities
🎯 Exam Tips
- Remember that Superuser mode bypasses BOTH record rules (row-level) AND access rights (model-level).
- Know that Superuser mode is accessed through the debug menu, which requires Developer Mode.
- Understand the difference between Superuser mode (bypass security) and user impersonation (view as another user).
- Recognize that Superuser mode is session-scoped and does not modify the user's permanent permissions.
- Be aware that Superuser mode is a debugging/administrative tool, not a standard operational feature.
- Know that actions performed in Superuser mode are still audited under the original user's account.