Vault - Share

vault_share
REPOSITORY
REPOSITORYOCA/server-auth
GIT
GIThttps://github.com/OCA/server-auth.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-auth/tree/18.0/vault_share
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYVault
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), initOS GmbH
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), initOS GmbH
COMMITTERS
COMMITTERSOCA-git-bot, oca-ci, CarlosRoca13
WEBSITE
WEBSITEhttps://github.com/OCA/server-auth
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:10
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/server-auth:
    - vault
odoo/odoo:
    - base_setup
    - base
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module implements possibilities to share specific secrets with
external users. This bases on the vault implementation and the generated
RSA key pair.

## Share

This allows an user to share a secret with external users. A share can
be generated from a vault entry or directly created by an user. The
secret is symmetrically encrypted by a key derived from a pin. To grant
access the user has to transmit the link and pin with the external. If
either the access counter reaches 0 or the share expires it will be
deleted automatically. Due to the usage of a numeric pin and the browser
side decryption a share is vulnerable to brute-force attacks and
shouldn't be used as a permanent storage for secrets. For long time uses
the user should create an account and a vault should be used.

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
res_config_settings_view_form res.config.settings.view.form res.config.settings setting Inherits vault.res_config_settings_view_form
share share ir.ui.view qweb New
view_vault_share_form vault.share form New
view_vault_share_tree vault.share list New
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (4)

New fields (1)
  • vault_share_delay Integer
    default=0
Public methods (0)

No public methods.

New fields (1)
  • vault_share_delay Integer
    help='Delays the deletion of a share. After the expiration date it continues to stay inaccessible' readonly=False related='company_id.vault_share_delay' string='Delayed Deletion'
Public methods (0)

No public methods.

New fields (14)
  • accesses Integer
    default=5 help='Specifies how often a share can be accessed before deletion.' args: 'Access counter'
  • expiration Datetime
    default=<expr> help='Specifies how long a share can be accessed until deletion.'
  • filename Char
  • iterations Integer
  • iv Char
    required=True
  • log_ids One2many → vault.share.log
    readonly=True args: 'vault.share.log', 'share_id', 'Log'
  • name Char
    required=True
  • pin Char
    help='The pin needed to decrypt the share.' required=True
  • salt Char
    required=True
  • secret Char
  • secret_file Char
  • share_link Char
    compute='_compute_url' help='Using this link and pin people can access the secret.' store=False args: 'Share URL'
  • token Char
    default=<expr> readonly=True required=True
  • user_id Many2one → res.users
    default=<expr> args: 'res.users'
Public methods (3)
  • clean(self)
    @api.model
  • create(self, vals_list)
    @api.model_create_multi
  • get(self, token, ip=None)
    @api.model

New fields (2)
  • name Char
    readonly=True
  • share_id Many2one → vault.share
    ondelete='cascade' readonly=True required=True args: 'vault.share'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/server-auth
GIT
GIThttps://github.com/OCA/server-auth.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-auth/tree/16.0/vault_share
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYVault
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), initOS GmbH
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), initOS GmbH
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, fkantelberg, Carlos Roca
WEBSITE
WEBSITEhttps://github.com/OCA/server-auth
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:43
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/server-auth:
    - vault
odoo/odoo:
    - base_setup
    - base
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
res_config_settings_view_form res.config.settings.view.form res.config.settings div Inherits vault.res_config_settings_view_form
share share ir.ui.view qweb New
view_vault_share_form vault.share form New
view_vault_share_tree vault.share tree New
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (4)

New fields (1)
  • vault_share_delay Integer
    default=0
Public methods (0)

No public methods.

New fields (1)
  • vault_share_delay Integer
    help='Delays the deletion of a share. After the expiration date it continues to stay inaccessible' readonly=False related='company_id.vault_share_delay' string='Delayed Deletion'
Public methods (0)

No public methods.

New fields (14)
  • accesses Integer
    default=5 help='Specifies how often a share can be accessed before deletion.' args: 'Access counter'
  • expiration Datetime
    default=<expr> help='Specifies how long a share can be accessed until deletion.'
  • filename Char
  • iterations Integer
  • iv Char
    required=True
  • log_ids One2many → vault.share.log
    readonly=True args: 'vault.share.log', 'share_id', 'Log'
  • name Char
    required=True
  • pin Char
    help='The pin needed to decrypt the share.' required=True
  • salt Char
    required=True
  • secret Char
  • secret_file Char
  • share_link Char
    compute='_compute_url' help='Using this link and pin people can access the secret.' store=False args: 'Share URL'
  • token Char
    default=<expr> readonly=True required=True
  • user_id Many2one → res.users
    default=<expr> args: 'res.users'
Public methods (3)
  • clean(self)
    @api.model
  • create(self, vals_list)
    @api.model_create_multi
  • get(self, token, ip=None)
    @api.model

New fields (2)
  • name Char
    readonly=True
  • share_id Many2one → vault.share
    ondelete='cascade' readonly=True required=True args: 'vault.share'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/server-auth
GIT
GIThttps://github.com/OCA/server-auth.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-auth/tree/15.0/vault_share
VERSION
VERSION 1.1.1
CATEGORY
CATEGORYVault
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), initOS GmbH
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), initOS GmbH
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, fkantelberg, Carlos Roca
WEBSITE
WEBSITEhttps://github.com/OCA/server-auth
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:32
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/server-auth:
    - vault
odoo/odoo:
    - base_setup
    - base
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
res_config_settings_view_form res.config.settings.view.form res.config.settings div Inherits vault.res_config_settings_view_form
share share ir.ui.view qweb New
view_vault_share_form vault.share form New
view_vault_share_tree vault.share tree New
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (4)

New fields (1)
  • vault_share_delay Integer
    default=0
Public methods (0)

No public methods.

New fields (1)
  • vault_share_delay Integer
    help='Delays the deletion of a share. After the expiration date it continues to stay inaccessible' readonly=False related='company_id.vault_share_delay' string='Delayed Deletion'
Public methods (0)

No public methods.

New fields (13)
  • accesses Integer
    default=5 help='Specifies how often a share can be accessed before deletion.' args: 'Access counter'
  • expiration Datetime
    default=<expr> help='Specifies how long a share can be accessed until deletion.'
  • filename Char
  • iv Char
    required=True
  • log_ids One2many → vault.share.log
    readonly=True args: 'vault.share.log', 'share_id', 'Log'
  • name Char
    required=True
  • pin Char
    help='The pin needed to decrypt the share.' required=True
  • salt Char
    required=True
  • secret Char
  • secret_file Char
  • share_link Char
    compute='_compute_url' help='Using this link and pin people can access the secret.' store=False args: 'Share URL'
  • token Char
    default=<expr> readonly=True required=True
  • user_id Many2one → res.users
    default=<expr> args: 'res.users'
Public methods (3)
  • clean(self)
    @api.model
  • create(self, vals)
    @api.model
  • get(self, token, ip=None)
    @api.model

New fields (2)
  • name Char
    readonly=True
  • share_id Many2one → vault.share
    ondelete='cascade' readonly=True required=True args: 'vault.share'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/server-auth
GIT
GIThttps://github.com/OCA/server-auth.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-auth/tree/14.0/vault_share
VERSION
VERSION 1.2.1
CATEGORY
CATEGORYVault
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), initOS GmbH
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), initOS GmbH
COMMITTERS
COMMITTERSVíctor Martínez, oca-travis, Weblate, OCA-git-bot, oca-ci, fkantelberg, Carlos Roca
WEBSITE
WEBSITEhttps://github.com/OCA/server-auth
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:55
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/server-auth:
    - vault
odoo/odoo:
    - base_setup
    - base
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
assets_backend assets_backend ir.ui.view qweb Inherits web.assets_backend
res_config_settings_view_form res.config.settings.view.form res.config.settings div Inherits vault.res_config_settings_view_form
share share ir.ui.view qweb New
share_frontend share_frontend ir.ui.view qweb New
view_vault_share_form vault.share form New
view_vault_share_tree vault.share tree New
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (4)

New fields (1)
  • vault_share_delay Integer
    default=0
Public methods (0)

No public methods.

New fields (1)
  • vault_share_delay Integer
    help='Delays the deletion of a share. After the expiration date it continues to stay inaccessible' readonly=False related='company_id.vault_share_delay' string='Delayed Deletion'
Public methods (0)

No public methods.

New fields (13)
  • accesses Integer
    default=5 help='Specifies how often a share can be accessed before deletion.' args: 'Access counter'
  • expiration Datetime
    default=<expr> help='Specifies how long a share can be accessed until deletion.'
  • filename Char
  • iv Char
    required=True
  • log_ids One2many → vault.share.log
    readonly=True args: 'vault.share.log', 'share_id', 'Log'
  • name Char
    required=True
  • pin Char
    help='The pin needed to decrypt the share.' required=True
  • salt Char
    required=True
  • secret Char
  • secret_file Char
  • share_link Char
    compute='_compute_url' help='Using this link and pin people can access the secret.' store=False args: 'Share URL'
  • token Char
    default=<expr> readonly=True required=True
  • user_id Many2one → res.users
    default=<expr> args: 'res.users'
Public methods (3)
  • clean(self)
    @api.model
  • create(self, vals)
    @api.model
  • get(self, token, ip=None)
    @api.model

New fields (2)
  • name Char
    readonly=True
  • share_id Many2one → vault.share
    ondelete='cascade' readonly=True required=True args: 'vault.share'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/server-auth
GIT
GIThttps://github.com/OCA/server-auth.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-auth/tree/13.0/vault_share
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYVault
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), initOS GmbH
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), initOS GmbH
COMMITTERS
COMMITTERSOCA Transbot, Weblate, OCA-git-bot, oca-ci, Carlos Roca, CarlosRoca13
WEBSITE
WEBSITEhttps://github.com/OCA/server-auth
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:11
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/server-auth:
    - vault
odoo/odoo:
    - base_setup
    - base
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
assets_backend assets_backend ir.ui.view qweb Inherits web.assets_backend
res_config_settings_view_form res.config.settings.view.form res.config.settings div Inherits vault.res_config_settings_view_form
share share ir.ui.view qweb New
share_frontend share_frontend ir.ui.view qweb New
view_vault_share_form vault.share form New
view_vault_share_tree vault.share tree New
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (4)

New fields (1)
  • vault_share_delay Integer
    default=0
Public methods (0)

No public methods.

New fields (1)
  • vault_share_delay Integer
    help='Delays the deletion of a share. After the expiration date it continues to stay inaccessible' readonly=False related='company_id.vault_share_delay' string='Delayed Deletion'
Public methods (0)

No public methods.

New fields (13)
  • accesses Integer
    default=5 help='Specifies how often a share can be accessed before deletion.' args: 'Access counter'
  • expiration Datetime
    default=<expr> help='Specifies how long a share can be accessed until deletion.'
  • filename Char
  • iv Char
    required=True
  • log_ids One2many → vault.share.log
    readonly=True args: 'vault.share.log', 'share_id', 'Log'
  • name Char
    required=True
  • pin Char
    help='The pin needed to decrypt the share.' required=True
  • salt Char
    required=True
  • secret Char
  • secret_file Char
  • share_link Char
    compute='_compute_url' help='Using this link and pin people can access the secret.' store=False args: 'Share URL'
  • token Char
    default=<expr> readonly=True required=True
  • user_id Many2one → res.users
    default=<expr> args: 'res.users'
Public methods (3)
  • clean(self)
    @api.model
  • create(self, vals)
    @api.model
  • get(self, token, ip=None)
    @api.model

New fields (2)
  • name Char
    readonly=True
  • share_id Many2one → vault.share
    ondelete='cascade' readonly=True required=True args: 'vault.share'
Public methods (0)

No public methods.