OdooWiki OCA HUB

Suspend security

base_suspend_security folder_open OCA/server-backend open_in_new
Hidden/Dependency License: AGPL-3

This module was written to allow you to call code with some uid while being sure no security checks (ir.model.access and ir.rule) are done. In this way, it's the same as sudo(), but the crucial difference is that the code still runs with the original user id. This can be important for inherited code that calls workflow functions, subscribes the current user to some object, etc.

Usually, you'll be in in the situation to want something like this if you inherit from a module you can't or don't want to change, and call super().

auto_awesome What this module does

AI-generated from the code · Odoo 12.0

This module lets developers run Odoo code without access rights and record rules being checked, while keeping the original user as the author of the changes. It is a technical helper used by other modules, not a screen users work with.

This is a hidden technical module. It does not add menus, buttons or reports; it changes how Odoo behaves internally when other code asks for it.

  • It adds a way to temporarily switch off security checks (access rights and record rules) during a call, so the code can read or write records the current user would normally not be allowed to touch.
  • Unlike the standard superuser mode, the operation still runs under the original user, so records created or updated keep that user as their author.
  • While security is suspended, access-right checks always pass and record-rule filters return no restriction, meaning all records of the model are visible for that call.
  • It also adjusts how user records are looked up so that the special suspended user identifier is handled correctly.

It touches the core base model, the access-rights model ir.model.access, the record-rules model ir.rule and res.users. Because it is a dependency module, its effect is only visible when another installed module uses it; on its own it changes nothing for everyday users.

Depends on

base
Models and fields (3)
  • base · extends an existing model
  • ir.rule · extends an existing model
  • ir.model.access · extends an existing model

Text generated by AI (DeepSeek) from reading the Odoo 12.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 1 confirmed, 8 with no information of 9 versions.

Sources · Odoo 12.0

Confirmed on 2026-11-03 in branch 12.0 of OCA/server-backend.

terminal Installation and usage

OCA documentation · Odoo 12.0

This version is only valid for being used since Odoo commit dcc752aaabc10aee8bbccc1474b43d224b57023c (merged on 2019-02-20).

To use this module, you need to:

  • depend on this module
  • call yourmodel.suspend_security().function_to_run(), just the same as you would use sudo()

For further information, please visit:

  • https://www.odoo.com/forum/help-1

No verified information in OCA: Configuration.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.